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.
Quản lý lưu trữ: Quản lý lưu trữ cũng là một vấn đề chính trong thiết kế vật lý. Hệ thống có thể cải tiến hiệu năng bằng cách lưu trữ những những bảng có quan hệ trong
cùng một file hay quản lý những bảng có kích thước lớn bằng cách lưu các phần của bảng tại các khu vực lưu trữ khác nhau. Cần xem xét việc cấu hình các tham số quản lý khơng gian trống trong hệ quản trị cơ sở dữ liệu để tối ưu việc sử dụng các block trong từng file.
Khả năng quản trị dễ dàng: Yêu cầu này bao trùm nên toàn bộ các hoạt động quản
trị như phương pháp quản lý dữ liệu trong các bảng, khả năng sao lưu (backup) và phục hồi (restore) dữ liệu.
Thiết kế linh hoạt: Trong thiết kế vật lý, tính linh hoạt giữ cho bản thiết kế của hệ
thống ln mở, có thể có các thay đổi đối mà có thể sửa đổi dễ dàng trong hệ thống
4.1.2. Từ thiết kế logic tới thiết kế vật lý
Mơ hình logic chứa đựng các đối tượng như bảng, thuộc tính, khóa chính và các mối quan hệ. Mơ hình vật lý chứa đựng các cấu trúc và các mối quan hệ được biểu diễn trong các lược đồ của cơ sở dữ liệu được mã hố với ngơn ngữ DDL. Các hoạt động chuyển đổi từ mơ hình logic sang mơ hình vật lý được thể hiện như hình vẽ bên dưới
Hình 28: Quy trình thiết kế
Các hoạt động trong mơ hình này xuất hiện dọc theo chiều mũi tên xử lý bắt đầu từ mơ hình logic cho tới mơ hình vật lý.
4.1.3. Các thành phần của mơ hình vật lý
Mơ hình vật lý biểu diễn nội dung thông tin liên quan nhiều điến phần cứng. Điều này có nghĩa là các thơng tin chi tiết như: kích thước file, độ dài trường, kiểu dữ liệu, khố chính, khố ngồi đều phải được tham chiếu trong mơ hình. Hình bên dưới minh hoạ các thành phần chính của mơ hình vật lý.
Hình 29: Các thành phần của mơ hình vật lý
Các thành phần này được mô tả trong các từ điển dữ liệu của hệ quản trị và được tạo ra thông qua các ngôn ngữ định nghĩa dữ liệu (DDL).
4.1.4. Ý nghĩa các chuẩn
Các chuẩn trong một môi trường data warehouse bao trùm lên một phạm vi rộng các đối tượng, các tiến trình và các thủ tục. Trong mơ hình vật lý, tiêu chuẩn đặt tên các đối tượng có những ý nghĩa đặc biệt. Những chuẩn này cung cấp một phương pháp đảm bảo truyền thơng một cách có hiệu quả giữa các thành viên trong dự án.
Trong các hệ thống thường có một số chuẩn sau:
Đặt tên các đối tương trong cơ sở dữ liệu: Cần có một phương pháp rõ ràng cho việc
đặt tên các đối tượng. Tên phải bao hàm được những mơ tả ngắn gọn về đối tượng. Hình vẽ bên dưới chỉ ra một ví dụ đặt tên cho thuộc tính và tên bảng trong cơ sở dữ liệu.
Hình 30: Tương quan giữa mơ hình logic và mơ hình vật lý
Đặt tên file và tên bảng trong vùng thu thập dữ liệu: Như đã trình bày, vùng thu
thập dữ liệu là một trong những vùng trung tâm của data warehouse. Hầu hết các công việc di chuyển dữ liệu đều xảy ra ở đây. Bởi vì trong vùng này có rất nhiều file trong q trình thao tác nên rất khó có thể nắm bắt được dấu vết của các file này. Cần đặt tên theo các cách nhằm gợi nhớ đến các xử lý có liên quan và mục đích của file đó.
Chuẩn cho các file vật lý: phải thuận tiện và dễ dàng cho từng loại file bao gồm tất cả các loại file trong hệ thống như:
File mã nguồn, file kịch bản (script) File cơ sở dữ liệu
File tài liệu ứng dụng.
4.2. Các bước thiết kế vật lý
Hình vẽ bên dưới chỉ ra bức tranh toàn cảnh về các bước cần thực hiện trong quy tình thiết kế vật lý cho data warehouse. Tại mỗi bước liệt kê ra sẽ có một tập các bước con cần thực hiện để hồn thành cho pha thiết kế đó. Chúng ta sẽ xem xét chi tiết cho các pha thiết kế ngay trong phần trình bày bên dưới.
Hình 27: Các bước thiết kế vật lý
4.2.1. Xây dựng tiêu chuẩn
Đã có rất nhiều cơng ty đầu tư nhiều tiền bạc, thời gian và công sức để xây dựng ra các chuẩn cho hệ thống thống thông tin của họ. Các chuẩn này quy định từ những điều đơn giản nhất từ đặt tên trường trong cơ sở dữ liệu trong quá trình thiết kế vật lý cho đến các thức phỏng vấn trong pha tìm hiểu yêu cầu nghiệp vụ. Trong môi trường data warehouse các chuẩn này được mở rộng hơn do nó thao tác trên nhiều vùng dữ liệu
khác nhau. Với các chuẩn được quy định ra như vậy, người dùng có thể đọc tên của đối tượng và có thể hình dung được chủ đề nghiệp vụ liên quan đến đối tượng đó.
4.2.2. Lập kế hoạch tổng thể
Như chúng ta đã biết, có trên 80% câu truy vấn trong mơi trường data warehouse liên quan đến các thông tin tổng hợp. Nếu data warehouse lưu trữ dữ liệu ở mức độ chi tiết nhất thì các câu truy vấn phải đọc tồn bộ dữ liệu chi tiết và sau đó thực hiện tổng hợp dữ liệu sau mỗi chu kỳ nghiệp vụ. Nếu hệ thống có thêm các bảng tổng hợp theo yêu cầu nào đó thì rõ ràng câu truy vấn sẽ thực hiện nhanh hơn nhưng như vậy hệ thống phải có thêm tài nguyên để tạo thêm các bảng tổng hợp này.
Trong bước này, cần rà sốt hệ thống nhằm mục đích tạo ra những bảng tổng hợp. Cần xem xét các định nghĩa yêu cầu nghiệp vụ, tập trung vào các bảng chiều và xem xét độ phân cấp của mỗi bảng chiều đó và từ đó tạo ra những bảng tổng hợp một cách hợp lý, phù hợp với yêu cầu đặt ra.
4.2.3. Xác định lược đồ phân chia dữ liệu
Cần xem xét về kích thước dữ liệu trong hệ thống data warehouse. Số dòng trong bảng sự kiện là bao nhiêu?, Khi phân tích thực hiện các phép tốn như thế nào?. Trong data warehouse, các bảng sự kiện thường có kích thước rất lớn thường là vài triệu dịng và như vậy sẽ rất khó để quản lý. Trong q trình xử lý, tồn bộ bảng gần như được đọc gây tốn kém tài nguyền, đặc biệt là thời gian xử lý. Mặt khác nữa là với những bảng kích thước lớn như vậy thì việc sao lưu và phục hồi là vơ cùng khó khăn. Cần xem xét các bảng lớn này thành các phần nhỏ dễ quản lý hơn.
Trong bước này chúng ta cần phải định nghĩa ra một lược đồ phân chia mà bao gồm một số đặc điểm sau
Xác định các bảng sự kiện và bảng chiều cần được phân chia
Xác định kiểu phân chia cho mỗi bảng như vậy, phân chia theo chiều dọc hay chiều ngang
Số phần chia nhỏ cho mỗi bảng
Tiêu chuẩn phân chia là gì (ví dụ như theo thời gian)
Chú ý đến các truy vấn thực hiện trên các phần phân chia đó.
4.2.4. Thiết lập khả năng nhóm dữ liệu
Trong môi trường data warehouse, nhiều mẫu truy vấn truy cập dữ liệu được thực hiện theo cách truy cập tuần tự một lượng lớn dữ liệu. Khi điều này xảy ra, chúng ta cần phải cải tiến hiệu năng của hệ thống từ việc tạo nhóm (clustering). Đây là kỹ thuật liên quan đến việc lưu các đơn vị dữ liệu có quan hệ với nhau trong cùng một đơn vị khối
(block) dữ liệu và các đơn vị dữ liệu này thường được lấy ra cùng với nhau khi có truy vấn yêu cầu.
Yêu cầu này cần được thực hiện trước khi hồn thành mơ hình vật lý. Cần kiểm tra từng bảng trong hệ thống và tìm ra những cặp bảng nào có quan hệ với nhau và thường được xử lý cùng nhau trong các câu truy vấn.
4.2.5. Thiết lập cách đánh chỉ số
Đây là một pha bắt buộc trong khi thiết kế vật lý. Không giống như hệ thống OLTP, data warehouse là môi trường hướng truy vấn. Do vậy, việc đánh chỉ số là một kỹ thuât quan trọng nhằm cải tiến hiệu năng và đem lai những lợi ích to lớn. Việc lựa chọn thứ tự các thuộc tính khi tạo chỉ mục cũng đóng một vai trị quan trọng liên quan đến hiệu năng.
Để xây dựng được chiến lược tạo chỉ mục cho hệ thống, cần xác định các bảng trong hệ thống xuất hiện trong khi truy vấn dữ liệu và thiết lập ra các chỉ mục cho mỗi bảng đó. Một điểm chú ý là sẽ có thêm một số chỉ mục được sinh ra sau khi vận hành hệ thống trong một khoảng thời gian ngắn.
4.2.6. Xác định cấu trúc lưu trữ