Đánh chỉ mục cho datawarehouse

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Thiết kế Data Warehouse và ứng dụng trong hệ thống thông tin ngành điện (Trang 64 - 67)

CHƯƠNG 4 : THIẾT KẾ VẬT LÝ DATAWAREHOUSE

4.4. Đánh chỉ mục cho datawarehouse

4.4.1. Tổng quan về chỉ mục

Trong các hệ thống hướng truy vấn dữ liệu như môi trường data warehouse thì đặc tính tấc độ khi lấy dữ liệu là quan trọng nhất. Để đạt được điều này có rất nhiều phương pháp nhằm cải tiến hiệu năng và được chú ý nhiều nhất chính là phương pháp sử dụng chỉ mục (index). Có một số loại chỉ mục cơ bản như: chỉ mục B-Tree, chỉ mục bitmap, chỉ mục cho bảng phân vùng (partition), chỉ mục cho bảng IOT (index organized tables).

Chúng ta cần xem xét các kỹ thuật đánh chỉ mục trên khía cạnh của data warehouse. Trong mơi trường này, các bảng có thuộc tính chỉ đọc. Điều này có nghĩa là hệ thống khơng bao giờ có các thao tác xố hay sửa dữ liệu và dữ liệu chỉ được thêm vào bảng một cách định kỳ.

4.4.2. Chỉ mục B-tree

Mặc dù hầu hết các chỉ mục đều sử dụng kiến trúc dạng B-TREE, song thuật ngữ B- TREE thường sử dụng kết hợp với một chỉ mục có lưu trữ danh sách ROWID là số hiệu duy nhất của mỗi dòng của bảng tại mỗi khố của chỉ mục đó.

Cấu trúc của B_TREE

Đỉnh của chỉ mục hay còn gọi là gốc (root). Gốc chứa các điểm vào (entry) trỏ đến mức tiếp theo của chỉ mục. Ở mức tiếp theo là các nhánh (branch). Nhánh này lại trỏ đến các nhánh tiếp theo của chỉ mục. Ở mức thấp nhất là lá (leaf). Lá sẽ chứa thông tin điểm vào trỏ đến các dịng trong bảng.

Hình 32: Cấu trúc của chỉ mục B-Tree

Các khối lá là kết nối kép thuận tiện cho việc truy xuất chỉ mục trong trật tự giảm hay tăng của giá trị khoá.

Định dạng của lá chỉ mục

Một điểm vào của chỉ mục sẽ được tạo thành bởi các thành phần sau đây:

 Trường tiêu đề: thông tin lưu trữ số column và thơng tin khố của các hàng trong bảng.

 Chiều dài khố: chứa thơng tin về kích thước column tham gia vào khố và tiếp theo là kích thước của đó.

 ROWID: là giá trị của ROWID chứa giá trị khố của chỉ mục.

Đặc tính của chỉ mục leaf entry

Một B-TREE chỉ mục trong một bảng không phân vùng (non-partitioned table):

 Giá trị khoá bị lặp lại nếu như có nhiều hàng có cùng giá trị khố.

 Khơng có lá chỉ mục tương ứng với các dòng mà giá trị của tất cả các cột khoá đều bằng NULL.

 ROWID được giới hạn sử dụng để trỏ đến các dịng của bảng, bởi vì tất cả các dịng đều thuộc về cùng một phân đoạn (segment).

Chỉ mục Bitmap (Chỉ mục theo kiểu ánh xạ bit) là một kiểu chỉ mục hay được sử dụng trong một số trường hợp sau:

 Khi bảng có nhiều dịng và các cột khố có giá trị khác nhau rất ít. Điều đó có nghĩa là có rất ít sự khác nhau trong giá trị của các cột. Ví dụ Chỉ mục Bitmap thích hợp hơn đối với các cột giới tính (Nam hay Nữ).

 Khi truy vấn có kết hợp sử dụng nhiều mệnh đề trong phần điều kiện WHERE trong câu truy vấn SQL và mệnh đề truy vấn sử dụng các phép toán logic OR.

 Khi các cột khố là chỉ đọc (read-only) và có rất ít hoạt động cập nhật các cột khoá.

Cấu trúc của chỉ mục Bitmap

