2.3.1 Tổng quan
Mô hình dữ liệu dạng khối được ứng dụng rộng rãi trong công tác quản lý thuộc mọi lĩnh vực hoạt động của con người. Mô hình CSDL quan hệ là mô hình có cấu trúc phẳng (tuyến tính) nên chưa đủ đáp ứng đối với các ứng dụng phức tạp, các cơ sở dữ liệu có cấu trúc phi tuyến và động.
Trực quan của mô hình dữ liệu dạng khối có thể hình dung như là một chồng các bảng quan hệ.
Ví dụ, xét hồ sơ về nhân viên tại 3 điểm mốc: 1995, 2000, 2005 a. Năm 1995: MNV Tên NS GT Trìnhđộ Lương TP01 Hà 1967 Nữ Đại học 500 TP02 Ngọc 1970 Nữ Trung cấp 200 TP03 Hùng 1968 Nam Cao đẳng 300 b. Năm 2000: MNV Tên NS GT Trìnhđộ Lương
TP01 Hà 1967 Nữ Thạc sỹ 700 TP02 Ngọc 1970 Nữ Đại học 500 TP03 Hùng 1968 Nam Cao đẳng 300 c. Năm 2005: MNV Tên NS GT Trìnhđộ Lương TP01 Hà 1967 Nữ Tiến sỹ 1000 TP02 Ngọc 1970 Nữ Thạc sỹ 800 TP03 Hùng 1968 Nam Thạc sỹ 800
Các bảng quan hệ được xếp theo thời gian như trên tạo thành một khối. Mỗi quan hệ ứng với một mốc thời gian, ta gọi là một lát cắt. Tập các mốc thời gian {1995, 2000, 2005} được gọi là tập chỉ số.
Mỗi phần tử của khối là "mặt song song với đáy", chính là dữ liệu về một nhân viên theo các thời gian khác nhau.
2.3.2 Định nghĩa khối
Một cách hình thức, lược đồ khối (LĐK) được định nghĩa là một bộ gồm hai tập hữu hạn không rỗng gọi là tập chỉ số I và tập thuộc tính R [4].
Vậy: LĐK = < I, R > trong đó I = {i1, i2,...}là tập chỉ số. R = {A1, A2,.., An} là tập thuộc tính . Mỗi thuộc tính Ai có miền giá trị kí hiệu là D(Ai) với i = 1..n.
Định nghĩa khối:
Khối trên lược đồ LĐK kí hiệu là r(LĐK) gồm các phần tử, mà mỗi phần tử là một họ n ánh xạ từ tập chỉ số I lên các miền giá trị của các thuộc tính.
Vậy t r(LĐK) t = {<t1, t2,.., tn> : ti: I --> D(Ai), i = 1..n}
2.3.3 Lát cắt
Cho lược đồ khối LĐK = < I, R >, r = r(LĐK) là một khối trên lược đồ khối. Ta có định nghĩa:
Khối con có lược đồ con gồm chỉ một chỉ số x I và tập thuộc tính R: <x, R> gọi là lát cắt của khối r.
Mỗi lát cắt của khối chính là một quan hệ. Như vậy nếu tập chỉ số của lược đồ khối chỉ có một phần tử thì khối trở thành một quan hệ và quan hệ chính là trường hợp riêng của khối, đó là khối chỉ có một mặt.
2.3.4 Khoá của khối
Cho lược đồ khối LĐK = < I, R >, r là khối trên LĐK.
Với x I, t r, t = <t1, t2, ..., tn > ta ký hiệu t(x, Ai), i = 1,.., n là giá trị của phần tử t ở thuộc tính Ai tại chỉ số x.
Để thuận lợi cho việc trình bày ta đặt tiếp xi = (x, Ai) với x I và như vậy t(x, Ai) = t(xi) = ti(x), i = 1,.., n. Từ đó ta kí hiệu:
Ii = {xi}, với x I, như vậy Ii = {(x, Ai); x I}
Với mỗi tập con Xi Ii, ta sẽ ký hiệu: t(Xi) = {t(yi); yi Xi} Giả sử t và t' là hai phần tử của khối r với:
t = <t1, t2, ..., tn > và ti: I ->D(Ai), i = 1,..,n. t' = <t'1, t'2, ..., t'n > và t'i: I ->D(Ai), i = 1,..,n.
Định nghĩa:
Khoá của khối r trên lược đồ khối LĐK = < I, R > là một tập K = {Xi1, Xi2, ..., Xik}, trong đó Xik và
Xik Iik (k = 1,.., h), thoả mãn hai điều kiện sau đây:
(i). Với bất kỳ hai phần tử t và t' r luôn tồn tại một Xik K sao cho tik(Xik) t'ik(Xik).
Nói cách khác, không tồn tại hai phần tử mà: tik(Xik) = t'ik(Xik), k = 1,.., h.
(ii). Với bất kỳ tập K' nào K' = {X'i1, X'i2, ..., X'ik} với X'ik Xik, (k = 1,..., h) và tồn tại X'im Xim, (m = 1,..,h) đều không có tính chất (i) nói trên.
Trang Doanh thu Chi phí trực tiếp Chi phí
gián tiếp Lãi/Lỗ
Quí 1 420 240 100 80
Quí 2 310 160 140 10
Quí 3 430 250 120 60
Quí 4 350 200 160 -10
+ Giả sử I là tập một phần tử I = {x}. Khi đó r trở thành một quan hệ và tất nhiên khoá của khối lúc đó sẽ trở thành khoá của quan hệ r trên lược đồ quan hệ R.
+ Nếu với x I nào đó mà ta có {Xi1, Xi2,..., Xik} là khoá của lát cắt r(LĐKx) thì {Ii1, Ii2,..., Iik} là khoá của khối r
2.3.5 Hiển thị khối trên màn hình máy tính
Giả sử ta có một khối ba chiều gồm: chiều thời gian (ngày, tuần, tháng, quý, năm), chiều sản phẩm (máy in, máy tính, máy fax) và chiều các biến số (doanh thu, chi phí trực tiếp, chi phí gián tiếp, lãi/lỗ) như mô hình khối dưới đây:
Sản phẩm
Hình 2.1 Mô hình khối dữ liệu 3 chiều
Để hiển thị được khối dữ liệu ba chiều đó lên màn hình chúng ta phải tạo ra một biểu diễn hai chiều của một khối ba chiều.
Ví dụ: SanPham: Máy tính Time: Các quí BienSo: Tất cả Cột Hàng B i ế n s ố Thời gian
Hình 2.2 Hiển thị khối dữ liệu ba chiều
Trên hình, Trang – SanPham: Máy tính tượng trưng cho chiều thứ ba. Trong dữ liệu ba chiều, màn hình thể hiện một lát cắt của khối đó.
Hiển thị khối dữ liệu lớn hơn 4 chiều:
Giải pháp là kết hợp các chiều logic lại, trong đó việc kết hợp hai chiều vào trong một chiều lồng vào chiều kia.
Ví dụ: Xét hình khối đa chiều gồm các chiều: chiều SanPham (máy tính, máy in), ThoiGian (quí 1, quí 2, quí 3, quí 4), CuaHang (cửa hàng 1, cửa hàng 2, cửa hàng 3), KhachHang (thanh niên, trung niên, trên 65 tuổi), BienSo (lãi/lỗ, doanh thu, chi phí trực tiếp, chi phí gian tiếp), KhungCanh (thực tế, kế hoạch). Dưới đây là một cách hiển thị màn hình theo lưới ba chiều của khối 6 chiều:
Hình 2.3 Hiển thị khối dữ liệu 6 chiều
Trang
Doanh thu Chi phí
trực tiếp Chi phí gián tiếp
Thực tế Kế hoạch Thực tế Kếho ạch Thực tế Kế hoạch Quí 1 Máy tính 420 450 240 250 100 90 Máy in 120 110 50 40 50 40 Quí 2 Máy tính 310 300 160 150 140 150 Máy in 320 310 180 170 100 90 Quí 3 Máy tính 430 440 250 200 120 110 Máy in 330 330 230 220 110 120 Quí 4 Máy tính 350 340 200 90 160 140 Máy in 200 190 150 120 60 50
CuaHang: Cửa hang 2 KhachHang: Trung
niên
Time: Quí 1 SanPham: máy in, máy tính
BienSo: Chi trực tiếp, chi gián tiếp KhungCanh: Thực tế, kế hoạch
Cột
Bằng cách thay đổi việc lựa chọn các chiều trên mỗi trang, trên hàng, và trên cột, với các phần tử mong muốn trên mỗi chiều. Đây là kết quả của các lát cắt, hoặc khoan sâu xuống trong khối dữ liệu.
2.4 KIẾN TRÚC KHỐI OLAP
Hệ thống OLAP là một hệ thống quản lý dữ liệu giàu năng lực. Nó cho phép người sử dụng phân tích dữ liệu qua việc cắt lát (slice) dữ liệu theo nhiều khía cạnh khác nhau, khoan xuống (drill down) mức chi tiết hơn hay cuộn lên (roll up) mức tổng hợp hơn của dữ liệu. Bản chất cốt lõi của OLAP là dữ liệu được lấy ra từ DW hoặc từ DM sau đó được chuyển thành mô hình đa chiều và được lưu trữ trong một kho dữ liệu đa chiều.
Đối tượng chính của OLAP là khối, một sự biểu diễn đa chiều của dữ liệu chi tiết và tổng thể. Một khối bao gồm một bảng sự kiện (Fact), một hoặc nhiều bảng chiều (Dimensions), các đơn vị đo (Measures) và các phân hoạch (Partitions).
2.4.1 Khối (Cube)
Khối là phần tử chính trong xử lý phân tích trực tuyến, là tập con dữ liệu từ kho dữ liệu, được tổ chức và tổng hợp trong các cấu trúc đa chiều.
Để xác định một khối, ta chọn một bảng Fact và các đơn vị đo lường đồng nhất (các cột số theo sự quan tâm của người dùng khối) trong bảng Fact. Sau đó chọn các chiều, mỗi chiều gồm một hay nhiều cột từ bảng liên quan khác. Các chiều cung cấp mô tả rõ ràng bởi các đơn vị đo lường được chia ra của người dùng khối.
Ví dụ: một khối cho phân tích bán hàng bao gồm các đơn vị đo lường Sảnphẩm_Bánhàng_Giá và Sảnphẩm_Chiphí từ bảng Sales_Fact và các chiều Vịtrí_Kho, Dòng_sảnphẩm, và Năm_Tàichính. Khối này cho phép người dùng phân chia Sảnphẩm_Bánhàng_Giá và Sảnphẩm_Chiphí thành các loại khác nhau bởi Vịtrí_Kho, Dòng_Sảnphẩm và Năm_Tàichính.
Mỗi chiều có thể chứa một hệ thống các cấp độ để chỉ sự phân chia rõ ràng của người dùng. Ví dụ: Chiều Vịtrí_Kho có thể gồm hệ thống các cấp độ: châu lục, nước, vùng, tỉnh, thành phố.
Mỗi cấp độ trong chiều lại chi tiết hơn mức cha của nó. Ví dụ: lục địa chứa các quốc gia, các bang hay các tỉnh chứa các thành phố. Tương tự, hệ thống chiều thời gian có thể gồm có các cấp độ năm, quý, tháng và ngày.
2.4.2 Chiều (Dimension)
Các chiều là cách mô tả chủng loại mà theo đó các dữ liệu số trong khối được phân chia để phân tích. Khi xác định một chiều, chọn một hoặc nhiều cột của một trong các bảng liên kết (bảng chiều). Nếu ta chọn các cột phức tạp thì tất cả cần có quan hệ với nhau, chẳng hạn các giá trị của chúng có thể được tổ chức theo hệ thống phân cấp đơn. Để xác định hệ thống phân cấp, sắp xếp các cột từ chung nhất tới cụ thể nhất. Ví dụ: chiều thời gian (Time) được tạo ra từ các cột năm, qúy, tháng, ngày.
Mỗi cột trong chiều góp phần vào một cấp độ cho chiều. Các cấp độ được sắp đặt theo nét riêng biệt và được tổ chức trong hệ thống cấp bậc mà nó thừa nhận các con đường hợp logic cho việc đào sâu (drill_down). Ví dụ: chiều thời gian được miêu tả ở trên cho phép người dùng khối đào sâu (drill_down) từ năm tới qúy, từ qúy tới tháng và từ tháng tới ngày. Mỗi drill_down cung cấp nét đặc trưng hơn.
Chiều có phân cấp
Phân cấp là cột sống của việc gộp dữ liệu hay nói một cách khác là dựa vào các phân cấp mà việc gộp dữ liệu mới có thể thực hiện được. Phần lớn các chiều đều có một cấu trúc đa mức hay phân cấp. Nếu chúng ta làm những quyết định về giá sản phẩm để tối đa doanh thu thì chúng ta cần quan sát ở những dữ liệu về doanh thu sản phẩm được gộp theo giá sản phẩm, tức là chúng ta đã thực hiện một cách gộp. Khi cần làm những quyết định khác thì chúng ta cần thực hiện những phép gộp tương ứng khác. Như vậy có thể có quá nhiều tiến trình gộp. Thế nên các tiến trình gộp này cần phải được thực hiện một cách rất dễ dàng, linh hoạt để có thể hỗ trợ những phân tích không hoạch định trước. Điều này có thể được giải quyết trên cơ sở có sự trợ giúp của những phân cấp rộng và sâu.
Dựa trên phân cấp theo chiều, từ một mức dưới, chúng ta có thể cuộn lên (Roll up) các mức trên, thực hiện một phép gộp, để có được kết qủa tổng hợp hơn. Và từ một mức trên, có thể khoan sâu xuống (Drill down) các mức dưới, để có các kết quả chi tiết hơn.
2.4.3 Các đơn vị đo lƣờng
Các đơn vị đo của khối là các cột trong bảng Fact. Các đơn vị đo lường xác định những giá trị số từ bảng Fact mà được tổng hợp phân tích như định giá, trị giá hoặc số lượng bán.
2.4.4 Các phân hoạch (Partitions)
Tất cả các khối đều có tối thiểu một phân hoạch để chứa dữ liệu của nó. Một phân hoạch đơn được tự động tạo ra khi khối được định nghĩa. Khi ta tạo một phân hoạch mới cho một khối, phân hoạch mới này được thêm vào trong tập hợp các phân hoạch đã tồn tại đối với khối. Khối phản ánh dữ liệu đã được kết nối có trong tất cả các phân hoạch của nó. Một bảng phân hoạch của khối là trong suốt đối với người dùng.
Các phân hoạch tiêu biểu cho một công cụ mạnh, mềm dẻo cho việc quản trị các khối OLAP, đặc biệt là các khối lớn. Các bảng phân hoạch có thể được lưu trữ với các sự lựa chọn kết hợp khác nhau theo phương thức lưu trữ, định vị dữ liệu nguồn và thiết kế kết hợp. Tính mềm dẻo này cho phép ta thiết kế các chiến lược lưu trữ khối phù hợp với các yêu cầu của ta.
2.5 SỰ PHÂN LOẠI OLAP
Kiến trúc của OLAP làm nổi lên vấn đề là các dịch vụ OLAP được đặt ở đâu. Hai cách tiếp cận khác nhau đã hình thành nên hai loại OLAP điển hình là OLAP đa chiều (MOLAP) và OLAP quan hệ (ROLAP). Hai loại này tuy là trong suốt (nghĩa là, những mặt trước và dạng thức hỗ trợ quyết định của những công cụ này là như nhau) đối với người sử dụng đầu cuối nhưng có những khác biệt quan trọng giữa ROLAP và MOLAP [1].
2.5.1 MOLAP (Multidimensional OLAP)
MOLAP là dạng OLAP nguyên thuỷ, đôi khi còn được gọi tắt là OLAP. MOLAP kết hợp kho dữ liệu đa chiều và các dịch vụ của OLAP trên cùng một Server. MOLAP thường được coi là cơ sở dữ liệu đa chiều (MultiDimension
DB- MDDB). MDDB là một cấu trúc tối ưu cho việc lưu trữ các sự kiện đã phân loại và cùng với nó là các chiều. Dữ liệu được tổ chức theo khung nhìn dữ liệu và được lưu trữ trong một biểu mẫu được kết hợp và tổng hợp.
Các công cụ của MOLAP cho phép truy cập vào dữ liệu chi tiết trong hệ quản trị RDBMS như sau:
Hình 2.4 Kiến trúc của MOLAP
MOLAP là sự lựa chọn tốt nhất cho những ứng dụng có đặc điểm: - Yêu cầu tốc độ truy vấn cao
- Có khả năng phân tích dữ liệu phức hợp
- Dễ sử dụng: vì dữ liệu đã được tổng hợp từ trước và được lưu trong kho dữ liệu đa chiều. Người sử dụng chỉ cần xác định các chiều và các nhóm nằm trong các chiều đó.
Thiết kế MOLAP bao gồm những bƣớc cơ bản nhƣ sau:
Chọn chức năng công việc
Xác định những giá trị số, những đại lượng đo để lưu trữ
Xác định các chiều và đơn vị của mỗi chiều như thời gian thì theo tháng và quý, vị trí địa lý thì theo quốc gia hay tỉnh, huyện.
SQL Máy chủ CSDL RDBM S M¸y chñ MOLAP Siêu dữ liệu, xử lý truy vấn Các công cụ người dùng cuối Tải về Kết quả Yêu cầu truy vấn Kết quả
Định nghĩa mô hình logic và tải vào kho dữ liệu đa chiều hoặc trực tiếp từ các nguồn dữ liệu hoặc thông qua việc lọc và kết hợp những nội dung được lựa chọn của DW hoặc DM.
Quản trị và quản lí hệ thống với cách thức này đòi hỏi:
Mô hình dữ liệu khởi tạo phải chọn đúng các chiều và đơn vị của chúng, thấy trước được dữ liệu sẽ được truy nhập như thế nào và việc lựa chọn những phép lọc thích đáng để tải dữ liệu vào từ DW là những vấn đề quan trọng đáng quan tâm.
Truyền dữ liệu định kì và cập nhật nhiều dữ liệu cùng lúc bởi vì trong khi cơ sở dữ liệu đang được sử dụng thì số lần cập nhật cần phải hạn chế.
Sự kết hợp, tổng kết và tính toán trước trong quá trình tải dữ liệu vào.
Đào tạo một công nghệ khác và cách sử dụng những kĩ năng mới này.
Viết những ứng dụng mới với một ngôn ngữ độc quyền để mở rộng và cải thiện chuẩn đầu cuối (giao diện với người sử dụng đầu cuối) của cơ sở dữ liệu.
Một số vấn đề cần quan tâm khi sử dụng cách tiếp cận này:
Kích cỡ của cơ sở dữ liệu đa chiều được hỗ trợ nhỏ hơn so với một cơ sở dữ liệu quan hệ. Công nghệ sử dụng ma trận thưa được sử dụng để tiết kiệm không gian nhớ.
Không thể khoan sâu dữ liệu tới mức chi tiết do ảnh hưởng phụ của việc lưu trữ dữ liệu ở mức thô (như những dữ liệu tổng, những dữ liệu được tính toán trước và những dữ liệu kết xuất từ những dữ liệu khác)
Truy nhập và an toàn là có sẵn cho các mức cao; không có những ưu tiên dựa trên việc sử dụng hoặc những kiểm soát truy nhập ở các mức con.
Những thay đổi trong cấu trúc đa chiều đòi hỏi cơ sở dữ liệu đa chiều