0
Tải bản đầy đủ (.pdf) (86 trang)

Khối dữ liệu con

Một phần của tài liệu CÔNG NGHỆ XỬ LÝ PHÂN TÍCH TRỰC TUYẾN TRONG VIỆC TRỢ GIÚP QUYẾT ĐỊNH (Trang 59 -67 )

3. Lựa chọn chỉ số cho OLAP

3.1 Khối dữ liệu con

Trong khối dữ liệu, chỳng ta liờn tƣởng đến một khối dữ liệu con với mỗi tập của cỏc thuộc tớnh gộp cú thể. Cỏc khối đú là cỏc khối đƣợc tớnh toỏn trƣớc và hỡnh thành nờn cỏc khung nhỡn tiềm năng đƣợc xem xột cho việc cụ thể hoỏ. Trong thuật ngữ SQL cỏc khối con chỉ khỏc nhau bởi mệnh đề gộp (Group by) và mỗi phần tử của tập tiềm năng cú cỏc thuộc tớnh trong mệnh đề gộp của khối con tƣơng ứng. Cú nhiều cỏch để phõn chia một khối dữ liệu. Xột vớ dụ trờn, mỗi cặp {Mặt hàng, Khỏch hàng} sẽ tƣơng ứng với một khối con chứa Mặt hàng bỏn ra cho từng Khỏch hàng. Nhƣ vậy {Mặt hàng, Khỏch hàng} sẽ tƣơng ứng với một khối con đƣợc đƣa ra bằng truy vấn SQL nhƣ sau:

SELECT Mặt hàng, Khỏch hàng, SUM(hàng bỏn) AS Tổng hàng bỏn FROM R GROUP BY Mặt hàng, Khỏch hàng

3.2 Truy vấn

Mỗi cõu hỏi cú thể xem xột mỗi chiều nhƣ là thuộc tớnh chọn (trong SQL chiều là thuộc tớnh trong mệnh đề gộp hoặc tƣơng ứng với mệnh đề điều kiện mà ở đú thỏa món điều kiện nào đú). Sử dụng cỏch viết rỳt gọn của mụ hỡnh, chỳng ta cú thể viết cõu hỏi Q dƣới dạng: cps - Trong đú  là đầu ra hoặc cỏc thuộc tớnh gộp lại; cũn  xỏc định cỏc thuộc tớnh chọn để tập hợp lại của truy vấn; c - Khỏch hàng, p - Mặt hàng và s - Hàng bỏn. Thứ tự của cỏc chiều trong  và  là khụng quan trọng, cõu hỏi psc cũng hoàn toàn giống nhƣ pcs.

Mỗi truy vấn dạng c(p = constant(R)) là yờu cầu về lỏt cắt thụng qua khối con (Khỏch hàng, Mặt hàng). Chỳng ta quy định truy vấn tổng quỏt: cp và gọi là truy vấn về lỏt cắt đối với khối con (Khỏch hàng, Mặt hàng). Dạng tổng quỏt G1,..,Gk

cho khối con (G1,..,Gk, S1,..,Sl) là những khối nhỏ nhất tham gia trả lời cho truy vấn trờn, với k, l là những thứ nguyờn của DW. Một khối con r - chiều sẽ cú nr truy vấn lỏt cắt đƣợc kết nối với nú, bởi vỡ bất kỳ tập con nào của cỏc chiều cú thể xuất hiện trong phần chọn. Một khối dữ liệu n chiều cú tổng cộng (nr)r khối con. Do đú tổng số cỏc truy vấn lỏt cắt đƣợc kết nồi với một khối n chiều là (n

r)2r (r = 0..n)  3n

3.3 Chỉ số

Để tăng tốc độ xử lý cỏc truy vấn ta cú thể sử dụng cấu trỳc chỉ số cõn bằng B_Tree. Vớ dụ đối với khối con (p,s), chỳng ta cú thể xõy dựng cỏc chỉ số nhƣ sau:

Ips: Tỡm những chỉ số đƣợc ghộp lại từ chiều p(Mặt hàng) với chiều s(Hàng bỏn). Isp: Tỡm những chỉ số mà nú đƣợc ghộp lại từ hai chiều s và p

Ở đõy thứ tự cỏc chiều là quan trọng. Cho trƣớc một giỏ trị của p, chỳng ta cú thể sử dụng Ips để tỡm tất cả cỏc hàng trong khối con (p,s) mà nú cú giỏ trị p. Tƣơng tự, cho trƣớc cặp (p,s) chỳng ta sử dụng Ips để tỡm trong khối con (p,s) những hàng, cột cú cặp giỏ trị đú.

