Như phần tổng quan đã đề cập, thiết kế vật lý cho kho dữ liệu bao gồm cả công việc như chuyển mô hình dữ liệu logic sang mô hình vật lý, tức là xác định cấu trúc các bảng và quan hệ các bảng, khóa, ràng buộc…, tạo chỉ mục, phân vùng, tổ chức các tập tin lưu trữ cho CSDL… Nhưng phần cấu trúc dữ liệu đã được đề cập ở phần trên, nên trong phần này chỉ tập trung vào ba công việc chính:
Thiết kế phân vùng Thiết kế chỉ mục Tổ chức lưu trữ
3.5.3.1. Thiết kế phân vùng
Để việc truy cập dữ liệu được nhanh và tiện lợi cho việc bảo trì dữ liệu sau này nên chọn phân vùng cho một số bảng lớn, nhất là các bảng chứa các dữ liệu giao dịch phát sinh hằng ngày. Cụ thể thực hiện phân vùng cho các bảng như sau:
Bảng DW_POSRetail trong kho dữ liệu doanh nghiệp SieuThi_DW: thực
hiện phân vùng theo tháng dựa trên cột Trans_Date.
Bảng DW_POSRetail_Detail trong kho dữ liệu doanh nghiệp
SieuThi_DW: thực hiện phân vùng theo tháng dựa trên cột Trans_Date.
Bảng Fact_POSRetail trong kho dữ liệu chuyên biệt SieuThi_DM: Phân
vùng theo tháng dựa trên cột Date_ID.
3.5.3.2. Thiết kế chỉ mục
Việc cài đặt các chỉ mục chủ yếu tập trung vào kho dữ liệu chuyên biệt
SieuThi_DM, bởi vì người sử dụng chủ yếu khai thác dữ liệu dựa trên nó, việc khai thác có thể thông qua các câu lệnh truy vấn, báo cáo, hay phân tích số liệu…. Việc tạo chỉ mục cho thế nào là hiệu quả tùy thuộc rất nhiều vào các dạng câu truy vấn, báo cáo mà người dùng hay sử dụng. Nhưng ban đầu thì thực hiện phương án tạo một số chỉ mục cơ bản cho các bảng chiều và bảng sự kiện chi tiết như phần bên dưới.
Chỉ mục cho các bảng chiều: đa số các bảng chiều đều có kích thước nhỏ nên
không cần tạo chỉ mục. Chỉ duy nhất bảng chiều hàng hóa (DIM_Product) có số hàng
lớn hơn 37 nghìn nên sẽ thực hiện tạo chỉ mục trên các cột hay được sử dụng như sau:
IDX_Product_01: dựa trên cột procduct_name IDX_Product_02: dựa trên cột SubCategory_Name IDX_Product_03: dựa trên cột Category_Name
Chỉ mục cho bảng sự kiện Fact_POS_Retail: do việc khai thác chủ yếu dựa trên
các chiều nên sẽ tạo chỉ mục trên từng chiều, dựa trên các cột khóa ngoại liên kết với các chiều. Việc tạo chỉ mục kết hợp nhiều chiều cần phải được kiểm nghiệm sau khi đưa vào chạy thực tế thì mới có được phương án hiệu quả nhất. Trong giai đoạn này chỉ tạo các chỉ mục dựa trên một cột như sau:
IDX_Fact_POS_01: dựa trên cột Date_ID
IDX_Fact_POS_02: dựa trên cột Product_DW_ID IDX_Fact_POS_3: dựa trên cột Customer_DW_ID IDX_Fact_POS_04: dựa trên cột Curency_DW_ID
IDX_Fact_POS_06: dựa trên cột CashDesk_DW_ID 3.5.3.1. Tổ chức lưu trữ
Để dễ dàng bảo trì, mở rộng và tăng hiệu năng xử lý, khi thiết kế cấu trúc lưu trữ cho kho dữ liệu và kho dữ liệu chuyên biệt người ta thường chia thành nhiều nhóm tập tin, mỗi nhóm tập tin thì lại có nhiều tập tin. Các tập tin nên phân bố trên các phương tiện lưu trữ vật lý khác nhau và các tập tin nhật ký và tập tin dữ liệu cũng không nên đặt chung vào một phương tiện lưu trữ vật lý. Vì trong phạm vi luận văn tất cả đều được cài đặt trên một máy xách tay duy nhất, nên việc thiết kế lưu trữ có thể giả lập như Hình 3.7 bên dưới.
Hình 3.7. Sơ đồ tổ chức lưu trữ cho SieuThi_DM