Giới thiệu tổng quan về BigQuery
Giới thiệu chung
Ở bài trước, chúng ta đã hiểu data warehouse là gì, đặc điểm cũng như lợi ích của nó . Một số data warehouse phổ biến trên thế giới có thể kể đến đó là Treasure Data và BigQuery (hiện tại tập đoàn Septeni đang sử dụng Treasure Data), vì thế BigQuery đối với mọi người nó còn khá mới mẻ. Nằm trong nhóm đi tiên phong tìm hiểu về BigQuery ở công ty, mình xin được phép thay mặt team đưa đến những kiến thức cơ bản về data warehouse này
1.BigQuery là gì?
BigQuery là một service của Google tạo ra như 1 kho chứa dữ liệu (data warehouse). Nó được thiết kế để lưu trữ và truy vấn terabyte, thậm chí là petabyte dữ liệu mà chúng ta không cần setup và quản lý bất kỳ cơ sở hạ tầng (infrastructure) nào để sử dụng
BigQuery hỗ trợ standard SQL, vì vậy nếu chúng ta đã từng thực hành với các loại cơ sở dữ liệu quan hệ như Oracle,PostgreSQL, MySQL, Microsoft SQL Server, v.v., ta có thể dễ dàng làm quen với BigQuery.
2.Các thành phần trong BigQuery
BigQuery ML
BigQuery ML cho phép những người trong ngành data scientist và data engineering vận hành các mô hình ML trên dữ liệu bán cấu trúc hoặc có cấu trúc quy mô toàn cầu , BigQuery sử dụng standard SQL . Xuất các mô hình BigQuery ML để dự đoán trực tuyến sang nền tảng Cloud AI . Big Query ML thường sử dụng kết hợp với Google Data Studio để thể hiện một cách trực quan dữ liệu trong mô hình ML
BigQuery ML và Google Data Studio
BigQuery GIS
BigQuery GIS kết hợp độc đáo giữa kiến trúc serverless architecture của BigQuery với hỗ trợ cho phân tích không gian địa lý, vì vậy bạn có thể tăng cường quy trình phân tích của mình với thông tin vị trí giúp đơn giản hóa các phân tích dữ liệu của bạn
BigQuery GIS
BigQuery BI
BigQuery BI Engine là một dịch vụ phân tích trong bộ nhớ được tích hợp trong BigQuery cho phép người dùng phân tích các tập dữ liệu lớn và phức tạp một cách tương tác với thời gian phản hồi truy vấn dưới giây và tính đồng thời cao
Connected Sheets
Connected Sheets cho phép người dùng phân tích hàng tỷ hàng dữ liệu BigQuery trực tiếp trong Google Sheet mà không yêu cầu kiến thức SQL. User có thể áp dụng các công cụ quen thuộc — như bảng tổng hợp, biểu đồ và công thức — để dễ dàng thu được thông tin chi tiết từ dữ liệu lớn
3.Những lợi ích khi sử dụng BigQuery
Nhận thông tin chi tiết với thời gian thực và phân tích dự đoán: truy vấn dữ liệu được truyền trong thời gian thực và nhận thông tin cập nhật về tất cả các quy trình kinh doanh của bạn
Dự đoán kết quả kinh doanh dễ dàng với BigQuery ML – mà không cần chuyển dữ liệu
Truy cập dữ liệu và chia sẻ thông tin một cách dễ dàng
Bảo vệ dữ liệu của bạn và hoạt động với sự tin cậy:
- Dựa vào các biện pháp kiểm soát bảo mật, quản trị và độ tin cậy mạnh mẽ của BigQuery mang lại tính khả dụng cao và cam kết cung cấp chất lượng dịch vụ (SLA) hoạt động lên đến 99,99% (để dễ hiểu tức là trong thời gian 1 năm thì thời gian hệ thống được cho phép bị treo hoặc sập khoảng tầm 52m 35s (có thể do để bảo trì hệ thống ,nâng cấp dịch vụ ,…))
- Bảo vệ dữ liệu của bạn bằng mã hóa theo mặc định và khóa mã hóa do khách hàng quản lý
4.Một số đặc điểm nổi bật của BigQuery
Google cung cấp cấp miễn phí cho việc sử dụng BigQuery bao gồm : lưu trữ và truy vấn. Với mỗi tháng chúng ta có miễn phí 1 TB dung lượng truy vấn
Mỗi bảng bạn lưu trong BigQuery sẽ sử dụng bộ nhớ và mỗi câu lệnh SQL mà bạn thực thi sẽ sử dụng giới hạn truy vấn(dung lượng có thể tới 1 TB cho 1 project cho 1 ngày)
Và sau khi hết 1 TB miễn phí,mỗi lần thực thi câu truy vấn sẽ tính phí tuỳ vào dung lượng dữ liệu mà nó đọc qua (không bao gồm điều kiện trong câu truy vấn) chứ không phải dung lượng dữ liệu kết quả trả về
VD trong câu select của bạn bao gồm nhiều bảng nó sẽ tính tổng tất cả dữ liệu trong các bảng nó cần xét đến → Dữ liệu trong các bảng càng nhiều thì dữ liệu cần xét qua cũng nhiều → Phí càng cao
Thông tin cụ thể hơn về chi phí lưu trữ và truy vấn trên BigQuery chúng ta có thể tham khảo tài liệu sau:
https://cloud.google.com/bigquery/pricing#free-tier
Lưu ý:
Về lưu trữ thì BigQuery cung cấp 2 loại table : temporary (bảng tạm) và permanent (bảng chính)
- temporary table : bảng dùng để lưu trữ kết quả của câu query select dữ liệu sẽ hết thời hạn sau 24h và không tính phí lưu trữ tuy nhiên sẽ không có nhiều tác dụng trong việc xử lý dữ liệu
- permanent table :bảng dùng để lưu trữ dữ liệu nơi chúng ta có thể thao tác, xử lý dữ liệu và BigQuery tính phí lưu trữ data cho bảng này
Nếu chúng ta kiểm tra dữ liệu trong bảng bằng cách chạy đi chạy lại cùng một truy vấn (select * ), thì giới hạn miễn phí sẽ hết rất nhanh → Với việc kiểm tra dữ liệu trong bảng chúng ta nên sử dụng chức năng preview để xem data bên trong bảng đó
→Vì vậy trong truy vấn chúng ta chỉ nên lấy những cột nào cần lấy
Tham khảo: https://cloud.google.com/bigquery/docs/best-practices-costs
Trong câu query chúng ta muốn truy xuất đến 1 bảng thì chúng ta không chỉ gọi tên bảng mà phải gọi đến 1 đối tượng cụ thể theo quy tắc : project.dataset.table name , chúng ta có thể lưu câu truy vấn đã tạo vào các file
Trước đây BigQuery sử dụng SQL Legacy để thực hiện truy vấn còn hiện tại áp dụng standard SQL
Lời kết
Trên đây là tất cả những thông tin cơ bản cần biết khi chúng ta bắt đầu tìm hiểu sơ lược về BigQuery, để đi sâu hơn một cách cụ thể về BigQuery thực hành về data flow, data virtualization cũng như so sánh giữa BigQuery và Treasure Data vì sao trong khoảng thời gian sắp tới các dự án của tập đoàn có thiên hướng chuyển từ Treasure Data sang BigQuery mời các bạn đón đọc các blog tiếp theo của team nhé !!!