Hiệu năng perfomance – Vấn đề muôn thuở của Data Warehouse

Database tuning, SQL tuning, Indexing, tối ưu hệ thống có thể giúp làm tăng hiệu suất của của DW. Tuy nhiên có 2 phương pháp được sử dụng hầu hết trong các DW: Tóm lược Summarize và Tổng hợp Aggregate.

Bảng tóm lược Summary table

Summary table lưu trữ kết quả câu lênh SQL thực thi phép tính số học SUM trên một bảng Fact. Trong đó:

  • Phần số học của bảng Fact được tổng hợp
  • Một hoặc nhiều mức độ phân cấp chi tiết của dữ liệu được xoá khỏi bảng fact.

Ví dụ:

  • Dữ liệu sự kiện trong ngày (Intraday Fact data) được tổng hợp ở mức ngày (Day level). Dữ liệu kết quả được tổng hợp trong bảng Daily Summary table. Đối với dữ liệu này, mức thấp nhất là Ngày.
  • Dữ liệu hàng tồn kho (Store Fact data) được tổng hợp ở mức vùng (Region level).  Dữ liệu kết quả được tổng hợp trong bảng  Region Summary table. Đối với dữ liệu này, mức thấp nhất là Vùng.

Mục đích của Summary table là  để thực hiện tổng kết Dữ liệu số học chỉ một lần, chứ không phải nhiều lần. Bằng cách nắm bắt yêu cầu dữ liệu cần thiết để tổng hợp trước dữ liệu trong bảng sự kiện Fact, người dùng DW sẽ nhận được dữ liệu tóm tắt trước đó họ muốn một cách nhanh chóng.

Bảng tổng hợp Aggregate table

Aggregate table lưu trữ kết quả câu lện SQL thực thi câu lện JOIN, áp dụng cho một tập các bảng chiều. Các phân cấp và các thuộc tính ở trên một thực thể được kết nối trước và được lưu trữ trong một bảng. Ví dụ:

  • Thực thể Sản phẩm, mức độ phân cấp và khu vực quản lý được kết nối trước (prejoined) vào một bảng duy nhất, lưu trữ  kết quả tập hợp. Hạt của bộ kết quả này là Sản phẩm.
  • Thực thể Phòng ban, mức độ phân cấp địa lý và quản lý của nó được kết hợp sẵn vào một bảng duy nhất lưu trữ tập hợp kết quả. Hạt của bộ kết quả này là Phòng ban.

Mục đích của một bảng tổng hợp là thực hiện các phép kết nối JOINS của các tập hợp dữ liệu lớn chỉ một lần.Bằng cách nắm bắt yêu cầu dữ liệu cần thiết để kết nối JOIN trước các các bảng chiều, người dùng DW sẽ nhận được dữ liệu sử dụng các mức độ phân cấp một cách nhanh chóng.

Aggregate table không phải là một bảng Dimension thuần khiết như trong một mô hình dữ liệu đa chiều chiều. Aggregate table là một bảng vật lý giữ kết quả tập hợp các câu lệnh JOIN, thường được sử dụng bởi người dùng DW và là người tiêu dùng có tài nguyên hệ thống ở mức cao. Điểm mấu chốt của một Aggregate là phải chịu mức tiêu thụ tài nguyên hệ thống cao một lần trong những giờ cao điểm để tránh sử dụng nhiều tài nguyên hệ thống trong giờ cao điểm. Đó là trường hợp, một bảng tổng hợp có thể denormalize dọc theo cấp bậc nhiều.

  • Giao điểm của các phân cấp là hạt của bảng Aggregate.
  • Giao điểm phân cấp và mức hạt chi tiết nhỏ nhất phải giống nhau bởi vì chúng là hạt của một bảng tổng hợp.

Bài viết tham khảo:

  • Building and Maintaining a Data Warehouse – Fon Silvers
Comments
←[Nhập môn Data Warehouse] ETL [Nhập môn Data Warehouse] Datamart→