RobustX / Chương trình học / Vị trí công việc / Data Engineer / Thiết kế & Tối ưu Data Warehouse với SQL

Thiết kế & Tối ưu Data Warehouse với SQL

Trong thế giới dữ liệu, SQL không chỉ là một ngôn ngữ truy vấn – nó là công cụ nền tảng để xây dựng và quản trị những kho dữ liệu khổng lồ. Khóa học này được thiết kế để đưa bạn từ vai trò một người sử dụng dữ liệu sang một người kiến tạolàm chủ hệ thống. Bạn sẽ vượt qua giới hạn của những câu lệnh cơ bản để thực sự hiểu cách một Kho dữ liệu (Data Warehouse) được thiết kế, tối ưu hóa và vận hành ở quy mô lớn, đảm bảo toàn bộ doanh nghiệp có thể truy cập dữ liệu một cách nhanh chóng và đáng tin cậy.

Chương trình sẽ trang bị cho bạn ba trụ cột kỹ năng chính. Đầu tiên là khả năng truy vấn phân tích nâng cao, bạn sẽ làm chủ các công cụ mạnh mẽ như Window FunctionsCommon Table Expressions (CTEs) để giải quyết các bài toán kinh doanh phức tạp. Thứ hai là nghệ thuật tối ưu hóa hiệu suất, bạn sẽ học cách đọc kế hoạch thực thi, áp dụng các kỹ thuật IndexingPartitioning để xử lý hàng triệu bản ghi chỉ trong vài giây. Cuối cùng, bạn sẽ được tiếp cận với kiến trúc Cloud Data Warehouse, tìm hiểu cách các nền tảng hàng đầu như Google BigQuery hay Snowflake thay đổi cuộc chơi về khả năng mở rộng và hiệu quả chi phí.

Thời lượng: 30h

KẾT QUẢ ĐẠT ĐƯỢC

Yêu cầu tiên quyết:

    • Hoàn thành kiến thức của các khóa học trước trong lộ trình.
    • Có kiến thức về SQL cơ bản (biết và sử dụng được SELECT, FROM, WHERE, JOIN, GROUP BY).
    • Hiểu về các khái niệm mô hình hóa dữ liệu (Star Schema).

Nội dung khóa học

 1. Nền tảng Quản trị Database (DDL & DML)
  • Ôn tập về hệ quản trị CSDL quan hệ.
  • Data Definition Language (DDL):
    • CREATE TABLE với các kiểu dữ liệu và ràng buộc (Constraints).
    • ALTER TABLE để thêm/xóa/sửa cột.
    • DROP TABLE, TRUNCATE TABLE.
  • Data Manipulation Language (DML):
    • INSERT INTO để thêm mới dữ liệu.
    • UPDATE để cập nhật bản ghi.
    • DELETE để xóa bản ghi.
 2. Truy vấn Phân tích Nâng cao
  • Common Table Expressions (CTEs):
    • Cách sử dụng mệnh đề WITH để viết code SQL sạch và dễ đọc.
    • Ứng dụng CTEs lồng nhau và CTEs đệ quy.
  • Window Functions:
    • Hiểu sự khác biệt giữa GROUP BY và Window Functions.
    • Các hàm xếp hạng: ROW_NUMBER(), RANK(), DENSE_RANK().
    • Các hàm lấy giá trị: LEAD(), LAG().
    • Các hàm tổng hợp trên cửa sổ: SUM() OVER (…), AVG() OVER (…).
 3. Tối ưu hóa Hiệu suất (Query Performance Tuning)
  • Hiểu về quá trình một câu lệnh SQL được thực thi.
  • Đọc và phân tích Kế hoạch thực thi (Execution Plan / EXPLAIN).
  • Kỹ thuật Đánh chỉ mục (Indexing):
    • Chỉ mục B-Tree và cách nó hoạt động.
    • Khi nào nên và không nên tạo Index.
  • Kỹ thuật Phân vùng (Partitioning):
    • Phân vùng bảng theo Range hoặc List.
    • Lợi ích của Partition Pruning trong việc tăng tốc độ truy vấn.
 4. Triển khai với Cloud Data Warehouse (Google BigQuery)
  • Kiến trúc của Cloud Data Warehouse: Tách biệt giữa Lưu trữ (Storage) và Tính toán (Compute).
  • Giới thiệu giao diện và các thành phần của Google BigQuery.
  • Nạp dữ liệu (Loading Data) vào BigQuery từ các nguồn như Google Cloud Storage.
  • Các khái niệm tối ưu riêng của BigQuery:
    • Partitioning theo thời gian.
    • Clustering theo cột.
  • Quản lý chi phí và các best practice khi sử dụng BigQuery.
 5. Bảo mật điện toán đám mây
  • Tổng quan về bảo mật đám mây và các thách thức liên quan.
  • Quản lý danh tính và truy cập (IAM trên AWS, Azure Active Directory, Google Cloud IAM).
  • Bảo mật dữ liệu trên đám mây: mã hóa dữ liệu khi truyền tải và lưu trữ.
  • Sử dụng tường lửa và VPN để bảo vệ tài nguyên đám mây.
 6. BÀI THỰC HÀNH CUỐI KHÓA: Xây dựng và Tối ưu Data Mart Phân tích Người dùng trên BigQuery
  • Yêu cầu:
    • Thiết kế & Tạo bảng (DDL): Dựa trên một schema cho trước, viết các lệnh CREATE TABLE trên BigQuery để tạo các bảng users, events với Partitioning và Clustering hợp lý.
    • Nạp dữ liệu (DML): Nạp dữ liệu mẫu từ file CSV trên Google Cloud Storage vào các bảng đã tạo.
    • Xây dựng báo cáo (Advanced DQL): Viết một câu lệnh SQL phức tạp sử dụng CTEs và Window Functions để tìm ra “chuỗi sự kiện” (user journey) phổ biến nhất của người dùng.
    • Tối ưu hóa: Phân tích Execution Plan của câu lệnh, sau đó tạo một bảng tổng hợp (summary table) và chứng minh rằng việc truy vấn trên bảng mới này nhanh và tiết kiệm chi phí hơn.

Bài viết liên quan