More

    Tổng quan về phân tích trên BigQuery

    Tài liệu này mô tả cách BigQuery xử lý các truy vấn và cung cấp cái nhìn tổng quan về một số tính năng hữu ích cho phân tích dữ liệu.

    BigQuery được tối ưu hóa để thực hiện các truy vấn phân tích trên các tập dữ liệu lớn, bao gồm cả hàng terabytes dữ liệu trong vài giây và petabytes trong vài phút. Hiểu rõ khả năng của nó và cách nó xử lý truy vấn có thể giúp bạn tối đa hóa đầu tư phân tích dữ liệu của mình.

    Các quy trình phân tích

    BigQuery hỗ trợ một số quy trình phân tích dữ liệu:

    • Ad hoc analysis. Phân tích tùy ý. BigQuery sử dụng GoogleSQL, ngôn ngữ SQL trong BigQuery, để hỗ trợ phân tích tùy ý. Bạn có thể thực hiện các truy vấn trong bảng điều khiển Google Cloud hoặc thông qua các công cụ của bên thứ ba tích hợp với BigQuery.
    • Geospatial analysis.  BigQuery sử dụng các loại dữ liệu địa lý và các chức năng địa lý trong GoogleSQL để cho phép bạn phân tích và trực quan hóa dữ liệu không gian địa lý. 
    • Machine learning. BigQuery ML sử dụng các truy vấn GoogleSQL để cho phép bạn tạo và thực thi các mô hình học máy trong BigQuery.
    • Business intelligence. BigQuery BI Engine là một dịch vụ phân tích nhanh trong bộ nhớ cho phép bạn xây dựng bảng điều khiển tương tác và báo cáo đa dạng mà không ảnh hưởng đến hiệu suất, khả năng mở rộng, bảo mật hoặc sự mới mẻ của dữ liệu.

    Các Truy vấn (Queries)

    Đơn vị phân tích chính trong BigQuery là truy vấn SQL. BigQuery có hai ngôn ngữ SQL: GoogleSQL và SQL cũ. GoogleSQL là ngôn ngữ ưu tiên. Nó hỗ trợ SQL:2011 và bao gồm các phần mở rộng hỗ trợ phân tích không gian địa lý hoặc học máy.

    Các phần sau mô tả cách BigQuery hỗ trợ và thực thi các truy vấn dữ liệu.

    Nguồn dữ liệu (Data sources)

    BigQuery cho phép bạn truy vấn các loại nguồn dữ liệu sau:

    • Data stored in BigQuery. Bạn có thể tải dữ liệu vào BigQuery để phân tích. Bạn cũng có thể tạo dữ liệu bằng cách sử dụng ngôn ngữ thao tác dữ liệu (DML) hoặc viết kết quả truy vấn vào một bảng. Bạn có thể truy vấn dữ liệu được lưu trữ tại các vị trí trong một khu vực hoặc đa vùng, nhưng bạn không thể chạy truy vấn trên nhiều vị trí khác nhau, ngay cả khi một trong số đó là vị trí trong một khu vực và vị trí khác là đa vùng chứa vị trí đơn trong đó. Để biết thêm thông tin, xem Vị trí, đặt chỗ và công việc.
    • External data. Bạn có thể truy vấn các nguồn dữ liệu ngoại部 khác nhau như các dịch vụ lưu trữ Google Cloud khác (như Cloud Storage) hoặc dịch vụ cơ sở dữ liệu (như Cloud Spanner hoặc Cloud SQL)
    • Multi-cloud data. Bạn có thể truy vấn dữ liệu được lưu trữ trên các đám mây công khai khác như AWS hoặc Azure. Để biết thông tin về cách thiết lập kết nối với Amazon S3 hoặc Azure blob storage.
    • Public datasets. Nếu bạn không có dữ liệu riêng, bạn có thể phân tích bất kỳ bộ dữ liệu nào có sẵn trên thị trường bộ dữ liệu công cộng.

    Công việc truy vấn (Query jobs)

    Công việc là những hoạt động mà BigQuery thực hiện thay bạn để tải dữ liệu, xuất dữ liệu, truy vấn dữ liệu hoặc sao chép dữ liệu.

    Khi bạn sử dụng bảng điều khiển Google Cloud hoặc công cụ bq để thực hiện một trong những công việc này, một tài nguyên công việc sẽ được tự động tạo, lên lịch và thực thi. Bạn cũng có thể tạo một công việc tải, xuất, truy vấn hoặc sao chép theo cách lập trình. Khi bạn tạo một công việc theo cách lập trình, BigQuery sẽ lên lịch và thực thi công việc cho bạn.

    Bởi vì công việc có thể mất thời gian lâu để hoàn thành, chúng được thực hiện bất đồng bộ và có thể được kiểm tra trạng thái. Các hoạt động ngắn hơn, chẳng hạn như liệt kê tài nguyên hoặc lấy dữ liệu siêu dữ liệu, không được quản lý bởi tài nguyên công việc.

    Các loại truy vấn

    Sau khi bạn tải dữ liệu vào BigQuery, bạn có thể truy vấn dữ liệu bằng cách sử dụng một trong các loại công việc truy vấn sau đây:

    • Interactive query jobs. Mặc định, BigQuery thực hiện công việc truy vấn tương tác (theo yêu cầu) ngay khi có thể.
    • Batch query jobs. Với các công việc này, BigQuery đưa mỗi công việc truy vấn hàng loạt vào hàng đợi thay bạn, sau đó bắt đầu truy vấn khi tài nguyên không hoạt động có sẵn, thường trong vài phút.

    Bạn có thể thực hiện công việc truy vấn tương tác hoặc hàng loạt bằng cách sử dụng các phương pháp sau đây:

    • Soạn và chạy truy vấn trong bảng điều khiển Google Cloud.
    • Chạy lệnh truy vấn bq trong công cụ dòng lệnh bq.
    • Gọi theo cách lập trình phương thức jobs.query hoặc jobs.insert trong API REST BigQuery.
    • Sử dụng các thư viện khách hàng BigQuery.

    Lưu và chia sẻ truy vấn

    BigQuery cho phép bạn lưu truy vấn và chia sẻ chúng với người khác.

    Khi bạn lưu một truy vấn, nó có thể là riêng tư (chỉ bạn thấy), được chia sẻ ở mức dự án (có thể thấy bởi các nguyên tắc cụ thể) hoặc công khai (bất kỳ ai cũng có thể xem).

    Cách BigQuery xử lý truy vấn

    Có một số quá trình diễn ra khi BigQuery thực hiện một truy vấn:

    • Execution tree. Khi bạn chạy một truy vấn, BigQuery tạo ra một cây thực thi chia truy vấn thành các giai đoạn. Những giai đoạn này chứa các bước có thể chạy song song.
    • Shuffle tier. Các giai đoạn liên lạc với nhau bằng cách sử dụng một tầng sắp xếp phân tán nhanh chóng lưu trữ dữ liệu trung gian do các công nhân của một giai đoạn tạo ra. Khi có thể, tầng sắp xếp tận dụng các công nghệ như mạng petabit và RAM để nhanh chóng di chuyển dữ liệu đến các nút công nhân.
    • Query plan. Khi BigQuery có đủ thông tin cần thiết để chạy một truy vấn, nó tạo ra kế hoạch truy vấn. Bạn có thể xem kế hoạch này trong bảng điều khiển Google Cloud và sử dụng nó để khắc phục sự cố hoặc tối ưu hóa hiệu suất truy vấn.
    • Query monitoring and dynamic planning. Ngoài các công nhân thực hiện công việc của kế hoạch truy vấn chính, các công nhân bổ sung giám sát và điều hướng tiến trình công việc trên toàn hệ thống. Khi truy vấn tiến triển, BigQuery có thể điều chỉnh kế hoạch truy vấn động để thích ứng với kết quả của các giai đoạn khác nhau.
    • Query results. Khi một truy vấn hoàn tất, BigQuery ghi kết quả vào bộ nhớ lưu trữ và trả lại chúng cho người dùng. Thiết kế này cho phép BigQuery phục vụ kết quả được lưu trữ trong bộ nhớ đệm lần tiếp theo truy vấn được chạy.

    Đồng thời và hiệu suất truy vấn

    Hiệu suất của các truy vấn được chạy lặp đi lặp lại trên cùng dữ liệu đôi khi có thể thay đổi theo mili giây. Sự biến đổi về hiệu suất có thể xảy ra do tính chia sẻ của môi trường BigQuery, hoặc do BigQuery điều chỉnh kế hoạch truy vấn động trong khi truy vấn đang chạy. Trong một hệ thống bận rộn thông thường, nơi nhiều truy vấn chạy đồng thời, BigQuery sử dụng một số quy trình để làm mịn sự biến đổi về hiệu suất truy vấn:

    • BigQuery thực hiện nhiều truy vấn song song, vì vậy hiếm khi cần xếp hàng truy vấn.

    Trong các hệ thống bận rộn, hàng đợi là một nguồn chính gây ra hiệu suất khó dự đoán hơn vì không rõ truy vấn có thể ngồi trong hàng đợi bao lâu. Thời gian một truy vấn ở trong hàng đợi có thể phụ thuộc nhiều hơn vào các truy vấn khác đang chạy hoặc đang trong hàng đợi hơn là vào chất lượng của truy vấn chính nó.

    • Khi các truy vấn bắt đầu và kết thúc, BigQuery phân phối lại tài nguyên công bằng giữa các truy vấn mới và đang chạy. Quy trình này đảm bảo rằng hiệu suất truy vấn không phụ thuộc vào thứ tự mà các truy vấn được gửi, mà thay vào đó phụ thuộc vào số lượng truy vấn được chạy tại một thời điểm cho trước.

    Tối ưu hóa truy vấn

    Sau khi truy vấn hoàn tất, bạn có thể xem kế hoạch truy vấn trong bảng điều khiển Google Cloud. Bạn cũng có thể yêu cầu chi tiết thực thi bằng cách sử dụng các chế độ xem INFORMATION_SCHEMA.JOBS* hoặc phương thức jobs.get trong API REST.

    Kế hoạch truy vấn bao gồm chi tiết về các giai đoạn và bước truy vấn. Những chi tiết này có thể giúp bạn xác định cách cải thiện hiệu suất truy vấn. Ví dụ, nếu bạn nhận thấy một giai đoạn ghi ra nhiều dữ liệu đầu ra hơn so với các giai đoạn khác, điều đó có thể có nghĩa là bạn cần lọc sớm hơn trong truy vấn.

    Để biết thêm thông tin về kế hoạch truy vấn và tối ưu hóa truy vấn, xem các tài liệu sau:

    • Để tìm hiểu thêm về kế hoạch truy vấn và xem các ví dụ về cách thông tin kế hoạch có thể giúp bạn cải thiện hiệu suất truy vấn.
    • Để biết thêm thông tin về tối ưu hóa truy vấn nói chung,

    Giám sát truy vấn

    Việc giám sát và ghi nhật ký là rất quan trọng để chạy các ứng dụng đáng tin cậy trên đám mây. Các công việc làm việc trên BigQuery cũng không ngoại lệ, đặc biệt là nếu khối lượng công việc của bạn cao hoặc quan trọng cho nhiệm vụ. BigQuery cung cấp các chỉ số, nhật ký và chế độ xem siêu dữ liệu khác nhau để giúp bạn giám sát việc sử dụng BigQuery của mình.

    Để biết thêm thông tin, xem các tài liệu sau:

    Giá trị truy vấn (Query pricing)

    BigQuery cung cấp hai mô hình giá cho phân tích:

    • On-demand pricing. Bạn trả tiền cho dữ liệu được quét bởi các truy vấn của bạn. Bạn có một khả năng xử lý truy vấn cố định cho mỗi dự án và chi phí của bạn dựa trên số lượng byte được xử lý.
    • Capacity-based pricing. Bạn mua khả năng xử lý truy vấn riêng.

    Hạn ngạch và kiểm soát chi phí truy vấn

    BigQuery áp dụng hạn ngạch ở mức dự án cho việc chạy truy vấn. Để biết thông tin về hạn ngạch truy vấn, xem Hạn ngạch và giới hạn.

    Để kiểm soát chi phí truy vấn, BigQuery cung cấp một số tùy chọn, bao gồm hạn ngạch tùy chỉnh và cảnh báo về thanh toán. Để biết thêm thông tin, xem Tạo kiểm soát chi phí tùy chỉnh.

    Các tính năng phân tích dữ liệu

    BigQuery hỗ trợ cả phân tích mô tả và phân tích dự đoán. Để truy vấn dữ liệu của bạn trực tiếp để trả lời một số câu hỏi thống kê, bạn có thể sử dụng bảng điều khiển Google Cloud. Để khám phá dữ liệu theo hình thức trực quan, chẳng hạn như xu hướng và dấu hiệu bất thường, bạn có thể sử dụng các công cụ như Tableau hoặc Looker tích hợp với BigQuery.

    BigQuery ML

    BigQuery ML cho phép bạn sử dụng SQL trong BigQuery để thực hiện học máy và phân tích dự đoán.

    BigQuery Studio

    Preview

    Sản phẩm hoặc tính năng này chịu sự quy định của “Các Điều khoản Dịch vụ cho Các Ưu đãi Trước GA” trong phần Điều khoản Dịch vụ Chung của Các Điều khoản Cụ thể về Dịch vụ. Các sản phẩm và tính năng trước GA có sẵn “như đã được” và có thể có hỗ trợ hạn chế. 

    BigQuery Studio giúp bạn khám phá, phân tích và chạy phân đoán trên dữ liệu trong BigQuery với các tính năng sau:

    • Trình soạn thảo SQL mạnh mẽ cung cấp hoàn thành mã, xác thực truy vấn và ước tính byte xử lý.
    • Sổ tay Python Colab Enterprise. Sổ tay cung cấp thời gian chạy phát triển Python chỉ với một cú nhấp chuột, và hỗ trợ tích hợp sẵn cho BigQuery DataFrames.
    • Quản lý tài sản và lịch sử phiên bản cho các tài sản mã như sổ tay và truy vấn đã lưu, được xây dựng trên nền tảng Dataform.
    • Phát triển mã hỗ trợ trong trình soạn thảo SQL và trong sổ tay, được xây dựng trên nền tảng Duet AI generative AI.
    • Các tính năng Dataplex cho khám phá dữ liệu, và kiểm tra chất lượnghiệu suất dữ liệu.
    • Khả năng xem lịch sử công việc.
    • Khả năng phân tích kết quả truy vấn đã lưu bằng cách kết nối với các công cụ khác như Looker và Google Sheets, và xuất kết quả truy vấn đã lưu để sử dụng trong các ứng dụng khác.

    Tích hợp các công cụ phân tích

    Ngoài việc chạy truy vấn trong BigQuery, bạn có thể phân tích dữ liệu của mình bằng các công cụ phân tích và thông tin kinh doanh khác tích hợp với BigQuery, như sau:

    • Looker. Looker là một nền tảng doanh nghiệp dành cho thông tin kinh doanh, ứng dụng dữ liệu và phân tích tích hợp. Nền tảng Looker hoạt động với nhiều hệ thống lưu trữ dữ liệu bao gồm BigQuery. Để biết thông tin về cách kết nối Looker với BigQuery.
    • Looker Studio. Sau khi bạn chạy một truy vấn, bạn có thể khởi chạy Looker Studio trực tiếp từ BigQuery trong bảng điều khiển Google Cloud. Sau đó, trong Looker Studio, bạn có thể tạo các hình ảnh hóa và khám phá dữ liệu được trả về từ truy vấn. Để biết thông tin về Looker Studio.
    • Connected Sheets. Bạn cũng có thể khởi chạy Connected Sheets trực tiếp từ BigQuery trong bảng điều khiển. Connected Sheets thực hiện các truy vấn BigQuery thay bạn, dựa trên yêu cầu của bạn hoặc theo lịch trình đã xác định. Kết quả của những truy vấn này được lưu trong bảng tính của bạn để phân tích và chia sẻ.

    Tích hợp công cụ của bên thứ ba

    Một số công cụ phân tích của bên thứ ba làm việc với BigQuery. Ví dụ, bạn có thể kết nối Tableau với dữ liệu BigQuery và sử dụng các công cụ hình ảnh hóa của nó để phân tích và chia sẻ phân tích của bạn. Để biết thêm thông tin về các yếu tố cần xem xét khi sử dụng công cụ của bên thứ ba.

    Các trình điều khiển ODBCJDBC có sẵn và có thể được sử dụng để tích hợp ứng dụng của bạn với BigQuery. Mục đích của các trình điều khiển này là giúp người dùng tận dụng sức mạnh của BigQuery với công cụ và cơ sở hạ tầng hiện có. Để biết thông tin về phiên bản mới nhất và các vấn đề đã biết.

    Các thư viện pandas như pandas-gbq cho phép bạn tương tác với dữ liệu BigQuery trong các sổ tay Jupyter. Để biết thông tin về thư viện này và cách nó so sánh với việc sử dụng thư viện khách hàng Python của BigQuery.

    Bạn cũng có thể sử dụng BigQuery với các sổ tay và công cụ phân tích khác.

    https://youtube.com/watch?v=q9npE47O2UI%3Fsi%3DQe04B0z_PLPCEP4e

    Nguồn: https://cloud.google.com/bigquery/docs/query-overview

    Bài viết mới nhất

    Bài viết liên quan

    ĐỂ LẠI PHẢN HỒI

    Please enter your comment!
    Please enter your name here

    Stay on op - Ge the daily news in your inbox