Sử dụng chỉ số B-Tree sẽ giỳp chỳng ta rỳt ngắn đƣợc thời gian trả lới cho cỏc truy vấn. Đối với mỗi khung nhỡn chỳng ta cú một số cỏch chỉ số húa. Vớ dụ với khối con (p,s), chỳng ta cú thể xõy dựng bốn cỏch đỏnh chỉ số sau: Ip(ps), Is(ps), Ips(ps), Isp(ps)

Trong mỗi trƣờng hợp chỳng ta liệt kờ cỏc thuộc tớnh khúa tỡm kiếm nhƣ là chỉ số

với khối con: (p,s), mà trong đú chỉ số đƣợc xõy dựng đƣợc lƣu ý đặt trong dấu ngoặc. Mỗi tập con cỏc thuộc tớnh của một khung nhỡn, chỳng ta cú thể xỏc định một chỉ số theo một thứ tự nào đú. Nhƣ vậy cỏc chỉ số cú thể của một khung nhỡn với m thuộc tớnh sẽ là:

Nhƣ vậy, số cỏc chỉ số là quỏ lớn. Núi chung, chỉ số cú thể hỗ trợ trả lời cỏc truy vấn để xử lý dữ liệu nhanh, chớnh xỏc thỡ phải xử lý trƣớc về cỏc lỏt cắt khi một tiền tố của cỏc thuộc tớnh đƣợc chỉ số húa tƣơng ứng những thuộc tớnh lựa chọn trong truy vấn hay chỉ số húa cỏc khung nhỡn vào DW.

3.4 Quan hệ tớnh toỏn và phụ thuộc

Định nghĩa quan hệ tớnh toỏn (ký hiệu là <<) giữa cỏc truy vấn và cỏc khung nhỡn

Với mỗi truy vấn Q và khung nhỡn V, ta núi rằng Q << V nếu kết quả của Q cú thể được tớnh toỏn sử dụng cỏc bộ trong V.

Vớ dụ xột truy vấn Q1 = cs cú thể đƣợc tớnh toỏn từ khung nhỡn V1= sc và luụn luụn tớnh đƣợc từ khung nhỡn V2= psc. Do đú Q1 << V1, và Q1 << V2. Tuy nhiờn nếu V3 = pc, Q1 khụng thể đƣợc tớnh từ V3.

Định nghĩa quan hệ thứ tự bộ phận (ký hiệu là ) trờn cỏc khung nhỡn:

m

r r!

r=0 m

V1  V2 khi và chỉ khi tập cỏc thuộc tớnh của V2 là tập cha của tập cỏc thuộc tớnh của V1 (V1 hẹp hơn V2).

Đo đú ta cú Mặt hàng  Mặt hàng; và Mặt hàng  (Mặt hàng, Khỏch hàng),

nhƣng khụng cú Mặt hàng  Khỏch hàng và Khỏch hàng  Mặt hàng. Cỏc khối con của một khối dữ liệu hỡnh thành một lƣới bờn dƣới  và gọi là quan hệ phụ thuộc

cho cỏc khung nhỡn. Lƣới cỏc khung nhỡn (cỏc khối con) của khối dữ liệu trong vớ dụ trờn nhƣ sau:

Cú một quan hệ giữa quan hệ tớnh toỏn và quan hệ phụ thuộc: nếu V1V2 và Q1<<V1, thỡ Q1<<V2 tức là là tồn tại quan hệ phụ thuộc giữa V1 với V2, và quan hệ tớnh toỏn giữa Q1 với cỏc khung nhỡn đú.

Quan hệ tớnh toỏn cú thể đƣợc mụ tả bằng đồ thị song song, trong đú tập đỉnh là tất cả cỏc truy vấn và cỏc khung nhỡn của một khối dữ liệu. Nếu truy vấn Q cú thể tớnh toỏn từ khung nhỡn V thỡ ta vẽ cạnh nối Q với V và bổ sung cạnh đú vào trong E. Mỗi cạnh (Q,V) luụn cú một trọng số f gọi là phớ tổn hay thời gian để trả lời truy vấn Q sử dụng khung nhỡn V. Xem xột một chỉ số I trờn một khung nhỡn V để giỳp cho trả lời nhanh một truy vấn Q. Chỉ số đú phải khụng ảnh hƣởng đến kết quả tớnh toỏn trong mọi cỏch, nhƣng nú làm tăng tốc độ tớnh toỏn để xỏc định cõu trả lời.

3.5 Mụ hỡnh chi phớ

