Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình

Các Triển Khai Của Kho Dữ Liệu (Data Warehouse Implementations)


Tính Toán Hiệu Quả Của Data Cube

Trong phân tích dữ liệu đa chiều, việc tính toán hiệu quả các phép tổng hợp trên nhiều tập hợp chiều là cốt lõi. Trong thuật ngữ SQL, các phép tổng hợp này được gọi là group-by. Mỗi group-by có thể được biểu diễn bởi một cuboid, tập hợp các group-by tạo thành một lưới cuboid định nghĩa một data cube.

Có ba lựa chọn cho vật chất hóa data cube từ một base cuboid:

  • Không vật chất hóa (No materialization): Không tính trước bất kỳ cuboid "non-base" nào. Dẫn đến tính toán tổng hợp đa chiều đắt giá trên thực tế, rất chậm.
  • Vật chất hóa đầy đủ (Full materialization): Tính trước tất cả các cuboid. Lưới cuboid tính toán được gọi là full cube. Yêu cầu bộ nhớ khổng lồ.
  • Vật chất hóa một phần (Partial materialization): Chọn lọc tính toán một tập con phù hợp của các cuboid có thể có. Hoặc tính toán một tập con của cube chỉ bao gồm các ô thỏa mãn tiêu chí người dùng (ví dụ: số tuple của mỗi ô vượt ngưỡng).

Chỉ Mục Dữ Liệu OLAP (Indexing OLAP Data)

Để hỗ trợ truy cập dữ liệu hiệu quả, một số hệ thống kho dữ liệu cung cấp cấu trúc chỉ mục và các khung nhìn vật chất hóa (sử dụng cuboid). Cách tiếp cận chỉ mục bitmap phổ biến trong các sản phẩm OLAP vì nó cho phép tìm kiếm nhanh trong data cube. Chỉ mục bitmap là biểu diễn thay thế của danh sách ID bản ghi (RID).

Trong chỉ mục bitmap cho một thuộc tính, có một vector bit riêng biệt Bv cho mỗi giá trị v trong miền của thuộc tính. Nếu miền có n giá trị, thì cần n bit cho mỗi mục trong chỉ mục bitmap. Nếu thuộc tính có giá trị v cho một hàng trong bảng dữ liệu, bit tương ứng được đặt thành 1, các bit khác là 0.

Xử Lý Truy Vấn OLAP Hiệu Quả (Efficient Processing of OLAP Queries)

Mục tiêu của việc vật chất hóa cuboid và xây dựng chỉ mục OLAP là tăng tốc xử lý truy vấn trong data cube.

  • Xác định các phép toán nên thực hiện trên các cuboid có sẵn: Bao gồm chuyển đổi các phép chọn, chiếu, roll-up (group-by), drill-down trong truy vấn thành các phép SQL/OLAP tương ứng. Ví dụ: cắt lát (slicing) và cắt khối (dicing) data cube tương ứng với chọn và chiếu trên cuboid đã vật chất hóa.
  • Xác định cuboid vật chất hóa nào nên áp dụng các phép toán: Bao gồm xác định các cuboid vật chất hóa có thể dùng để trả lời truy vấn, loại bỏ dựa trên mối quan hệ "dominance" giữa các cuboid, ước lượng chi phí sử dụng các cuboid còn lại và chọn cuboid chi phí nhỏ nhất.