Một chỉ mục Bitmap cũng được tổ chức như là chỉ mục B-TREE, nhưng phần lá của mỗi nút lưu một dãy các bit cho mỗi khố thay vì danh sách các ROWID. Mỗi bit trong danh sách Bitmap đó tương ứng với một ROWID, và nếu giá trị bit đó được khởi tạo, điều đó có nghĩa là hàng có ROWID tương ứng sẽ chứa giá trị khố.

Sử dụng chỉ mục Bitmap

Cây chỉ mục Bitmap sử dụng để thiết lập phần lá của các nút, phần này sẽ chứa đoạn bitmap được sử dụng để xác định hàng chứa giá trị khố.

Khi có thay đổi trên các cột khố trong bảng, các chuỗi bitmap cần được thay đổi theo. Kết quả là sẽ sinh ra các khoá trên các phân đoạn bitmap liên quan do quá trình phân đoạn các khố này địi hỏi thực hiện trên tồn bộ phân đoạn bitmap. Một dòng quản lý bởi bitmap sẽ không thể cập nhật bởi các giao dịch khác đến khi giao dịch đầu kết thúc.

4.4.4. Chỉ mục cho bảng sự kiện

Một điểm chú ý là trong bảng sự kiện khố chính bao gồm các khố chính của các bảng chiều gắn kết đến. Các cột còn lại trong bảng sự kiện chính là các độ đo cần phân tích. Ví dụ, hệ thống có một bảng sự kiện là bán hàng và 4 bảng chiều là kho hàng, sản phẩm, thời gian, và khuyến mại. Khi đó khố chính cho bảng sự kiện bán hàng của

hệ thống bao gồm các khố chính của các bảng chiều đó và các cột cịn lại trong bảng sự kiện như sale units, sale dollars, cost dollars chính là các giá trị độ đo và các cột này cần được xem xét để tạo thêm chỉ mục cho hệ thống.

Khi tạo chỉ mục cho bảng sự kiện như vậy, cần xem xét một vài yêu cầu sau:

 Nếu hệ quản trị cơ sở dữ liệu khơng tạo chỉ mục trên các cột khố chính, cần tạo thêm chỉ mục kiểu B-Tree trên tất cả các cột khố chính này.

 Cần thiết kế cẩn thận thứ tự của các cột khố chính bởi thứ tự này chính là thứ tự cho chỉ mục của khố chính được tạo ra. Thứ tự này dựa trên các bảng chiều được tham chiếu tuần tự trong câu truy vấn.

 Rà soát các thành phần riêng lẻ trong khoá dự tuyển, có thể tạo thêm chỉ mục cho các thành phần riêng này dựa vào yêu cầu xử lý của câu truy vấn.

 Cần xem xét việc tạo chỉ mục trên các cột độ đo. Ví dụ nếu có nhiều truy vấn tìm kiếm giá trị độ đo là sale dollars thì cột này cần được xem xét để tạo thêm chỉ mục.

 Chỉ mục bitmap không được tạo ra trên bảng sự kiện vì các cột trong bảng này không thoả mãn điều kiện cho tạo chỉ mục bitmap là phải có ít giá trị.

4.4.5. Chỉ mục cho bảng chiều

Các cột trong bảng chiều cũng tham gia và truy vấn phân tích dữ liệu. Do vậy cần đặt ra kế hoạch để tạo chỉ mục cho các bảng này một cách cẩn thận để tạo hiệu năng tốt nhất. Cần xem xét nhưng yêu cầu sau:

 Tạo chỉ mục duy nhất (unique) kiểu B-Tree cho các cột của khố chính nếu hệ quản trị không tạo ra.

 Kiểm tra xem những cột nào thường được sử dụng để ràng buộc dữ liệu trong câu truy vấn, cần xem xét tạo ra chỉ mục bitmap cho các cột này.

 Với những cột được truy cập tuần tự, cần sắp xếp để tạo ra chỉ mục theo một thứ tự phù hợp nhằm cải tiến hiệu năng của câu truy vấn.

 Cần tạo chỉ mục trên các cột được sử dụng tuần tự trong điều kiện kết nối.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Thiết kế Data Warehouse và ứng dụng trong hệ thống thông tin ngành điện (Trang 64 - 67)

Tải bản đầy đủ (PDF)

(96 trang)