Để tiện lợi cho ký hiệu và xử lý. Chỳng ta cú thể gộp chỉ số i vào cựng với chi phớ phải trả để trả lới cõu hỏi Q khi sử dụng V thành một cặp nhón cho mỗi cạnh (Q,V).

Cụng thức chi phớ

Từ những phõn tớch trờn, chỳng ta cú thể tổng quỏt húa cụng thức đỏnh giỏ chi phớ những cõu trả lời cho cõu hỏi Q Khi sử dụng khung nhỡn V và chỉ số J.

pcs c sc s Tập rỗng p ps pc pssp ps ps Cỏc truy vấn Ips Isp

Giả thiết Q là cõu hỏi AB trong đú A và B là cỏc tập chiều. B= khi và chỉ khi Q là cõu hỏi về khối con, B= nghĩa là đề cập đến tất cả cỏc chiều.

Giả thiết V là khung nhỡn C. Nếu Q << V, thỡ A  B  C, C =  ký hiệu cho

khung nhỡn rỗng (phần tử nhỏ nhất trong cỏc khung nhỡn).

Giả thiết J là chỉ số ID(V) và D là thứ tự của cỏc thuộc tớnh. D = <> (dóy trống) ký hiệu trƣờng hợp khụng sử dụng chỉ số.

Ký hiệu E là tập con lớn nhất của B sao cho cỏc thuộc tớnh của E tạo thành tiền tố của D (khụng cần thiết phải thực sự). Chi phớ của cõu trả lời cho Q khi sử dụng V cú sử dụng chỉ số J sẽ đuợc xỏc định nhƣ sau:

c(Q,V,J) = dfd

Trong đú |(C)| và |(E)| ký hiệu số cỏc dũng của cỏc bảng dữ liệu tƣơng ứng với khung nhỡn C và E.

Cụng thức trờn luụn tớnh đƣợc trong mọi trƣờng hợp. Trƣờng hợp E = , nghĩa là khụng cú chỉ số đƣợc đỏnh với V, hoặc Q là cõu hỏi về khối con, khi đú || = 1 do vậy C(Q,V,J) = |V|, nghĩa là chỳng ta phải xử lý tất cả cỏc dũng trong V mới cú đƣợc cõu trả lời cho Q.

Chỳng ta hóy xột vớ dụ về CSDL quản lý hàng bỏn ra với khung nhỡn V = (p,s,c) bao gồm 6 triệu dũng, cõu hỏi Q = cps và chỉ số J = Iscp trờn khối con (p,s,c). Ở đõy C=(p,s,c) và E=(s), bởi vỡ tập con lớn nhất tạo thành tiền tố của scp là s. Giả thiết bảng s cú 0.01 triệu dũng. Theo cụng thức thỡ:

c(Q,V,J) =

Xỏc định kớch thước khung nhỡn và chỉ số

Để thực hiện thuật toỏn chỳng ta cần biết cụ thể những thụng tin sau: - Kớch thƣớc của cỏc khung nhỡn

- Kớch thƣớc của từng chỉ số

- Với mỗi bộ 3: (Truy vấn, Khung nhỡn, Chỉ số), chi phớ của cõu trả lời c(Q,V,Y) là bao nhiờu. Ở trờn chỳng ta đó đƣa ra cụng thức trờn để tớnh c(Q,V,J). Vấn đề cũn lại ở đõy là cần xỏc định cụ thể kớch thƣớc của từng

|(C)| |(E)|

6 tr. 0.01 tr.

khung nhỡn và từng chỉ số. Đõy khụng phải là vấn đề đơn giản vỡ kớch thƣớc của chỳng thƣờng rất lớn.

[1] Đỏnh giỏ kớch thước của khung nhỡn

Cú nhiều cỏch xỏc định kớch thƣớc của khung nhỡn mà khụng cần thiết phải cụ thể húa tất cả cỏc khung nhỡn. Chỳng ta cú thể sử dụng phƣơng phỏp phõn tớch và lấy mẫu để xỏc định kớch thƣớc của khung nhỡn từ nhiều khung nhỡn khỏc mà chỳng ta chỉ cần cụ thể húa phần tử V1 lớn nhất (khung nhỡn chứa tất cả cỏc chiều) trong cỏc khung nhỡn. Với một khung nhỡn, nếu cỏc thuộc tớnh nhúm lại mà độc lập, thỡ chỳng ta cú thể xỏc định theo phƣơng phỏp giải tớch theo kớch thƣớc của khung nhỡn. Ngƣợc lại cú thể dựng mẫu V1 để tớnh kớch thƣớc của cỏc khung nhỡn khỏc. Kớch thƣớc của một khung nhỡn là số cỏc giỏ trị khỏc nhau của cỏc thuộc tớnh mà chỳng đƣợc nhúm lại.

