Trang chủ / Google Bigquery

Google Bigquery

Tổng quan

Google BigQuery là gì?

BigQuery là một kho dữ liệu (Data Warehouse) serverless (không máy chủ), có khả năng mở rộng cao và chi phí thấp, được thiết kế để giúp các doanh nghiệp phân tích dữ liệu quy mô lớn (Petabyte) một cách nhanh chóng

Đặc điểm chính:

  • Serverless: Bạn không cần quản lý cơ sở hạ tầng, cập nhật phần mềm hay cấu hình phần cứng. Google lo hết mọi thứ ở backend.
  • SQL Chuẩn (Standard SQL): Sử dụng ngôn ngữ SQL quen thuộc (ANSI SQL 2011) để truy vấn.
  • Tách biệt Tính toán và Lưu trữ: BigQuery tách biệt việc lưu trữ dữ liệu (Storage) và khả năng xử lý (Compute), cho phép mở rộng hai yếu tố này độc lập với nhau.

Kiến trúc và Cách hoạt động

Để hiểu sức mạnh của BigQuery, bạn cần nắm được 2 cơ chế cốt lõi:

A. Lưu trữ dạng cột (Columnar Storage)

Khác với các cơ sở dữ liệu truyền thống (như MySQL, PostgreSQL) lưu dữ liệu theo hàng (row-based), BigQuery lưu dữ liệu theo cột.

  • Lợi ích: Khi bạn chạy câu lệnh SELECT col1, col2, BigQuery chỉ quét đúng 2 cột đó thay vì quét toàn bộ bảng. Điều này giúp tăng tốc độ xử lý cực nhanh cho các tác vụ phân tích (Analytics).

B. Xử lý phân tán (Distributed Processing)

BigQuery sử dụng kiến trúc Dremel. Khi bạn gửi một câu truy vấn, nó sẽ được chia nhỏ thành hàng nghìn tác vụ con và chạy song song trên hàng nghìn CPU của Google cùng lúc. Đây là lý do tại sao nó có thể quét hàng TB dữ liệu chỉ trong vài giây.

3. Các thành phần quan trọng trong BigQuery

Cấu trúc phân cấp trong BigQuery như sau:

  1. Project (Dự án): Cấp cao nhất, nơi chứa tài nguyên và tính tiền.
  2. Dataset (Tập dữ liệu): Nhóm các bảng và view (tương tự như Schema trong các DB khác). Đây là nơi bạn phân quyền truy cập.
  3. Table (Bảng): Nơi chứa dữ liệu thực tế.
  4. Job (Tác vụ): Bất kỳ hành động nào (Query, Load data, Export data) đều được coi là một Job.