2. Cấu trúc luận văn
2.3.5. Xác định ma trận sử dụng các thuộc tính
Trong các phần này và phần sau, quá trình phân đoạn được thể hiện qua thí dụ đơn giản. Thủ tục hình thức được thể hiện qua thuật toán trong phần sau. Nhắc lại là có các quá trình cần thiết (i) phân cụm các thuật toán, để đạt được năng lượng tích tụ cực đại; (ii) hoán vị các cột, dòng của ma trận thuâ ̣t toán, để tạo các cụm thuộc tính có xác suất được các giao tác {Ti} truy cập gần như nhau, tức cực đại hóa giá trị về giá.
Theo thí dụ trong tài liệu của Boback [6], giả sử có lược đồ đơn giản R(mã số của đơn vị, tên lãnh đạo đơn vị, địa chỉ, tên đơn vị, số nhân viên), kí hiệu để tiện trình bày thí dụ R(C1, …, C5). Thuộc tính C1 là khóa của quan hệ.
Hình 2.6. Chương trình SQL để khai báo lược đồ
Người ta xác định các quá trình Pk truy cập các cột dữ liệu Ci. Quá trình P Các thuộc tính được truy cập
P1 Pp P3 P4 P5 C1, C4 Cp, C5 C3, C4 C1, C3 C3, C5 Bảng 2.2. Quá trình Pk truy cập Ci
Thể hiện qua dạng ma trận, ngườ i ta có ma trận sử du ̣ng các thuộc tính.
Giả sử có các trạm S1, …, S4. Các tần suất truy cập của mỗi quá trình được xác định theo ACC (Pj) = giá trị, trạm = i. Từ các có số này, và tham số REF (Pj) cho biết số các tham chiếu của Pj đến bảng dữ liệu, ngườ i ta tính được:
AFFj = REF (Pj) * ACC (Pj) (công thức 2)
Theo [6], trong nhiều tài liệu, ngườ i ta chọn REF = 1.
Hình 2.8. Các tần suất truy cập của các quá trình Pj
Như vậy độ hấp dẫn của các thuộc tính được thống kê là:
Bảng 2.3. Các AFF tính được dựa trên các ACC, như kết quả trong hình 5
Quá trình P Các thuộc tính được truy cập Hấp dẫn AFF
P1 Pp P3 P4 P5 C1, C4 Cp, C5 C3, C4 C1, C3 C3, C5 4 7 5 5 4 2.3.6. Xây dựng ma trận hấp dẫn xếp cụm
Thuật toán hấp dẫn tụ năng lượng BEA được trình bày trực quan qua thí dụ vừa nêu, với các bước dưới đây. Sơ đồ khối thực hiện thuật toán, trong bài toán ứng dụng thực tế, được trrình bày trong chương 3 của luận văn.
2.3.6.1. Viết lại ma trận
Ma trận hấp dẫn xếp cụm được xác định theo bảng trên là:
Hình 2.9. Ma trận hấp dẫn xếp cụm
Các giá trị trên đường chéo, ứng với (Ci, Ci) cần được tính lại, để thuận tiện cho thuật toán phân cụm các thuộc tính theo sự sử du ̣ng.
Hình 2.10. Ma trận hấp dẫn xếp cụm với đường chéo được tính lại
2.3.6.2. Xác định mức năng lượng
Ma trận này phải cho thấy các cụm có xác suất được quá trình truy cập gẫn như nhau. Để đạt được điều này, cần (i) xác định giá trị đóng góp giữa cụm ba thuộc tính X, Y, Z, để quyết định việc cần thiết hoán vị chúng; (ii) sự liên hệ giữa hai thuộc tính X, Y.
Theo tài liệu của McCormick, 1972 [10] mối liên hệ giữa hai thuộc tính, trong thuật toán BEA để tính năng lượng liên quan, được tính là tổng theo dòng của tích giá trị của hai cột trong ma trận hấp dẫn xếp cụm. Kí hiệu đó là BOND (X, Y).
Hình 2.11. Thí dụ tính BOND (C1, C3)
Các giá trị đóng góp CONT (X, Y, Z) được tính theo công thức:
CONT (X, Y, Z) = 2 * (BOND(X, Y) + BOND (Y, Z) - BOND(X, Z))
2.3.6.3. Lựa chọn phương án phân cụm lần 1
Vấn đề đặt ra là đối với ba thuộc tính C1, Cp, C3, trong ma trận đã có thứ tự C1, Cp, sẽ có phương án hoán vị nào để trên ma trận hấp dẫn, ngườ i ta đạt được giá trị năng lượng cao nhất. Có nhiều hoán vị khác nhau 3!= 6. Tuy nhiên có thể xét C3 so với C1, Cp:
Hình 2.12. Xét C3 đối với cặp C1, Cp đã hình thành
C3 trước C1: kí hiệu là C0, C3, C1;
C3 xếp giữa C1, Cp: xem xét sự đóng góp của C1, C3, C3. Kí hiệu là C1, C3, Cp;
Cp sau Cp: xem xét vai trò của C3 đối với bên cạnh, tức xét Cp, C3, C4. Kí hiệu Cp, C3, C4.
Hình 2.13. Thuộc tính C3 được đặt giữa C1, Cp do CONT (C1, C3, Cp) đạt max
2.3.6.4. Tiếp tục với thuộc tính khác
Tiếp tục xét các thuộc tính còn lại, xem chúng được xếp vào đâu sẽ đảm bảo tụ năng lượng tốt hơn. Với cột C4, đối với C1, C3, Cp đã được xếp, có các khả năng:
C4 trước C1, tức ứng với kí hiệu C0, C4, C1; cột C0, như lần trước, được bổ sung để xét vai trò của thuộc tính C4;
C4 sát sau C1, tức C1, C4, C3;
C4 sau sát C3, tức C3, C4, Cp;
C4 xếp sau cùng, tức sau Cp; khi đó với vị trí C4, ngườ i ta xét Cp, C4, C5.
Hình 2.14. Vị trí tương đối trước khi xét C4
Việc tính các giá trị đóng góp:
Do CONT (C1, C4, C3) đạt cực đại, cột ứng với thuộc tính C4 được đặt giữa cột C1 và C3 trong ma trận hấp dẫn xếp cụm. Kết quả ma trận thu được là:
Hình 2.15. Kết quả xếp cột C4
2.3.6.5. Xét cột C5
Hình 2.16. Cột C5 cần xếp đối với bốn cột đã có
Tương tự như bước trên, người ta cần xét các khả năng, ứng với vị trí C5 đối với bốn cột đã có.
C0, C5, C1;
C1, C5, C4;
C4, C5, C3;
C3, C5, Cp;
Cp, C5, C6. Cột C6 ứng với cột N+1, tưởng tượng ra để xét vai trò của C5 đối với các cột kề nó.
Trật tự C3, C5, Cp có giá trị đóng góp cao nhất, nên cuối bước này, người ta có ma trận hấp dẫn xếp cụm như sau.
CONT(C0, C5, C1) = 2 X BOND(C0, C5) + 2 X BOND(C5, C1) –
2 X BOND(C0, C1) BOND(C0, C5) = BOND(C0, C1) = 0 BOND(C5, C1) = 0
CONT(C0, C5, C1) = (2 X 0) + (2 X 0) – (2 X 0) = 0 CONT(C2, C5, C6) = 2 X BOND(C2, C5) + 2 X BOND(C5, C6) – 2 X BOND(C2, C6) BOND(C5, C6) = 0 BOND(C2, C6) = 0 BOND(C2, C5) = (7 X 7) + (7 X 11) = 126 CONT(C2, C5, C6) = (2 X 126) + (2 X 0) – (2 X 0) = 252 CONT(C1, C5, C4) = 2 X BOND(C1, C5) + 2 X BOND(C5, C4) – 2 X BOND(C1, C4) BOND(C1, C5) = 0 BOND(C5, C4) = (5 X 4) = 20 BOND(C1, C4) = 52 CONT(C1, C5, C4) = (2 X 0) + (2 X 20) – (2 X 52) = -64 CONT(C4, C5, C3) = 2 X BOND(C4, C5) + 2 X BOND(C5, C3) – 2 X BOND(C4, C3) BOND(C4, C5) = 20 BOND(C5, C3) = (9 X 4) + (4 X 11) = 80 BOND(C4, C3) = 90 CONT(C4, C5, C3) = (2 X 20) + (2 X 80) – (2 X 90) = 20 CONT(C3, C5, C2) = 2 X BOND(C3, C5) + 2 X BOND(C5, C2) – 2 X BOND(C3, C2) BOND(C3, C5) = 80 BOND(C5, C2) = 126 BOND(C3, C2) = 28 CONT(C3, C5, C2) = (2 X 80) + (2 X 126) – (2 X 28) = 356
Hình 2.17. Ma trận hấp dẫn cuối cùng
Tuy nhiên ma trận này cần được xếp lại, để thứ tự các hàng được xếp như thứ tự các cột. Như vậy người ta hoán vị các dòng, thu được ma trận đã sắp xếp.
Hình 2.18. Ma trận hấp dẫn cuối cùng đã sắp xếp
2.3.7. Phân đoạn ma trận hấp dẫn
2.3.7.1. Ma trận hấp dẫn của các thuộc tính
Theo [6], quay lại bảng thống kê, cho phép xác định AFF, tức mức độ hấp dẫn giữa các thuộc tính. Mức hấp dẫn tạo nên ma trận hấp dẫn AA. Ngườ i ta có vài khái niệm sau:
Đối với mỗi giao tác Tk, như trên đã xét các quá trình Pk, ngườ i ta đưa ra uki = 1, cho biết giao tác k sử du ̣ng thuộc tính Ai; ngược lại uki =0.
Người ta xác định các kiểu truy cập (i) 'r' ứng với tìm kiếm; (ii) 'u'
ứng với cập nhật. giữa hai thuộc tính Ai, Aj có AFF (Ai, Aj), kí hiệu là AFFij.
Xác định AFF theo công thức: 1 1 |uki ukj k k ij ACC AFF Công thức 3
Hình 2.19. Ma trận sử du ̣ng các thuộc tính, như hình 4, nhưng cho T truy cập nhiều Ai
ACC là độ đo số các truy cập của giao tác Tk đến thể hiện của đối tượng trong chu kì thời gian. Nó được xác định theo ACCk = nk * freqk; trong đó nk là số các truy cập đến thể hiện đối tượng đối với một thể hiện của giao tác k, tính trên một trạm; freqk là tần suất thể hiện của giao tác k, trên một trạm. Nếu tính trên nhiều trạm, ACCk được tính
j
kj j
k n freq
ACC * , trong đó
freqkj là tần suất thể hiện giao tác k tại trạm j.
Vậy theo dữ liệu đầu vào như trong bảng 3, với nhiều trạm, AFF (ứng với quá trình Pk) trong bảng 3 chính là ACC (ứng với giao tác Tk) đang đề cập. Tuy nhiên ngườ i ta tính theo công thức 4 và xét hình 16:
AFF11 = ACC1 + ACC4 = 4 + 5 =9, do u11=1, u41=1;
AFF12=0 do không có k để uk1=1 và uk2=1;
AFF13 = ACC1 + ACC3 = 4 + 5 = 9, do có u41 = 1 và u43=1;
AFF14=0;
AFF15 =0 …
2.3.7.2. Phân cụm các thuộc tính
j i j i j i j i j i
ij AFF AFF AFF AFF
AFF , , 1 , 1 1 , 1 , ) ( Công thức 4
Công thức này tương tự công thức 1 về độ đo năng lượng ME. Thuật toán hoán vị các thuộc tính, để tính năng lượng cực đại. Trong công thức trên, lấy AFFi, 0 = AFF0, j = AFFi, n+1 = AFFn+1, j =0.
2.3.7.3. Phân đoạn ma trận hấp dẫn xếp cụm đã sắp xếp các dòng
Quay lại với ma trận cuôi cùng của bước trước. Trong ma trận này, cần xác định điểm x trên đường chéo chính. Điểm x xác định hai khối U và L, ứng với khối trên, khối dưới. Mỗi khối xác định đoạn dọc theo các thuộc tính trong khối đó. Ngườ i ta kí hiệu A(k) = {i| uki =1}. Ngoài ra T = {k | k là giao tác}; LT = { k | A(k) L}; UT = { k | A(k) U}; IT = T - {LT UT}. Xác định tiếp k IT k k UT k k LT k T k
k CL ACC CU ACC CI ACC
ACC CT , , ,
Nhiệm vụ của pha này là cực đại hóa z = CL * CU - CI2. Công thức 5
Hình 2.20. Chọn điểm x
Hoặc đơn giản, khi chọn được điểm x, ngườ i ta xem đã tách được các khối; kí hiệu CTQ ứng với các ứ ng du ̣ng truy cập các thuộc tính thuộc nửa trên của ma trận; CBQ ứng với ứ ng du ̣ng truy cập các thuộc tính thuộc nửa dưới ma trận; CTBQ ứng với các ứng du ̣ng truy cập các thuộc tính của phần dưới và thuộc tính phần trên.
2.3.7.4. Bước tìm x đầu tiên
Người ta bắt đầu với điểm x dưới cùng, trên đường chéo chính; đó là tọa độ Cp, Cp của ma trận.
Hình 2.21. Ma trận đầu vào cho việc tìm x lần đầu
Các quá trình ứng với CTQ là PCTQ, ứng với CBQ là PCBQ, và quá trình ứng với CTBQ là PCTBQ. Theo dữ liệu đầu vào, bảng 2, ngườ i ta có:
PCTQ = {P1, P3, P4, P5};
PCBQ = rỗng;
PCTBQ = {Pp}.
Theo dữ liệu bảng 3, tính được giá của các quá trình:
Giá của PCTQ = 4 + 5+5+4 = 18;
Giá của PCBQ = 0;
Giá của PCTBQ = 7.
Theo cách tính của công thức 5, kiểm tra thấy giá trị cực đại là Giá cực đại = 18*0-72 = - 49
2.3.7.5. Các bước tìm x tiếp theo
Tiếp theo, dịch lên phía trái trên, ngườ i ta đến tọa độ C5, C5. Đầu vào lag ma trận như hình sau:
Hình 2.22. Ma trận đầu vào đối với C5, C5
Việc tính mức đóng góp và giá cực đại như đối với điểm x trước đây. Người ta vẫn dựa vào thông tin trong bảng 2 và bảng 3, ứng với các dữ liệu đầu vào cho quá trình phân đoạn.
Người ta có
Do vậy, theo công thức tính giá, thu được giá cực đại với giải pháp chọn điểm x để phân đoạn là C5, C5: 14 * 7 - 42 = 82.
Đối với lần tính này, người ta cần chuyển vị dòng cuối lên đầu, cột đầu về cuối. Như vậy ngườ i ta được ma trận khác.
Hình 2.23. Chuyển vị sau một lần tính giá trị cực đại
Tiếp tục chuyển lên tọa độ x khác. Bây giờ đó là tọa độ C4, C5.
Do vậy, giá cực đại ứng với trường hợp này của x: 5 * 7 - 13* 13 = - 134.
Ma trận lại được chuyển vị; dòng cuối lên đầu, cột đầu về cuối.
Hình 2.24. Ma trận chuyển vị, là cuối của bước này, đầu vào cho bước chọn x tiếp theo.
Xuất phát từ ma trận hình 21, điểm x mới ứng với tọa độ Cp, C5. Theo dữ liệu bảng 2, bảng 3, thu được:
Giá của các quá trình: của PCTQ là 0; của PCBQ là 4 + 7 =11; của PCTBQ là 5 + 5 + 4 = 14. Giá trị cực đại là 0 * 11 - 14 * 14 = - 196.
Hình 2.25. Chuyển vị, nhưng không cần thiết.
2.3.7.6. Đánh giá cuối cùng
Trở lại ma trận ban đầu, như hình sau.
Hình 2.26. Phân đoạn trên ma trận ban đầu, tức ma trận hấp dẫn xếp cụm.
Điểm x cho giá trị đánh giá cực đại ứng với giá 82, tức tọa độ C5, C5. Cũng có thể xem đó là tọa độ C3, C3.
Với điểm x này, ngườ i ta được các đoạn {C1, C4, C3} và {C5, Cp}. Do C1 là thuộc tính khóa, ngườ i ta cần bổ sung nó vào đoạn sau, tức có hai đoạn:
{C1, C4, C3}, tức {mã số của đơn vị, tên đơn vị, địa chỉ};
{C1, C5, Cp}, tức {mã số của đơn vị, số nhân viên, tên lãnh đạo đơn vị}.
Sau khi có các đoạn, người ta lại phân đoạn tiếp đối với mỗi đoạn nhỏ, nếu thấy cần thiết.
2.4. Kết luận chương
Chương 2 đã trình bày khái niệm về phân đoạn trong quá trình thiết kế cơ sở dữ liệu phân tán. Phần trên đã giới thiệu (i) phân đoạn ngang; (ii) phân đoạn dọc và phân đoạn hỗn hợp.
Phân đoạn dọc được trình bày chi tiết, từng bước với việc áp dụng thuật toán tụ năng lượng. Thuâ ̣t toán tụ năng lượng là mấu chốt trong thiết kế cơ sở dữ liệu phân tán theo phân đoạn dọc.
Chương 3
THỬ NGHIỆM VÀ ỨNG DỤNG THỰC TẾ
3.1. Hệ thống cơ sở dữ liệu phục vụ tuyển sinh THPT tại Sở
3.1.1. Sơ đồ cơ sở dữ liệu phân tá n
Quá trình phân tích, thiết kế hệ thống truy cập cơ sở dữ liệu phân tán cho thấy như sơ đồ sau.
Hiện tại chương trình được thử nghiệm với bốn trạm: 1. Đại từ
2. Đồng Hỷ; 3. Phú Bình; 4. Lương Phú.
Máy chủ cơ sở dữ liệu phân tán tại Sở GDDT Thái Nguyên, chức năng quản trị chung
Cơ sở dữ liệu :
-R1,… Rn dữ liệu về các trường : Lương Phú, Đồng Hỷ, Đại từ…
- Dữ liệu C1 : dữ liệu về thí sinh dự thi chuyên - Dữ liệu D1 : dữ liệu về thí sinh dự thi dân tộc nội trú
- Dữ liệu K : liên quan đến khu công nghiệp
Máy THPT Lương Phú, lưu trữ và xử lí dữ liệu cục bộ Máy THPT chuyên, lưu trữ và xử lí dữ liệu cục bộ
Máy Dân tộc nội trú, lưu trữ và xử lí dữ liệu cục bộ Máy THPT Sông Công, lưu trữ và xử lí dữ liệu cục bộ Dữ liệu về các trường bình thường R1,…, Rn Dữ liệu về thí sinh
chuyên C1 Dữ liệu về thí sinh dân tộc D1
Dữ liệu về các trường công nghiệp K
3.1.2. Các truy cập dữ liệu từ các trường
Dữ liệu thử nghiệm tập hợp từ các cơ sở đào tạo, tạo nên quan hệ cần được phân đoạn.
Liên quan đến luận văn, trong chương này, bài toán đề cập là phân đoạn dọc.
Quan hệ được xét có n thuộc tính. Thử nghiệm hiện tại n <= 15. Tuy nhiên, số lượng các thuộc tính của quan hệ tổng quát có thể chỉnh lí được.
Một số thuộc tính là: 1. Họ và tên học sinh;
2. Ngày tháng năm sinh của học sinh; 3. Giới tính, nam hoặc nữ, của học sinh;
4. Tên trường, tức cơ sở đào tạo trung học cơ sở; 5. Điểm trung học cơ sở;
6. Điểm ưu tiên, đối với khu vực, gia đình thương binh, liệt sĩ, dộc tộc thiểu số… 7. Điểm khuyến khích; 8. Điểm văn; 9. Điểm toán; 10.Điểm trung bình cộng. 3.2. Phân đoạn dọc 3.2.1. Đặt vấn đề
Với hình dạng của cơ sở dữ liệu phân tán đề xuất, luận văn đặt ra yêu cầu đối với thiết kế cơ sở dữ liệu phân tán theo phân đoạn dọc với các nhiệm vụ sau:
1. Tại mỗi trường THPT, cán bộ giáo dục thu thập thông tin về các thí sinh. Thông tin này được tổ chức theo bảng 2 chiều (i) dòng ứng với thí sinh; (ii) cột ứng với thuộc tính;
2. Sở GDDT thu thập tất cả nguồn dữ liệu từ các cơ sở đào tạo, tức