[2] Đỏnh giỏ kớch thước của chỉ số

Cho trƣớc kớch thƣớc của mỗi khung nhỡn, chỳng ta hóy tớnh kớch thƣớc của chỉ số tƣơng ứng. Thụng thƣờng kớch thƣớc của khung nhỡn trong mụ hỡnh của chỳng ta là số dũng trong khung nhỡn đú. Kớch thƣớc của chỉ số là số cỏc lỏ của B-Tree theo cỏch đỏnh chỉ số. Mặt khỏc số cỏc nỳt lỏ của B-Tree cho một chỉ số thỡ xấp xỉ số dũng của một khung nhỡn tƣơng ứng.

Kết luận: Kớch thƣớc của một chỉ số trờn khung nhỡn V cũng là kớch thƣớc của

bản thõn khung nhỡn V.

Chỳng ta hóy xột hai chỉ số J1 = IA(V) và J2 = TB(V) đối với cựng một khung nhỡn V. Nếu B là tiền tố thực sự của A thỡ c(Q,V,J1)  c(Q,V,J2) với mọi truy vấn Q. Mặt khỏc, kớch thƣớc của J1 và J2 là cựng xấp xỉ với một kớch thƣớc của một khung nhỡn theo cựng một độ chớnh xỏc, cho nờn chỳng ta cú bỏ J2 mà chỉ xột J1. Nhƣ vậy là với từng khung nhỡn, chỳng ta chỉ cần chọn chỉ số dài nhất để xử lý: đú là những chỉ số mà cỏc thuộc tớnh khúa tỡm kiếm của nú khụng phải là tiền tố thực sự của cỏc thuộc tớnh tỡm kiếm cỳa cỏc chỉ số khỏc trong cựng một khung nhỡn.

Nếu V là khung nhỡn (C), thỡ tập chỉ số sẽ là{ID(V)| D là một hoỏn vị của C}.

3.6 Thuật toỏn chọn khung nhỡn với cỏc chỉ số

Phần này ta sẽ đƣa ra cỏc thuật toỏn để chọn cỏc khung nhỡn và cỏc chỉ số đƣợc cụ thể hoỏ trong khối dữ liệu. Cho trƣớc một tập cỏc khung nhỡn, mỗi khung nhỡn cú

một tập cỏc chỉ số và một tập cỏc truy vấn mà hệ thống cần phải trả lời với chi phớ đƣợc chỉ ra. Mục tiờu là chọn một tập cỏc khung nhỡn và chỉ số sao cho chi phớ để trả lời cho cỏc truy vấn là thấp nhất với cỏc ràng buộc là tập cỏc khung nhỡn và tập cỏc chỉ số khụng chiếm nhiều khụng gian hơn một khụng gian S cho trƣớc. Đõy là vấn đề của bài toỏn NP-đầy đủ. Để giải quyết đƣợc bài toỏn chỳng ta phải xõy dựng những thuật toỏn may rủi, nhƣng phải đảm bảo thuật toỏn thực hiện hiệu quả.

Phỏt biểu bài toỏn

Xột đồ thị lƣỡng phõn, G = (V  Q, E) đƣợc gọi là đồ thị truy vấn - khung nhỡn, V là tập cỏc khung nhỡn, Q là tập cỏc truy vấn.

Với mỗi viV xỏc định tƣơng ứng một bộ (Si, Ii), trong đú Si là khụng gian mà vi chiếm, Ii - tập cỏc chỉ số trờn vi. Ký hiệu Iik là chỉ số thứ k của vi.

Với mỗi qi  Q xỏc định tƣơng ứng chi phớ Ti trả lời cho cõu hỏi qi.

Mỗi cạnh (qi,vj) cú nhón đƣợc gỏn tƣơng ứng là (k,tijk), trong đú tijk là chi phớ trả lời truy vấn qi sử dụng khung nhỡn vj và chỉ số thứ k của nú. Khi k = 0, tijk là chi phớ của cõu trả lời cho qi mà chỉ sử dụng vj.

Mục tiờu: Cho tập cỏc khung nhỡn V và tập cỏc cõu hỏi Q, cần xỏc định M  V,

