Với mơ hình trên chiều Sản phẩm được biểu diễn trên trục x, chiều Thời gian trên trục y và chiều Kho hàng trên trục z và giá trị trên mỗi trục chính là giá trị của các thuộc tính của các bảng chiều. Ví dụ như chiều Thời gian thì Month là một thuộc tính và
được biểu diễn trên trục y.
Nếu người dùng muốn hiển thị dữ liệu bán hàng trên các chiều đó dưới dạng bảng tính thì các cột hiển thị có thể sẽ là tên sản phẩm, dữ liệu tháng được hiển thị theo dòng và dữ liệu bán hàng chính là giá trị giao giữa cột tên sản phẩm và dòng dữ liệu tháng,
3.4. Các toán tử trong OLAP
Trong khi làm việc với OLAP, chúng ta thường sử dụng một số các toán tử cơ bản. Các toán tử này được minh hoạ theo hình vẽ bên dưới với mơ hình đa chiều của cơng ty AllElectronics.
Hình 22: Các toán tử trong OLAP
Lược đồ đa chiều này bao các chiều như Thành phố, Thời gian, và Sản phẩm. Chiều
Thành phố được nhóm theo tiêu chí là thành phố (city), chiều Thời gian được nhóm theo các tiêu chí tháng (quarter), chiều Sản phẩm nhóm theo tiêu chí loại sản phẩm (type). Độ đo cho lược đồ dữ liệu này là doanh số bán hàng (dollars_sold) (tính theo đơn vị hàng nghìn). Các thành phố được mơ phỏng trên hình vẽ là: Chicago, New York, Toronto, và Vancouver.
3.4.1. Toán tử cuốn lên
Toán tử cuốn lên (roll-up hay drill-up) thực hiện nhóm dữ liệu trên mơ hình dữ liệu đa chiều hay cịn gọi là phép tốn giảm chiều. Hình bên trên minh hoạ kết quả của tốn tử cuốn lên mơ hình dữ liệu đa chiều với việc nhóm dữ liệu trên chiều Thành phố. Chiều
Thành phố được phân cấp theo thứ tự: đường < phố < quận < quốc gia tương ứng với
các thuộc tính street, city, province_or_state, country. Tốn tử này chỉ ra việc nhóm
mức độ cao hơn là quốc gia. Kết quả của mơ hình đa chiều thu được là một khung
nhìn tổng hợp dữ liệu theo từng quốc gia chứ không phải là cách mô tả chi tiết theo từng thành phố.
Khi toán tử cuốn lên thực hiện giảm chiều, một số các chiều trong mơ hình sẽ bị loại bỏ đi. Ví dụ như khi ta quan tâm đến toán tử cuốn lên trên chiều Thành phố thì ta
thường quan tâm đến việc nhóm dữ liệu theo khu vực hơn là theo chiều thời gian.
3.4.2. Toán tử khoan sâu
Toán tử khoan sâu (drill-down) là ngược với toán tử cuốn lên. Toán tử này thực hiện đưa ra khung nhìn dữ liệu từ mức tổng quát đến mức chi tiết. Hình vẽ trên chỉ ra kết quả của tốn tử này được thực hiện trên mơ hình dữ liệu đa chiều Bán hàng bằng cách đưa ra chi tiết dữ liệu theo chiều Thời gian với độ phân cấp là ngày < tháng < quý <
năm tương ứng với các thuộc tính là day, month, quarter, year. Toán tử này đi đến
mức chi tiết từ cấp độ xem xét dữ liệu theo từng quý xuống đến mức độ chi tiết hơn là dữ liệu theo tháng. Đây là kết quả chi tiết bán hàng theo từng tháng thay vì kết quả tổng hợp bán hàng theo từng quý như khung nhìn ban đầu.
Tốn tử khoan sâu là việc đưa ra thêm dữ liệu chi tiết cho nên toán tử này thực hiện bằng cách thêm chiều tới mơ hình dữ liệu.
3.4.3. Tốn tử cắt lát và thu nhỏ
Toán tử cắt lát (slice) thực hiện đưa ra một khung nhìn về một chiều cụ thể từ mơ hình đa chiều ban đầu. Trong hình vẽ trên, tốn tử này thực hiện đưa ra dữ liệu bán hàng với tiêu chuẩn chỉ xét dữ liệu là quý 1. Toán tử thu nhỏ (dice) thực hiện tạo ra một mơ hình đa chiều nhỏ hơn. Hình vẽ trên chỉ ra tốn tử thu nhỏ thực hiện trên việc lựa chọn ra 3 chiều với các tiêu chuẩn lần lượt là: (thành phố = “Toronto” và “Vancouver”),
(thời gian = “Q1” và “Q2”) và (sản phẩm =“thiết bị an ninh” và “máy tính”).
3.4.4. Tốn tử xoay
Tốn tử xoay (pivot hay rotate) là phép tốn trực quan thực hiện việc xoay khung nhìn dữ liệu theo một trục xoay nào đó. Hình vẽ trên mơ tả tốn tử xoay thực hiện trên trục xoay là sản phẩm và thành phố trên mơ hình dữ liệu đa chiều ban đầu.
3.4.5. Một số toán tử khác
Một vài hệ thống OLAP đưa thêm một số toán tử khác nữa như khoan ngang (drill- across) thực hiện các truy vấn lên quan đến nhiều bảng sự kiện. Toán tử khoan xuyên (drill-through) sử dụng công cụ SQL để đưa ra dữ liệu ở mức độ chi tiết cùng với các dữ liệu trong các bảng quan hệ của nó.
3.5. Các mơ hình trong OLAP
3.5.1. Mơ hình MOLAP
Trong mơ hình MOLAP, dữ liệu phục vụ cho phân tích được lưu trong một cơ sở dữ liệu đa chiều đặc biệt. Các khung dữ liệu đa chiều này hình thành nên cấu trúc lưu trữ dữ liệu. Ví dụ, trong kho StoreS1 lưu 500 sản phẩm A ở khoảng thời gian vào tháng 1 năm 2001 ở cái kênh phân phối là Channel05. Lúc này, sẽ có một mảng biểu diễn dữ liệu đa chiều như sau: (ProductA, 2001/01, StoreS1, Channe05).
Bây giờ chúng ta xem xét kiến trúc của mơ hình MOLAP. Kiến trúc này được mơ tả ở hình vẽ bên dưới như sau:
Hình 23: Mơ hình MOLAP
Kiến trúc thể hiện trong mơ hình này là kiến trúc 3 tầng. Lược đồ dữ liệu đa chiều ở đây đã được định nghĩa và tính tốn sẵn và được lưu trong cơ sở dữ liệu đa chiều. Xử lý trong MOLAP trong tầng ứng dụng thực hiện đẩy khung nhìn dữ liệu đa chiều (Multidimentional Database System - MDDBs) cho người sử dụng.
Như đã đề cập ở trước, hệ quản trị cơ sở dữ liệu đa chiều được xây dựng và cài đặt sẵn. Nó cung cấp khả năng hợp nhất và tạo dựng cho lược đồ dữ liệu trong khi xử lý nạp dữ liệu vào MDDBs từ data warehouse data warehouse và như vậy người sử dụng có thể lấy được dữ liệu tổng quát với thời gian truy cập nhanh và chính xác.
3.5.2. Mơ hình ROLAP
Trong mơ hình ROLAP, dữ liệu được lưu dưới dạng giống như mơ hình quan hệ ở dạng các dịng và cột. Mơ hình này biểu diễn dữ liệu cho người dùng theo các chiều
nghiệp vụ. Để trong suốt với người sử dụng về mặt cấu trúc lưu trữ và dữ liệu thể hiện ra là đa chiều thì tầng siêu dữ liệu được tạo ra. Tầng siêu dữ liệu này hỗ trợ khả năng ánh xạ giữa các chiều dữ liệu với các bảng dữ liệu quan hệ. Hơn nữa, các siêu dữ liệu cũng hỗ trợ khả năng nhóm và tổng hợp dữ liệu. Với cách thức này, hệ thống lưu luôn cả siêu dữ liệu trong mơ hình quan hệ.
Như hình vẽ bên dưới chỉ ra kiến trúc của mơ hình ROLAP. Kiến trúc thể hiện ở đây là kiến trúc 3 tâng. Server phân tích nằm tại tầng giữa trong mơ hình này có nhiệm vụ tạo ra các khung nhìn đa chiều. Hệ thống đa chiều trên tầng trình diễn cung cấp khung nhìn đa chiều về dữ liệu cho người sử dụng. Khi người sử dụng đa ra một truy vấn phức tạp dựa trên khung nhìn đa chiều này, thì truy vấn sẽ được chuyển thành câu truy vấn SQL phức tạp được thực thi trực tiếp trên cơ sở dữ liệu quan hệ. Khơng giống như mơ hình MOLAP, cấu trúc dữ liệu đa chiều tĩnh không được tạo ra và lưu giữ.
Hình 24: Mơ hình ROLAP
Mơ hình ROLAP có 3 đặc tính nổi bật như sau:
Hỗ trợ tất cả các chức năng và các đặc trưng cơ bản của OLAP được đề cập ở trên
Lưu trữ dữ liệu ở dạng quan hệ
Hỗ trợ một vài khả năng nhóm dữ liệu.
3.5.3. Lựa chọn mơ hình ROLAP hay MOLAP
Khi xây dựng hệ thống, việc lựa chọn mơ hình theo cách tiếp cận quan hệ hay cách tiếp cận đa chiều để cung cấp khả năng xử lý phân tích trực tuyến cho người sử dụng
phức tạp của câu truy vấn. Mơ hình bên dưới chỉ ra cách lựa chọn mơ hình ROLAP hay MOLAP dựa theo mức độ phức tạp và hiệu năng của câu truy vấn. MOLAP được lựa chọn với những yêu cầu của sự phản hồi nhanh và truy vấn có nhiều yếu tố phức tạp.
Trong việc lựa chọn mơ hình, người thiết kế thường có những lựa chọn hồn tồn khác với người sử dụng. Người dùng thường mong muốn có được đầy đủ tính năng cũng như có thêm nhiều lợi ích từ mơ hình đa chiều nhưng cũng lại muốn hệ thống có khả năng trả lời các câu hỏi liên quan đến khả năng mở rộng về dữ liệu nghiệp vụ để phục vụ cho q trình phân tích. Vì vậy cần phải cân bằng giữa hiệu năng và chi phí
Hình 25: Sự tương quan giữa MOLAP và ROLAP
Mơ hình trên thể hiện sự so sánh về các tiêu chuẩn về cấu trúc lưu trữ dữ liệu, công nghệ và các đặc trưng của 2 mơ hình. Dưới đây là sự so sánh chi tiết về 2 mơ hình theo các đặc trưng cơng nghệ kể trên:
Lưu trữ dữ liệu Công nghệ Chức năng và đặc điểm
ROLAP Dữ liệu được lưu trữ dưới dạng các bảng quan hệ trong data warehouse
Hỗ trợ khả năng xem dữ liệu chi tiết lẫn dữ liệu tổng hợp Kích thước dữ liệu là rất lớn Tất cả dữ liệu được Sử dụng các câu truy vấn phức tạp để lấy dữ liệu từ data warehouse Xử lý ROLAP trong server phân tích tạo ra lược đồ dữ liệu khi có yêu cầu
Khả năng đa chiều được xem tại tầng
Môi trường đã được biết trước, được tích hợp sẵn trong nhiều công cụ
Bị giới hạn với những hàm phân tích phức tạp
truy cập từ data warehouse
trình diễn MOLAP Dữ liệu được lưu trữ
dưới dạng các bảng quan hệ trong data warehouse
Các dữ liệu tổng hợp khác nhau được lưu trong MDDBs Kích thước dữ liệu nhỏ hơn Dữ liệu tổng hợp được truy cập từ MDDBs, dữ liệu chi tiết được truy cập từ data warehouse
Lược đồ dữ liệu được tạo và định nghĩa trước bởi xử lý MOLAP, sử dụng kỹ thuật mới để lưu các khung nhìn đa chiều dưới dạng mảng (không phải bảng quan hệ) Tấc độ lấy dữ liệu cao Sử dụng kỹ thuật ma trận để quản lý dữ liệu tổng hợp Truy cập nhanh
Có nhiều thư viện hỗ trợ khả năng tính tốn phức tạp
Dễ phân tích
Bảng 7: Bảng so sánh giữa MOLAP và ROLAP
3.5.4. Cách triển khai OLAP
Trước khi xem xét việc triển khai hệ thống OLAP trong môi trường data warehouse, cần xem xét và cân nhắc kỹ 2 vấn đề liên quan đến hệ thống MOLAP trong hệ quản trị MDDBs. Vấn đề đầu tiên là khơng có sự chuẩn hố dữ liệu. Với cách này, OLAP sẽ xử lý dữ liệu tổng hợp tốt hơn nhưng hạn chế bởi kích thước lưu dữ liệu chi tiết là rất lớn. Vấn đề thứ 2 là sự đối lập lại là dữ liệu trong hệ thống data warehouse có tính chuẩn hóa cao khi đó việc xử lý có thể bị treo khi xử lý những câu truy vấn phức tạp. Để triển khai hệ thống OLAP trong data warehouse, ta xem xét 4 cách triển khai như hình vẽ sau:
Data warehouse cung cấp dữ liệu cho hệ thống OLAP. Trong mơ hình MOLAP, cơ sở dữ liệu đa chiều riêng biệt được đăng ký trước để lưu trữ dữ liệu từ hệ thống data warehouse dưới dạng các lược đồ dữ liệu đa chiều. Một cách đối lập lại, mô hình ROLAP khơng lưu trữ dữ liệu tĩnh trung gian mà dữ liệu được đẩy vào trong hệ thống OLAP thông quan những lược đồ dữ liệu được tạo ra động khi có u cầu. Vì vậy, thứ tự của luồng dữ liệu là từ hệ thống dữ liệu tác nghiệp vào data warehouse và từ đó được đưa vào hệ thống OLAP.
Như vậy sẽ có một số câu hỏi nảy sinh như: tại sao không xây dựng hệ thống OLAP ngay trên hệ thống tác nghiệp, hay tại sao dữ liệu khơng được trích lọc và chuyển trực tiếp vào OLAP, tại sao lại phải di chuyển dữ liệu vào data warehouse rồi sau đó mới truyền đến hệ thống OLAP?. Có một vài lý do để giải thích điều này như sau:
Hệ thống OLAP cần dữ liệu đã được thay đổi và hợp nhất. Giả xử nếu dữ liệu không được sửa chữa và làm sạch trước khi đưa vào hệ thống OLAP thì dữ liệu khơng có đặc tính hợp nhất
Hệ tác nghiệp chỉ lưu dữ liệu lịch xử theo quy trình nghiệp vụ quy định trong khi đó, hệ thống OLAP cần thơng tin dữ liệu có tính lịch xử. Dữ liệu lịch xử từ hệ thống tác nghiệp phải được kết hợp với các dữ liệu lịch xử đã được lưu trữ riêng biệt trước đấy trước khi đưa vào hệ thống OLAP
Hệ thống OLAP cần dữ liệu ở dạng đa chiều nhằm mục đích đưa ra dữ liệu tổng hợp theo nhiều cách khác nhau. Việc trích lọc và tổng hợp dữ liệu từ các hệ thống tác nghiệp khác nhau tại một thời điểm là không thể thực hiện được. Dữ liệu phải được củng cố trước khi được tổng hợp theo cách cấp độ khác nhau với những cách kết hợp khác nhau
Giả xử trong hệ thống có một vài OLAP với sự hỗ trợ các nghiệp vụ khác nhau như: phòng kinh doanh, phịng kiểm kê, phịng tài chính, …vv. Để thực hiện hệ thống như vậy là rất khó khăn bởi cần phải xây dựng một hệ thống riêng biệt nhằm trích chọn dữ liệu vào các hệ thống OLAP từ dữ liệu của hệ thống tác nghiệp.
CHƯƠNG 4: THIẾT KẾ VẬT LÝ DATA WAREHOUSE
4.1. Các yếu tố khi thiết kế vật lý
Quá trình thiết kế data warehouse bao gồm nhiều bước, mỗi bước bao gồm một tập các hoạt động nhằm dẫn tới mục tiêu cuối cùng là hoàn thành thiết kế vật lý. Việc rà soát thiết kế vật lý nhằm xác nhận lại cách hiểu về hệ thống được bắt đầu từ mơ hình logic cho tới mơ hình vật lý.
4.1.1. Các đối tượng thiết kế vật lý
Khi thực hiện thiết kế logic cho cơ sở dữ liệu, mục đích là tạo ra một mơ hình mức khái niệm nhằm thể hiện thể hiện thơng tin của các hoạt động trong thế giới thực. Mô hình logic biểu diễn tồn bộ các thành phần dữ liệu và mối quan hệ giữa chúng. Các đối tượng mà thiết kế vật lý hướng tới không phải là cấu trúc. Pha thiết kế vật lý có liên quan nhiều đến các thành phần như hệ điều hành, các phần mềm cơ sở dữ liệu, phần cứng và cơ sở hạ tầng sẵn có.
Trong phần này, người thiết kế cần tập trung vào một số vấn đề chính như quy trình thiết kế vật lý này liên quan đến cải tiến hiệu năng của hệ thống, cải tiến việc quản lý và lưu trữ dữ liệu. Từ quyết định thiết kế vật lý này, cần lựa chọn cách thức truy cập dữ liệu, kích thước dữ liệu và các đặc trưng cần được hỗ trợ để lựa chọn ra hệ quản trị cơ sở dữ liệu và cấu hình tham số lưu trữ. Thiết kế vật lý nhằm vào các mục đích như sau:
Cải tiến hiệu năng: Hiệu năng trong môi trường OLTP là khác với hiệu năng trong
môi trường data warehouse trong thời gian phản hồi trực tuyến. Các hệ thống OLTP thơng thường đều có những u cầu về thời gian phản hồi ít hơn 3s nhưng yêu cầu này đối với các hệ thống data warehouse là khó có thể đáp ứng được. Dựa vào kích thước dữ liệu được xử lý trong câu truy vấn mà thời gian phản hồi có thể biến đổi từ một vài giây cho đến một vài phút và người dùng cần phải hiểu rõ sự khác biệt này. Ngày nay trong môi trường data warehouse và OLAP, thời gian phản hồi trên một phút là khó có thể chấp nhận được. Cần đảm bảo hiệu năng của hệ thống được theo dõi thường xuyên và hệ thống data warehouse luôn được chỉnh sửa tốt nhất.
Khả năng chuyển đổi: Đây là yêu cầu quan trọng trong khi thiết kế vật lý. Các hệ
thống data warehouse liên quan nhiều đến thời gian và đều có kích cỡ tăng lên theo từng giai đoạn. Khi có yêu cầu về số lượng người dùng tăng lên và độ phức tạp của các câu truy vấn cũng biến đổi theo thì cần có một phương pháp phù hợp cho sự gia tăng về khả năng sử dụng data warehouse cho các tài khoản.