tập cỏc khung nhỡn và cỏc chỉ số cụ thể sao cho khụng gian mà cỏc khung nhỡn và cỏc chỉ số đú chiếm khụng vƣợt quỏ S đồng thời với cỏch chọn M cũng đảm bảo đƣợc cực tiểu húa chi phớ toàn bộ để cú đƣợc cõu trả lời cho cõu hỏi Q từ một trong cỏc cỏch nhỡn của M. Tức là cần cực tiểu húa đại lƣợng (G,M) sao cho tổng khụng gian mà cỏc khung nhỡn hoặc chỉ số đƣợc lựa chọn từ M nhỏ hơn S.

 (G,M) = min(Ti, min tijk)

Bài toỏn trờn dễ dàng tổng quỏt húa thành bài toỏn xỏc định cỏc khung nhỡn và chỉ số trong khối dữ liệu.

Lợi ớch của một lựa chọn khung nhỡn hoặc chỉ số

Giả sử C - Tập bất kỳ cỏc khung nhỡn và chỉ số trong đồ thị G. S(C) là khụng gian cỏc khung nhỡn hoặc chỉ số chiếm trong C. B(C,M) - là hàm sinh lợi của C so với M với B(C,M) = (G, M) - (G, M  C); B(C, ) là sinh lợi tuyệt đối của C. Về khụng gian, sinh lợi của C so với M sẽ là B(C, M) / S(C).

i = 1 |Q|

Thuật toỏn r - tham lam

Cho trước: G - Đồ thị Khung nhỡn - Truy vấn, S - Tổng khụng gian BEGIN

M = ; /* M = tập cỏc khung nhỡn hoặc chỉ số đó được chọn*/ While (S(M) < S) While (S(M) < S)

Tỡm tất cả cỏc tập khung nhỡn và chỉ số của một trong cỏc dạng sau:

{vi, Iij1, Iij2, ..., Iijp} sao cho vi  M, Iijl  M với 1  l  p, và 0  p< r hoặc

{Iij} sao cho ứng với vi  M và Iij  M.

Giả sử C là một trong số cỏc tập trờn mà sinh lợi khụng gian so với M cực đại.

Đặt M = M  C; END while

Return M; END;

Thuật toỏn r - tham lam thực hiện trong một số bƣớc, mà mỗi bƣớc thỡ chọn tập con của C chứa nhiều nhất r khung nhỡn hoặc chỉ số. C là tập hợp gồm:

- Một khung nhỡn và một số chỉ số tƣơng ứng của nú hoặc - Một chỉ số mà khung nhỡn đó đƣợc chọn ở bƣớc trƣớc.

Vấn đề chớnh của thuật toỏn là chọn C ở mỗi bƣớc sao cho sinh lợi của nú so với M là cực đại.

Đỏnh giỏ thuật toỏn: Giả thiết cú n khung nhỡn trong khối dữ liệu và mỗi khung

nhỡn cú nhiều nhất một chỉ số. Khi đú thuật toỏn r - tham lam phải thực hiện ở mỗi bƣớc cần tớnh toỏn sinh lợi của n*1+n* (1/r-1) tập hợp. Nhƣ vậy độ phức tạp của thuật toỏn sẽ là (kmr) trong đú m là số khung nhỡn hay chỉ số cho trƣớc của đồ thị G và k là số khung nhỡn hay chỉ số đƣợc chọn trong thuật toỏn, trƣờng hợp xấu nhất là bằng S.

Thuật toỏn tham lam tổng quỏt

Cũng nhƣ trờn, mỗi bƣớc của thuật toỏn cần chọn một tập con C bao gồm: Một khung nhỡn và một số chỉ số đƣợc chọn khụng bị hạn chế về số lƣợng hoặc một chỉ số mà khung nhỡn tƣơng ứng đó đƣợc chọn ở bƣớc trƣớc.

Cần lƣu ý là kớch thƣớc của C sẽ khụng bị giới hạn bởi r nhƣ thuật toỏn mụ tả ở trờn. Mỗi bƣớc của thuật toỏn phải thực hiện hai phần:

- Với mỗi khung nhỡn vi chỳng ta xõy dựng tập IGi mà lỳc đầu chỉ chứa vi. Sau đú bổ sung thờm dần cỏc chỉ số vào IGi cho đến khi sinh lợi về khụng gian của IGi, tập cỏc khung nhỡn hoặc chỉ số đó đƣợc chọn, đạt tới cực đại.

- Tiếp theo là chọn chỉ số mà sinh lợi khụng gian của khung nhỡn tƣơng ứng so

Một phần của tài liệu CÔNG NGHỆ XỬ LÝ PHÂN TÍCH TRỰC TUYẾN TRONG VIỆC TRỢ GIÚP QUYẾT ĐỊNH (Trang 59 -67 )

×