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

Một số thuật toán tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.53 MB, 80 trang )

i

LỜI CAM ĐOAN
Tôi xin cam đoan, kết quả của luận văn hoàn toàn là kết quả của tự bản thân
tôi tìm hiểu, nghiên cứu. Các tài liệu tham khảo được trích dẫn và chú thích đầy đủ.

Thái Nguyên, ngày 11 tháng 4 năm 2016
Học viên

Vũ Đức Mạnh


ii

MỤC LỤC
MỞ ĐẦU .................................................................................................................... 1
1. Lý do chọn đề tài ...................................................................................................1
2. Mục đích của đề tài ...............................................................................................1
3. Đối tượng và phạm vi nghiên cứu .......................................................................1
4. Phương pháp nghiên cứu .....................................................................................2
5. Các kết quả dự kiến đạt được ..............................................................................2
Chương 1: KHÁI QUÁT VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN ............................... 3
1.1. Cơ sở dữ liệu phân tán ......................................................................................3
1.1.1. Khái niệm ...................................................................................................3
1.1.2. Hệ quản trị cơ sở dữ liệu phân tán ..........................................................4
1.1.3. Ưu điểm của CSDL phân tán ...................................................................4
1.1.4. Nhược điểm của CSDL phân tán .............................................................5
1.2. Đặc điểm của cơ sở dữ liệu phân tán ...............................................................5
1.2.1. Chia sẻ tài nguyên .....................................................................................5
1.2.2. Tính mở ......................................................................................................6
1.2.3. Khả năng song song ..................................................................................6


1.2.5. Khả năng thứ lỗi ........................................................................................7
1.2.6. Tính trong suốt ..........................................................................................7
1.2.7. Đảm bảo tin cậy và nhất quán ..................................................................7
1.3. Các đặc trưng trong suốt của cơ sở dữ liệu phân tán ....................................7
1.3.1. Trong suốt phân tán ..................................................................................7
1.3.2. Trong suốt giao dịch ..................................................................................8
1.3.3. Trong suốt thất bại ....................................................................................9
1.3.4. Trong suốt thao tác ..................................................................................9
1.3.5. Trong suốt về tính không thuần nhất .......................................................9
1.4. Kiến trúc cơ bản của cơ sở dữ liệu phân tán ..................................................9
1.5. Các kĩ thuật xây dựng cơ sở dữ liệu phân tán ..............................................10
1.5.1. Phân mảnh dữ liệu .................................................................................11


iii

1.5.1.1. Phương pháp phân mảnh ngang .......................................................11
1.5.1.2. Phương pháp phân mảnh dọc ...........................................................15
1.5.1.3. Phương pháp phân mảnh hỗn hợp. ...................................................16
1.5.2. Nhân bản dữ liệu ....................................................................................18
1.5.3. Định vị dữ liệu ........................................................................................18
1.6. Kết luận chương 1 ............................................................................................19
Chương 2: TỐI ƯU HÓA TRUY VẤN CƠ SỞ DỮ LIỆU PHÂN TÁN ............ 20
2.1. Vấn đề tối ưu hóa xử lý truy vấn ....................................................................20
2.1.1. Bài toán xử lý truy vấn ...........................................................................20
2.1.2. Các quy tắc biến đổi cây đại số quan hệ.................................................22
2.1.2.1. Tính chất giao hoán của các phép toán hai ngôi ..............................22
2.1.2.3. Tính lũy đẳng của các phép toán đơn ngôi .......................................23
2.1.2.4. Giao hoán phép chọn với phép chiếu ...............................................23
2.1.2.5. Giao hoán phép chọn với các phép toán hai ngôi .............................23

2.1.2.6. Giao hoán phép chiếu với phép toán hai ngôi. ..................................23
2.2. Quá trình xử lý truy vấn .................................................................................23
2.2.1. Phân rã truy vấn .....................................................................................24
2.2.1.1. Chuẩn hóa câu truy vấn .....................................................................25
2.2.1.2. Phân tích ............................................................................................26
2.2.1.3. Loại bỏ dư thừa ..................................................................................28
2.2.1.4. Viết lại ................................................................................................29
2.2.2. Cục bộ hóa dữ liệu phân tán ..................................................................31
2.2.2.1. Rút gọn cho phân mảnh ngang nguyên thủy .....................................32
2.2.2.2. Rút gọn cho phân mảnh ngang dẫn xuất ...........................................34
2.2.2.3. Rút gọn cho phân mảnh dọc. .............................................................36
2.2.2.4. Rút gọn cho phân mảnh hỗn hợp .......................................................37
2.2.3. Tối ưu hóa toàn cục ................................................................................38
2.2.4. Tối ưu hóa cục bộ ....................................................................................38


iv

2.3. Tối ưu hóa truy vấn phân tán .........................................................................38
2.3.1. Không gian tìm kiếm ...............................................................................39
2.3.2. Chiến lược tìm kiếm ................................................................................40
2.3.3. Mô hình chi phí .......................................................................................41
2.3.4. Thứ tự kết nối ..........................................................................................45
2.4. Các thuật toán tối ưu hóa truy vấn phân tán ...............................................47
2.4.1. Thuật toán INGRES phân tán ................................................................48
2.4.2. Thuật toán R* ..........................................................................................53
2.4.3. Thuật toán DP - ACO ..............................................................................57
2.4.3.1. Thuật toán tối ưu đàn kiến (ACO Metaheuristic)[10] .......................57
2.4.3.2. Quy hoạch động (DP)[5] ...................................................................59
2.4.3.3. Kết hợp thuật toán tối ưu đàn kiến và quy hoạch động để tối ưu hóa

truy vấn trong CSDL phân tán [5] ..................................................................60
2.5. Kết luận chương 2 ............................................................................................62
Chương 3: ỨNG DỤNG CÁC THUẬT TOÁN TỐI ƯU HÓA TRUY VẤN
TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN ............................................................... 63
3.1. Giới thiệu bài toán quản lý nhân sự...............................................................63
3.2. Thiết kế cơ sở dữ liệu .......................................................................................63
3.3. Mô hình phân tán CSDL, công cụ, ngôn ngữ lập trình ...............................66
3.4. Cài đặt thuật toán ............................................................................................66
3.5. Kết quả thực nghiệm .......................................................................................67
3.6. Kết luận chương 3 ............................................................................................72
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ............................................................. 73
1. Kết luận ................................................................................................................ 73
2. Hướng phát triển của luận văn .......................................................................... 73
TÀI LIỆU THAM KHẢO ...................................................................................... 74


v

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
Ký hiệu

STT

Diễn giải

1

CSDL

Cơ sở dữ liệu


2

DBMS (Database Management System)

Hệ quản trị cơ sở dữ liệu

3

DDBMS (Distributed Database
Management System)

Hệ quản trị cơ sở dữ liệu phân tán

4

DP (Dynamic Programming)

Quy hoạch động

5

ACO (Ant Colony Optimization)

Tối ưu đàn kiến

6

PT (Processing tree)


Cây xử lý

7

SSL (Search Space Limit)

Giới hạn không gian tìm kiếm

8

CPU (Central Processing Unit )

Bộ xử lý trung tâm

9

I/O (Input/Output)

Vào/Ra


vi

DANH MỤC CÁC HÌNH VẼ
Hình 1.1. Mô hình CSDL phân tán .......................................................................... 3
Hình 1.2. Mô hình kiến trúc của CSDL phân tán .................................................... 10
Hình 1.3. Phân mảnh hỗn hợp .................................................................................. 16
Hình 1.4. Cây phân tách của quan hệ .................................................................... 17
Hình 1.5. Tái xây dựng phân mảnh hỗn hợp ............................................................ 18
Hình 2.1. Các giải pháp truy vấn tương đương........................................................22

Hình 2.2. Sơ đồ truy trình xử lý truy vấn ................................................................ 24
Hình 2.3. Đồ thị truy vấn và Đồ thị nối ................................................................... 27
Hình 2.4. Đồ thị truy vấn và Đồ thị nối với câu truy vấn sai ngữ nghĩa .................. 28
Hình 2.5. Cây đại số quan hệ ................................................................................... 30
Hình 2.6. Cây đại số quan hệ sau khi tái cấu trúc ................................................... 31
Hình 2.7. Câu truy vấn gốc ...................................................................................... 33
Hình 2.8. Câu truy vấn đã rút gọn ........................................................................... 33
Hình 2.9. Rút gọn phân mảnh ngang với phép nối .................................................. 34
Hình 2.10. Rút gọn cho phân mảnh ngang dẫn xuất ............................................... 36
Hình 2.11. Rút gọn phân mảnh dọc.......................................................................... 37
Hình 2.12. Rút gọn phân mảnh hỗn hợp .................................................................. 38
Hình 2.13. Quá trình xử lý truy vấn tối ưu ............................................................... 39
Hình 2.14. Các cây nối ............................................................................................. 40
Hình 2.15. Đồ thị minh họa tổng chi phí và thời gian trả lời ..........................42
Hình 2.16. Truyền các toán hạng trong phép toán hai ngôi ............................46
Hình 2.17. Đồ thị nối của truy vấn phân tán ............................................................ 46
Hình 2.18. Đồ thị nối của truy vấn q1 ...................................................................... 55
Hình 2.19. Các thứ tự kết nối ................................................................................... 57
Hình 2.20. Quá trình quyết định đường đi của đàn kiến .......................................... 58
Hình 3.1. Mối quan hệ giữa các bảng dữ liệu .......................................................... 66
Hình 3.2. Kết quả thực hiện câu truy vấn tại trạm 1 ................................................ 68
Hình 3.3. Kết quả thực hiện câu truy vấn tại trạm 2 ................................................ 69
Hình 3.4. Kết quả thực hiện câu truy vấn tại trạm 3 ................................................ 71


1

MỞ ĐẦU
1. Lý do chọn đề tài
Sở Giáo dục và Đào tạo (GD&ĐT) tỉnh Yên Bái hiện đang quản lý trực tiếp 9

phòng GD&ĐT, 24 trường Trung học phổ thông, 6 trung tâm, 2 trường chuyên
nghiệp, với đội ngũ cán bộ quản lý, giáo viên và nhân viên lên tới hàng trăm nghìn
người. Hiện nay tất cả các đơn vị trên đều đang sử dụng mạng internet.
Do trong một năm học, việc thống kê tình hình nhân sự của Sở GD&ĐT đối
với các đơn vị được thực hiện cố định theo định kì đầu, giữa và cuối năm học; tại
thời điểm trong năm học, nếu một số đơn vị có sự thay đổi nhân sự hoặc thay đổi
thông tin khác thì số liệu tại thời điểm thống kê trước đó tại Sở GD&ĐT sẽ không
còn chính xác nữa và để có dữ liệu chính xác thì phải thực hiện qua nhiều bước
trung gian, sẽ mất nhiều thời gian. Mặt khác, từ thực tế công việc nhiều khi Bộ
GD&ĐT hay UBND tỉnh yêu cầu báo cáo đột xuất về tình hình nhân sự thật chính
xác thì việc cập nhật sẽ gặp rất nhiều khó khăn và có thể chậm tiến độ.
Xuất phát từ thực tế nhu cầu công việc, tôi nhận thấy có thể ứng dụng cơ sở dữ
liệu phân tán để giải quyết những khó khăn ở trên; chính vì vậy tôi chọn nghiên cứu
đề tài "Một số thuật toán tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán” làm luận
văn tốt nghiệp.
2. Mục đích của đề tài
Nghiên cứu các phương pháp thiết kế cơ sở dữ liệu phân tán, các kỹ thuật tối
ưu hóa câu truy vấn trong cơ sở dữ liệu phân tán, cài đặt thử nghiệm một số thuật
toán tối ưu hóa câu truy vấn trong cơ sở dữ liệu phân tán, từ đó đưa ra nhận xét,
đánh giá ưu điểm, nhược điểm của từng thuật toán tối ưu để có lựa chọn phù hợp
với từng bài toán thực tế.
3. Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu là cơ sở dữ liệu phân tán, các câu truy vấn phân tán,
các thuật toán tối ưu hóa và ứng dụng.
- Phạm vi nghiên cứu là kỹ thuật đồng bộ và tối ưu truy vấn trong cơ sở dữ
liệu.


2


4. Phương pháp nghiên cứu
- Nghiên cứu lý thuyết: tìm hiểu các nghiên cứu từ các tài liệu trong sách, tạp
chí các bài viết trên mạng internet… tổng hợp so sánh để viết thành luận văn;
- Nghiên cứu thực nghiệm: Cài đặt thử nghiệm.
5. Các kết quả dự kiến đạt được
- Giới thiệu tổng quan về CSDL phân tán;
- Trình bày phương pháp tối ưu hóa truy vấn;
- Cài đặt thử nghiệm thuật toán tối ưu hóa truy vấn.
6. Ý nghĩa khoa học của đề tài
Việc tối ưu hóa trên cơ sở dữ liệu phân tán sẽ giúp cho việc nghiên cứu, khai
thác ứng dụng trên hệ thống phân tán, chủ yếu là qua môi trường mạng được thuận
lợi và phát triển hơn nhờ những ưu điểm sau:
- Giảm thiểu thời gian xử lý;
- Giảm vùng nhớ trung gian;
- Giảm chi phí truyền thông giữa các trạm;
- Sử dụng ít tài nguyên.
7. Bố cục luận văn
Bố cục của luận văn gồm: phần mở đầu, ba chương nội dung và phần kết luận.
Chương 1: Khái quát về cơ sở dữ liệu phân tán. Giới thiệu tổng quan về cơ sở
dữ liệu phân tán, phân biệt cơ sở dữ liệu tập trung với cơ sở dữ liệu phân tán để thấy
được sự khác biệt của hai cơ sở dữ liệu này và lợi ích của cơ sở dữ liệu phân tán;
Tìm hiểu các phương pháp thiết kế cơ sở dữ liệu phân tán, tập trung nghiên cứu các
kỹ thuật phân mảnh: phân mảnh ngang, phân mảnh dọc và phân mảnh hỗn hợp.
Chương 2: Tối ưu hóa truy vấn cơ sở dữ liệu phân tán. Trong chương này sẽ
trình bày chi tiết các bước trong quy trình xử lý câu truy vấn; trình bày các thuật toán
tối ưu hóa câu truy vấn cơ sở dữ liệu phân tán như: INGRES phân tán, R*, DP-ACO.
Chương 3: Cài đặt thử nghiệm thuật toán: Trình bày mô hình cài đặt hệ thống.
Cài đặt thuật toán INGRES phân tán, R* và so sánh, đánh giá kết quả thực nghiệm
cho bài toán tối ưu hóa truy vấn. Cuối cùng là kết luận và hướng phát triển của đề tài.



3

Chương 1
KHÁI QUÁT VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN
1.1. Cơ sở dữ liệu phân tán
1.1.1. Khái niệm
Cơ sở dữ liệu (CSDL) phân tán là một tập dữ liệu có quan hệ logic với nhau,
được phân bố trên các máy tính của một mạng máy tính [1]. Trong mô hình cơ sở
dữ liệu phân tán, các quan hệ được cài đặt trên nhiều vị trí (site) khác nhau. Như
vậy, đặc trưng của CSDL phân tán là các CSDL được phân tán trên mạng máy tính
và có mối quan hệ với nhau về mặt logic. Khái niệm CSDL phân tán nhấn mạnh hai
khía cạnh:
- Tính chất phân tán: Toàn bộ dữ liệu của CSDL phân tán không nằm ở một
nơi mà nằm trên nhiều trạm thuộc mạng máy tính. Vì vậy có thể phân biệt một
CSDL phân tán với một CSDL tập trung
- Quan hệ logic: Dữ liệu có các tính chất phụ thuộc, ràng buộc lẫn nhau. Như
vậy có thể phân biệt một CSDL phân tán với các CSDL địa phương (Local) hoặc
các tệp dữ liệu được lưu trữ trên các vị trí khác nhau.
Ở mức phần cứng vật lý, những nhân tố chính sau là để phân biệt một hệ
CSDL phân tán với hệ CSDL tập trung:
- Có nhiều máy tính được gọi là các trạm hay các nút.
- Các trạm này phải được kết nối bởi một kiểu mạng truyền thông để truyền dữ
liệu và những câu lệnh giữa các trạm với nhau, như Hình 1.1.
Trạm 1

Trạm 2

DB


DB

Mạng truyền thông

DB

DB

Trạm 4

Trạm 3

Hình 1.1. Mô hình hệ CSDL phân tán


4

1.1.2. Hệ quản trị cơ sở dữ liệu phân tán
Hệ quản trị CSDL phân tán (DDBMS) là một hệ thống phần mềm cho phép
quản lý các CSDL phân tán (tạo lập và điều khiển các truy nhập cho các hệ CSDL
phân tán) và làm cho việc phân tán trở nên trong suốt với người sử dụng [11].
DDBMS gồm một tập các chương trình sau đây:
- Các chương trình quản trị dữ liệu phân tán;
- Các chương trình quản trị việc truyền thông dữ liệu;
- Các chương trình quản trị các CSDL cục bộ;
- Các chương trình quản trị từ điển dữ liệu: Thông tin về sự phân tán dữ liệu
trên mạng;
DDBMS được phân làm 2 loại:
- DDBMS đồng nhất: Là DBMS mà tất cả các nút sử dụng cùng một loại
DBMS.

- DDBMS không đồng nhất: Là DBMS mà có ít nhất một nút không cùng loại
DBMS với DBMS ở các nút còn lại.
1.1.3. Ưu điểm của CSDL phân tán
Lợi ích cơ bản nhất của CSDL phân tán là dữ liệu của các CSDL vật lý riêng
biệt được tích hợp logic với nhau làm cho nhiều người sử dụng trên mạng có thể
truy nhập được.
Cho phép quản lý dữ liệu theo nhiều mức trong suốt: DBMS phải được trong
suốt phân tán theo nghĩa làm cho người sử dụng không cần biết vị trí của dữ liệu và
không cần biết sự phức tạp truy cập qua mạng.
Tăng độ tin cậy và khả năng sẵn sàng: Độ tin cậy là khả năng hệ thống đang
làm việc (không bị ngừng) tại một thời điểm nào đó, tính sẵn sàng là khả năng hệ
thống tiếp tục làm việc trong một khoảng thời gian nào đó. Khi CSDL phân tán trên
một vài trạm, một trạm có thể có sự cố trong khi các trạm khác vẫn có thể hoạt động
hoặc sử dụng các thành phần khác của CSDL, chỉ trên trạm bị sự cố, dữ liệu và ứng
dụng không thể truy cập được. Để nâng cao độ tin cậy và tính sẵn sàng, có thể áp
dụng cơ chế tạo bản sao trên nhiều trạm [2].


5

Cải thiện hiệu năng: Một DDBMS, phân mảnh CSDL có thể làm cho dữ liệu
được lưu trữ tại gần nơi sử dụng nhất. Dữ liệu được lưu trữ cục bộ làm giảm cạnh
tranh CPU, giảm các phục vụ I/O và giảm tương tranh truy nhập trên mạng. Dữ liệu
được phân tán tại các trạm nên dung lượng dữ liệu cục bộ sẽ nhỏ hơn, các xử lý giao
tác và truy vấn cục bộ sẽ được thực hiện tốt hơn. Hơn nữa, trên mỗi trạm có ít các
giao tác hơn số giao tác trên CSDL tập trung, vì vậy cũng tăng hiệu suất hệ thống.
Dễ dàng mở rộng hệ thống và phân chia tài nguyên: Việc thêm CSDL mới,
tăng kích cỡ CSDL hoặc thêm bộ xử lý trong môi trường phân tán là dễ hơn vì cũng
chỉ như là thêm các CSDL thành phần.
1.1.4. Nhược điểm của CSDL phân tán

- Độ phức tạp thiết kế và cài đặt hệ thống tăng: DDBMS phải bổ sung thêm
các chức năng như: Theo dõi dấu vết dữ liệu; xử lý các truy vấn phân tán; quản lý
giao dịch phân tán; phục hồi CSDL phân tán; quản lý các bản sao; quản lý thư mục catalog phân tán;
- Tăng chi phí: Độ phức tạp tăng đồng nghĩa với chi phí cho việc mua sắm và
bảo trì cho DDBMS tăng so với CSDL tập trung. Hơn nữa, DDBMS còn yêu cầu
thêm phần cứng để thiết lập mạng liên kết giữa các trạm làm cho chi phí truyền
thông liên tục phát sinh. Ngoài ra, còn có thêm chi phí lao động để quản lý và duy
trì các CSDL cục bộ và hệ thống mạng.
- Bảo mật khó khăn: Trong hệ thống tập trung, việc truy cập dữ liệu có thể được
kiểm soát dễ dàng. Tuy nhiên, trong DDBMS không chỉ việc truy cập dữ liệu lặp ở
nhiều vị trí được kiểm soát mà bản thân mạng cũng phải đảm bảo an toàn.
- Kiểm soát tính toàn vẹn khó khăn hơn: CSDL toàn vẹn đề cập đến độ tin cậy
và tính nhất quán của dữ liệu được lưu trữ. Tính toàn vẹn thường được thể hiện trong
các điều kiện ràng buộc. Thực hiện các ràng buộc này thường yêu cầu truy cập lượng
lớn dữ liệu định nghĩa các ràng buộc. Trong DDBMS, chi phí truyền thông và chi phí
xử lý để thực thi các ràng buộc toàn vẹn cao hơn trong hệ thống tập trung.
1.2. Đặc điểm của cơ sở dữ liệu phân tán
1.2.1. Chia sẻ tài nguyên
Việc chia sẻ tài nguyên của hệ phân tán được thực hiện thông qua mạng truyền
thông. Để chia sẻ tài nguyên một cách có hiệu quả thì mỗi tài nguyên cần được quản


6

lý bởi một chương trình có giao diện truyền thông, các tài nguyên có thể được truy
cập, cập nhật một cách tin cậy và nhất quán. Quản lý tài nguyên ở đây là lập kế
hoạch dự phòng, đặt tên cho các lớp tài nguyên, cho phép tài nguyên được truy cập
từ nơi này đến nơi khác, ánh xạ lên tài nguyên vào địa chỉ truyền thông, ...
1.2.2. Tính mở
Tính mở của hệ thống máy tính là dễ dàng mở rộng phần cứng (thêm các thiết

bị ngoại vi, bộ nhớ, các giao diện truyền thông, ...) và các phần mềm (các mô hình
hệ điều hành, các giao thức truyền tin, các dịch vụ chung tài nguyên, ...)
Một hệ phân tán có tính mở là hệ có thể được tạo ra từ nhiều loại phần cứng và
phần mềm của nhiều nhà cung cấp khác nhau theo một tiêu chuẩn chung.
Tính mở của hệ phân tán được xem xét theo mức độ bổ sung các dịch vụ dùng
chung tài nguyên mà không phá hỏng hay nhân đôi các dịch vụ đang tồn tại. Tính
mở được hoàn thiện bằng cách xác định hay phân định rõ các giao diện chính của
một hệ và làm cho nó tương thích với các nhà phát triển phần mềm.
Tính mở của hệ phân tán dựa trên việc cung cấp cơ chế truyền thông giữa các
tiến trình và công khai các giao diện dùng để truy cập các tài nguyên chung.
1.2.3. Khả năng song song
Hệ phân tán hoạt động trên một mạng truyền thông có nhiều máy tính, mỗi
máy có thể có một hay nhiều CPU. Trong cùng một thời điểm nếu có N tiến trình
cùng tồn tại, ta nói chúng thực hiện đồng thời. Việc thực hiện tiến trình theo cơ chế
phân chia thời gian (một CPU) hay song song (nhiều CPU).
Khả năng làm việc song song trong hệ phân tán được thực hiện do:
- Nhiều người sử dụng đồng thời đưa ra các lệnh hay tương tác với các chương
trình ứng dụng.
Nhiều tiến trình Server chạy đồng thời, mỗi tiến trình đáp ứng các yêu cầu từ
các tiến trình Client khác.
1.2.4. Khả năng mở rộng
Hệ phân tán có khả năng hoạt động tốt và hiệu quả ở nhiều mức khác nhau.
Một hệ phân tán nhỏ nhất có thể hoạt động chỉ cần hai trạm làm việc và một File
Server. Các hệ lớn hơn có thể có hàng nghìn máy tính.


7

Khả năng mở rộng được đặc trưng bởi tính không thay đổi phần mềm hệ thống
và phần mềm ứng dụng khi hệ được mở rộng. Điều này chỉ đạt được mức độ nào đó

với hệ phân tán hiện tại. Yêu cầu việc mở rộng không chỉ là sự mở rộng về phần
cứng, về mạng mà trải trên các khía cạnh khi thiết kế hệ phân tán.
1.2.5. Khả năng thứ lỗi
Việc thiết kế khả năng thứ lỗi của các hệ thống máy tính dựa trên hai giải pháp:
- Dùng khả năng thay thế để đảm bảo sự hoạt động liên tục và hiệu quả.
- Dùng các chương trình hồi phục khi xảy ra sự cố.
Xây dựng một hệ thống có thể khắc phục sự cố theo cách thứ nhất thì nối hai
máy tính với nhau để thực hiện cùng một chương trình, một trong hai máy chạy ở
chế độ Standby. Giải pháp này tốn kém vì phải nhân đôi phần cứng của hệ thống.
Một giải pháp để giảm chi phí là các Server riêng lẻ được cung cấp các ứng dụng
quan trọng để có thể thay thế nhau khi có sự cố xuất hiện. Khi không có các sự cố
các Server hoạt động bình thường, khi có sự cố trên một Server nào đó, các ứng
dụng Client tự chuyển hướng sang các Server còn lại.
Cách hai thì các phần mềm hồi phục được thiết kế sao cho trạng thái dữ liệu hiện
thời (trạng thái trước khi xảy ra sự cố) có thể được khôi phục khi lỗi được phát hiện.
Các hệ phân tán cung cấp khả năng sẵn sàng cao để đối phó với các trường hợp
hỏng phần cứng.
1.2.6. Tính trong suốt
Tính trong suốt của một hệ phân tán được hiểu là việc che khuất đi các thành phần
riêng biệt của hệ thống đối với người sử dụng và những người lập trình ứng dụng.
1.2.7. Đảm bảo tin cậy và nhất quán
Hệ thống yêu cầu độ tin cậy cao: Sự bí mật của dữ liệu phải được bảo vệ, các
chức năng khôi phục hư hỏng phải được đảm bảo. Ngoài ra, yêu cầu của hệ thống
về tính nhất quán cũng rất quan trọng thể hiện trong việc không được có mâu thuẫn
trong nội dung dữ liệu.
1.3. Các đặc trưng trong suốt của cơ sở dữ liệu phân tán
1.3.1. Trong suốt phân tán
- Cho phép xử lý dữ liệu trên hệ CSDL phân tán giống như đối với CSDL tập
trung.



8

- Người sử dụng không cần biết dữ liệu đã được phân mảnh như thế nào, các
bản sao dữ liệu để ở đâu, vị trí vật lý lưu trữ dữ liệu ở đâu.
- Trong suốt phân tán thể hiện:
+ Trong suốt vị trí: Người dùng không cần biết về vị trí vật lý của dữ liệu mà
có quyền truy cập đến CSDL tại bất cứ vị trí nào. Các thao tác để lấy hoặc cập nhật
một dữ liệu từ xa được tự động thực hiện bởi hệ thống tại điểm đưa ra yêu cầu. Tính
trong suốt về vị trí rất hữu ích, nó cho phép người dùng bỏ qua các bản sao dữ liệu
đã tồn tại ở mỗi vị trí. Do đó có thể di chuyển một bản sao dữ liệu từ một vị trí này
đến một vị trí khác và cho phép tạo các bản sao mới mà không ảnh hưởng tới các
ứng dụng.
+ Trong suốt tên: Khi một đối tượng đã được đặt tên thì có thể truy nhập chính
xác không cần đặc tả thêm.
+ Trong suốt bản sao: Sự nhân bản là quá trình sao chép và duy trì dữ liệu
trong hệ CSDL phân tán. Cùng một dữ liệu (được lưu trữ vật lý tại một vị trí) có thể
sử dụng được trên nhiều vị trí khác nhau. Các bản sao có thể được lưu trữ trên nhiều
trạm làm tăng hiệu suất, độ tin cậy và tính sẵn sàng của hệ thống. Các ứng dụng có
thể truy nhập dữ liệu tại các trạm mà không cần phải truy cập từ xa giảm truyền tải
trên mạng lớn. Hệ thống cho phép tiếp tục thực hiện nếu như các trạm từ xa có sự
cố. Trong suốt bản sao đảm bảo người dùng không biết đó là các bản sao vì dữ liệu
luôn được cập nhật và đồng bộ với dữ liệu gốc.
+ Trong suốt phân mảnh: Một quan hệ trong CSDL phân tán có thể phân mảnh
ngang hoặc phân mảnh dọc nghĩa là được tách thành các bộ dữ liệu hoặc các quan
hệ con và lưu trữ trên nhiều trạm khác nhau. Trong suốt phân mảnh cho phép người
sử dụng không cần biết có sự phân mảnh, các truy vấn dữ liệu vẫn được viết như
CSDL tập trung.
1.3.2. Trong suốt giao dịch
CSDL phân tán cho phép một giao dịch có thể cập nhật, sửa đổi dữ liệu trên

các trạm khác nhau. Để đảm bảo dữ liệu nhất quán trên toàn hệ thống, các trạm
trong giao dịch chỉ ủy thác khi tất cả các trạm đã ủy thác thành công hoặc quay trở
lại khi một trạm bị thất bại.


9

1.3.3. Trong suốt thất bại
Đảm bảo tại một trạm của hệ thống bị hỏng thì hệ thống vẫn làm việc bình
thường (do cơ chế tạo bản sao hoặc làm việc trên các trạm không bị sự cố). Nếu mạng
hoặc hệ thống có sự cố trong khi ủy thác của giao dịch CSDL phân tán thì giao dịch
đó được giải quyết tự động và trong suốt theo nghĩa khi mạng hoặc hệ thống khôi
phục thì tất cả các trạm này hoặc là ủy thác hoặc là quay trở lại giao tác đó.
1.3.4. Trong suốt thao tác
Cho phép các câu lệnh thao tác dữ liệu đơn giản để truy nhập được các CSDL tại
trạm cục bộ hoặc trạm từ xa. Các thao tác xử lý dữ liệu từ xa không phức tạp và vẫn
đảm bảo giống như khi thao tác dữ liệu trên hệ CSDL không phân tán.
1.3.5. Trong suốt về tính không thuần nhất
Cho phép hỗn hợp nhiều DBMS khác nhau với các khả năng trao đổi dữ liệu,
xử lý cập nhật dữ liệu, xử lý giao tác phân tán trên toàn hệ thống.
1.4. Kiến trúc cơ bản của cơ sở dữ liệu phân tán
Mô hình kiến trúc CSDL phân tán gồm: Lược đồ tổng thể, lược đồ phân mảnh,
lược đồ định vị và lược đồ ánh xạ cục bộ (xem Hình 1.2) [2].
- Lược đồ tổng thể: Định nghĩa tất cả các dữ liệu sẽ được lưu trữ trong CSDL
phân tán. Trong mô hình quan hệ, lược đồ tổng thể bao gồm định nghĩa của các tập
quan hệ tổng thể.
- Lược đồ phân mảnh: Mỗi quan hệ tổng thể có thể chia thành một vài phần
tách biệt nhau được gọi là mảnh (fragments). Có nhiều cách khác nhau để thực hiện
việc phân chia này. Ánh xạ (một - nhiều) giữa lược đồ tổng thể và các mảnh được
định nghĩa trong lược đồ phân mảnh.

- Lược đồ định vị: Các mảnh là các phần logic của quan hệ tổng thể được định
vị vật lý trên một hoặc nhiều vị trí trên mạng. Lược đồ định vị định nghĩa mảnh nào
định vị tại các vị trí nào. Kiểu ánh xạ được định nghĩa trong lược đồ định vị quyết
định CSDL phân tán là dư thừa hay không.
- Lược đồ ánh xạ cục bộ: Ánh xạ các ảnh vật lý và các đối tượng được lưu trữ
tại một trạm (tất cả các mảnh của một quan hệ tổng thể trên cùng một vị trí tạo ra
một ảnh vật lý).


10

Lược đồ
tổng thể

Lược đồ
phân mảnh

Lược đồ
định vị

Lược đồ ánh
xạ cục bộ 1

Lược đồ ánh
xạ cục bộ 2

DBMS 1

DBMS 2


CSDL cục bộ
Site 1

Lược đồ ánh
xạ cục bộ n

……

CSDL cục bộ
Site 2

DBMS n

CSDL cục bộ
Site n

Hình 1.2. Mô hình kiến trúc của cơ sở dữ liệu phân tán
1.5. Các kĩ thuật xây dựng cơ sở dữ liệu phân tán
Có 3 chiến lược phân tán dữ liệu cơ bản: sao lặp dữ liệu, phân mảnh dữ liệu
và phương pháp hỗn hợp.
 Phân mảnh dữ liệu: CSDL được chia thành các mảnh nhỏ liên kết với nhau
(không trùng lặp). Mỗi mảnh dữ liệu được đưa đến các trạm thích hợp để sử dụng.
 Sao lặp dữ liệu: CSDL được nhân thành nhiều bản từng phần hoặc đầy đủ
và được đặt ở nhiều trạm trên mạng.
 Phương pháp hỗn hợp: CSDL được chia thành nhiều phần: Quan trọng và
không quan trọng. Phần ít quan trọng được lưu trữ một nơi, phần quan trọng được
lưu trữ ở nhiều nơi khác nhau.


11


1.5.1. Phân mảnh dữ liệu
Sự phân mảnh là chia dữ liệu trong các bảng dữ liệu thành các bộ hoặc các
bảng dữ liệu con. Có ba kiểu phân mảnh một quan hệ tổng thể: Phân mảnh ngang,
phân mảnh dọc và phân mảnh hỗn hợp [2].
Một sự phân mảnh là đúng đắn nếu tuân thủ 3 quy tắc sau:
- Tính đầy đủ: Tất cả dữ liệu của quan hệ tổng thể phải được ánh xạ tới các
mảnh, có nghĩa là mỗi phần tử dữ liệu thuộc quan hệ tổng thể phải thuộc một hay
nhiều mảnh của nó.
- Tính phục hồi: Luôn có thể xây dựng lại được quan hệ tổng thể từ các mảnh
đã có.
- Tính tách biệt: Nếu quan hệ R được phân mảnh ngang thành các mảnh R i
(i=1, 2, …, n) và mục dữ liệu dj nằm trong một mảnh Ri thì nó sẽ không nằm trong
mảnh Rk (k≠i). Quy tắc này đảm bảo các mảnh phân rã rời nhau. Trong trường hợp
phân mảnh dọc, khóa chính của quan hệ phải được lặp lại trong tất cả các mảnh. Vì
vậy, tính tách biệt trong phân mảnh dọc được hiểu không liên quan đến khóa chính
của quan hệ.
1.5.1.1. Phương pháp phân mảnh ngang
Phân mảnh ngang chính là việc chia quan hệ thành nhiều các nhóm bộ. Kết
quả của quá trình phân mảnh ngang là các quan hệ con, số lượng quan hệ con phụ
thuộc vào điều kiện ràng buộc của các thuộc tính. Các bộ trong các quan hệ con là
tách biệt nhau. Phân mảnh ngang thực chất là phép chọn quan hệ thỏa mãn một
biểu thức điều kiện cho trước.
Có hai loại phân mảnh ngang:
- Phân mảnh ngang nguyên thủy: Là phân mảnh ngang được thực hiện trên
các vị từ của chính quan hệ đó.
- Phân mảnh ngang dẫn xuất: Là phân rã một quan hệ dựa trên các vị từ của
quan hệ khác.
a. Phân mảnh ngang nguyên thủy: Được định nghĩa bằng một phép toán chọn
trên các quan hệ đích của một lược đồ của CSDL. Vì thế, cho biết quan hệ R, các



12

mảnh ngang của R là các Ri: Ri = σFi (R), 1 ≤ i ≤ n. Trong đó, Fi là biểu thức đại số
quan hệ hội sơ cấp có dạng chuẩn hội.
Ví dụ 1.1: Xét quan hệ DA
MDA

TênDA

Ngân sách (đô la)

Địa điểm

P1

Thiết bị đo đạc

150000

TP HCM

P2

Phát triển dữ liệu

135000

TP HN


P3

CAD/CAM

250000

TP HN

P4

Bảo dưỡng

310000

TP ĐN

Chúng ta có thể định nghĩa các mảnh ngang dựa vào vị trí dự án. Khi đó các
mảnh thu được được trình bày như sau: DA 1 = σĐịa điểm = “TP HCM” (DA)
DA2 = σĐịa điểm = “TP HN” (DA)
DA3 = σĐịa điểm ="TP ĐN” (DA)
Từ đây ta chia được các mảnh ngang sau:
DA1
MDA

TênDA

Ngân sách

Địa điểm


P1

Thiết bị đo đạc

150000

TP HCM

MDA

TênDA

Ngân sách

Địa điểm

P2

Phát triển dữ liệu

135000

TP HN

P3

CAD/CAM

250000


TP HN

MDA

TênDA

Ngân sách

Địa điểm

P4

thiết bị đo đạc

310000

TP ĐN

DA2

DA3

Một đặc tính quan trọng của các vị từ đơn giản (ví dụ: ngân sách >150000 là
một vị từ đơn giản) là tính đầy đủ và tính cực tiểu [1].
b. Phân mảnh ngang dẫn xuất
Phân mảnh ngang dẫn xuất được định nghĩa trên một quan hệ thành viên của
đường nối dựa theo phép toán chọn trên quan hệ đích của đường nối đó.



13

Như vậy, nếu cho trước một đường nối L, trong đó owner (L) = S và member
(L) = R và các mảnh ngang dẫn xuất của R được định nghĩa: R i = R

Si, 1≤ i ≤ w;

Trong đó w là số lượng các mảnh được định nghĩa trên R, và Si = Fi(S) với Fi
là công thức định nghĩa mảnh ngang nguyên thuỷ S i
Ví dụ 1.2: Xét quan hệ chủ CT (chi trả) và quan hệ thành viên NV (nhân viên).
Đây là mối quan hệ một – nhiều được biểu diễn bằng một đường nối có hướng L1
trỏ từ quan hệ CT (Chi trả) đến quan hệ NV (nhân viên).
NV

Xét đường nối
Tên NV

MNV

Chức vụ

E1

Minh

Kỹ sư điện

E2

Hoàng


Phân tích

E3

Đức

Kỹ sư cơ khí

CT
Chức vụ, Lương
L1
NV

E4

Tuấn

Lập trình viên

E5

Hoa

Phân tích hệ thống

E6

Thành


Kỹ sư điện

E7

Công

Kỹ sư cơ khí

E8

Kiên

Phân tích hệ thống

MNV, TênNV, Chức vụ

Chúng ta có thể nhóm các kỹ sư thành hai nhóm tùy theo lương: Nhóm có
lương từ 3.000 đô la trở lên và nhóm có lương dưới 3.000 đô la. Hai mảnh Nhân
viên 1 và Nhân viên 2 được xác định như sau:
NV1 = NV

CT1

NV2 = NV

CT2

CT1
Chức vụ


Trong đó:

CT1 = Lương <= 3.000 (CT)
CT2 = Lương >

3.000

(CT)

CT2
Lương

Chức vụ

Lương

Kỹ sư cơ khí

2.700

Kỹ sư điện

4.000

Lập trình viên

2.400

Phân tích hệ thống


3.400

Kết quả phân mảnh ngang dẫn xuất của quan hệ NV như sau:


14

NV1
MNV

NV2
Tên NV

Chức vụ

MNV

Tên NV

Chức vụ

E1

Minh

Kỹ sư điện

E3

Đức


Kỹ sư cơ khí

E2

Hoàng

Phân tích hệ thống

E4

Tuấn

Lập trình viên

E5

Hoa

Phân tích hệ thống

E7

Công

Kỹ sư cơ khí

E6

Thành


Kỹ sư điện

E8

Kiên

Phân tích hệ thống

Để thực hiện được phân mảnh ngang dẫn xuất, cần phải có tập các phân hoạch
của quan hệ chủ (chẳng hạn: CT1, CT2), quan hệ thành viên NV và tập các vị từ của
phép kết nối bằng nhau giữa quan hệ chủ và thành viên (Chẳng hạn CT.Chucvu =
NV.Chucvu).
Kiểm định tính đúng đắn
- Tính đầy đủ
+ Phân mảnh ngang nguyên thuỷ: Với điều kiện các vị từ chọn là đầy đủ, phân
mảnh thu được cũng đảm bảo là đầy đủ, bởi vì cơ sở của thuật toán phân mảnh là
tập các vị từ cực tiểu và đầy đủ, nên tính đầy đủ được bảo đảm với điều kiện không
có sai sót xảy ra.
+ Phân mảnh ngang dẫn xuất: Định nghĩa quy tắc đầy đủ như sau:
R là quan hệ thành viên của một đường nối mà chủ nhân là quan hệ S. Gọi A
là thuộc tính nối giữa R và S, vậy thì với mỗi bộ t của R, phải có một bộ t’ của S
sao cho t.A = t’.A. Quy tắc này được gọi là ràng buộc toàn vẹn hay toàn vẹn tham
chiếu, bảo đảm rằng mọi bộ trong các mảnh của quan hệ thành viên đều nằm trong
quan hệ chủ nhân.
- Tính phục hồi
Tái thiết lập một quan hệ toàn cục từ các mảnh được thực hiện bằng toán tử
hợp trong cả phân mảnh ngang nguyên thủy lẫn dẫn xuất. Vì thế một quan hệ R với
phân mảnh Fr = {R1, R2,…,Rm}, ta có: R =  Ri , Ri FR
- Tính tách rời

Với phân mảnh ngang nguyên thuỷ, tính tách rời sẽ được đảm bảo miễn là các
vị từ hội sơ cấp xác định phân mảnh có tính loại trừ tương hỗ (mutually exclusive).


15

Với phân mảnh dẫn xuất, tính tách rời có thể đảm bảo nếu đồ thị nối thuộc
loại đơn giản.
1.5.1.2. Phương pháp phân mảnh dọc
a. Khái niệm phân mảnh dọc
Cho R là một quan hệ trên tập các thuộc tính  = {A1, A2,…,An}. Khi đó phân
mảnh dọc quan hệ R sinh ra các mảnh R1, R2, ..., Rr, sao cho mỗi mảnh là một quan
hệ chứa một tập con các thuộc tính của quan hệ R và khoá của nó, tức là  sẽ được
phân mảnh sao cho  = 1  2  3 …  k; trong đó Ri là mảnh quan hệ trên
các thuộc tính i, i=1..k. Mục đích của phân mảnh dọc là phân chia quan hệ R
thành tập các quan hệ nhỏ hơn để có nhiều ứng dụng có thể chỉ cần thực hiện trên
một mảnh. Mảnh tối ưu là mảnh sinh ra một lược đồ phân mảnh cho phép giảm tối
thiểu thời gian thực hiện của ứng dụng trên mảnh đó. Kí hiệu Ri = ПATTRi R, trong
đó ATTRi là tập con các thuộc tính của R
b. Các quy tắc trong phân mảnh dọc
Một phân mảnh dọc là đúng đắn nếu thỏa mãn ba quy tắc sau:
- Tính đầy đủ: Nếu một thuộc tính xuất hiện trong một quan hệ tổng thể thì
nó cũng phải xuất hiện trong một mảnh dọc nào đó.
- Tính phục hồi: Cần phải thêm vào mỗi mảnh khoá chính, do đó việc xây
dựng lại được là nhờ vào phép kết nối các mảnh dọc theo các thuộc tính chung.
- Tính tách biệt: Ít nhất khoá phải được lặp lại trên tất cả các mảnh để đảm
bảo cho phép xây dựng lại, nên ở đây không thể xem là rời nhau hoàn toàn được.
Ví dụ 1.5: Xét quan hệ sau:
NHANVIEN (MNV, TENNV, CHUCVU, DONVICONGTAC, LUONG)
Ta tách quan hệ NHANVIEN thành hai quan hệ NV1 và NV2 ; trong đó:

NV1 gồm các thuộc tính: MNV, TENNV, CHUCVU;
NV2 gồm các thuộc tính: MNV, TENNV, DONVICONGTAC, LUONG.
Hai mảnh NV1 và NV2 được xác định như sau:
NV1 = П MNV, TENNV, CHUCVU NHANVIEN
NV2 = ПMNV, TENNV, DONVICONGTAC, LUONG NHANVIEN


16

Thuộc tính TENNV lặp lại ở cả hai mảnh, khi xây dựng lại quan hệ
NHANVIEN thông qua phép chiếu, thuộc tính này sẽ bị khử.
MNV=MNVПMNV, DONVICONGTAC, LUONG NV2

NHANVIEN = NV1

Kiểm tra tính đúng đắn:
- Tính đầy đủ: Luôn được đảm bảo vì mỗi thuộc tính của quan hệ toàn cục
được gán cho một mảnh. Tập các thuộc tính của quan hệ toàn cục đúng bằng hợp
của các thuộc tính các mảnh thành viên.
- Tính khôi phục: Quan hệ toàn cục ban đầu R có thể được khôi phục lại bằng
các phép kết nối bằng nhau trên các thuộc tính khóa, giả sử quan hệ R có phân
mảnh dọc FR = {R1, R2,...., Rr} và tập các thuộc tính khoá chính K. Trong mỗi quan
hệ Ri chứa các thuộc tính khóa K và là các quan hệ đầy đủ. Khi đó:
R=

K

Ri , i = 1…r

- Tính tách biệt: Ta có thể nói tính tách biệt trong phân mảnh dọc yếu hơn tính

tách biệt trong phân mảnh ngang vì có ít nhất khoá phải được lặp lại trên tất cả
các mảnh để cho phép xây dựng lại được đảm bảo.
1.5.1.3. Phương pháp phân mảnh hỗn hợp.
Trong đa số các trường hợp, phân mảnh ngang hoặc phân mảnh dọc đơn giản
cho một lược đồ CSDL không đủ đáp ứng các yêu cầu từ người sử dụng. Trong
trường hợp đó, phân mảnh dọc có thể thực hiện sau một số mảnh ngang hoặc ngược
lại, sinh ra một lối phân hoạch có cấu trúc cây như Hình 1.5. Bởi vì hai chiến lược
này được áp dụng lần lượt nên chọn lựa này được gọi là phân mảnh hỗn hợp.
R
H

H

R1
V
R11

R2
V

R12

V

V
R21

R22

R23


Hình 1.3. Phân mảnh hỗn hợp


17

Ví dụ 1.3: Xét quan hệ tổng thể:
NHANVIEN (MNV, TEN, LUONG, THUE, SHQL, SHPHONG)
Tách quan hệ NHANVIEN thành các quan hệ NV1, NV2, NV3, NV4
NV1 = SHPHONG 10  MNV, TEN, SHQL, SHPHONG NHANVIEN
NV2 = 10NV3 =SHPHONG >20 MNV, TEN, SHQL, SHPHONG NHANVIEN
NV4 =MNV, TEN, LUONG, THUE NHANVIEN
Biểu diễn các quan hệ NV1, NV2, NV3, NV4 dưới dạng cây như sau:

Hình 1.4. Cây phân tách của quan hệ
Xây dựng lại quan hệ NHANVIEN ta thực hiện như sau:
NHANVIEN =(NV1, NV2, NV3)

 SHNV, LUONG, THUE NV4

SHNV=SHNV

Tính đúng đắn của phân mảnh hỗn hợp được đảm bảo, vì chiến lược phân
mảnh này dựa theo phân mảnh ngang và phân mảnh dọc, đảm bảo tính đúng đắn
như đã trình bày ở trên. Để khôi phục quan hệ toàn cục trong trường hợp phân
mảnh hỗn hợp, có thể bắt đầu từ các nút lá của cây phân hoạch và dịch chuyển lên
bằng cách thực hiện các phép kết nối và phép hợp (Hình 1.4). Phân mảnh hỗn hợp
đầy đủ nếu các mảnh lá và các mảnh trung gian là đầy đủ. Tương tự, có thể kiểm
tra tính tách biệt của chiến lược phân mảnh hỗn hợp. Tính tách biệt được đảm bảo

khi các mảnh lá và mảnh trung gian cũng tách biệt.


18



R11

R12

R21 R22 R23

Hình 1.5. Tái xây dựng phân mảnh hỗn hợp
1.5.2. Nhân bản dữ liệu
Các chiến lược nhân bản dữ liệu:
a. Nhân bản dữ liệu đầy đủ: Toàn bộ CSDL sẽ được tạo trên tất cả mỗi trạm.
Ưu điểm: Điều này sẽ cải thiện tính sẵn sàng cao nhất vì nếu sự cố trên trạm
này thì vẫn có dữ liệu trên trạm khác và cải thiện hiệu năng lấy dữ liệu trên mạng
cho các truy vấn toàn bộ vì dữ liệu sẽ được lấy từ các trạm cục bộ.
Nhược điểm: Các thao tác cập nhập dữ liệu rất chậm vì phải sao chép, đồng bộ
dữ liệu cho mọi trạm. Kỹ thuật điều khiển tương tranh và phục hồi sẽ phức tạp hơn.
b. Không có nhân bản dữ liệu: Mỗi phân mảnh chỉ được lưu trữ trên một
trạm, phương án này còn được gọi là định vị không dư thừa dữ liệu. Trong
trường hợp này các phân đoạn phải tách rời nhau để tránh lặp bản ghi giống nhau
cho các phân mảnh ngang và phân mảnh hỗn hợp.
c. Nhân bản dữ liệu từng phần: Một vài phân mảnh có thể được tạo bản sao và có
thể một số phân mảnh sẽ không có bản sao. Việc tạo bản sao này rất có tác dụng cho
các nhân viên làm việc di động, tại các nơi xa trung tâm dữ liệu, có thể tạo ra bản sao
dữ liệu trên laptop của mình và theo chu kỳ đồng bộ dữ liệu với CSDL trên server.

1.5.3. Định vị dữ liệu
Là quá trình gán từng phân đoạn, từng bản sao của phân đoạn cho một trạm cụ
thể trong hệ thống phân tán. Việc chọn trạm nào và số bản sao phụ thuộc vào yêu
cầu hiệu năng và mục tiêu sẵn sàng của hệ thống với các loại giao tác trên các trạm.
Đối với hệ yêu cầu tính sẵn sàng cao, mọi giao dịch thao tác lấy dữ liệu, giao dịch
cập nhật chỉ làm tại một trạm thì nên tổ chức tạo bản sao đầy đủ. Nếu các giao dịch
thường cập nhật một phần dữ liệu tại một trạm thì các phân đoạn cho phần dữ liệu
đó nên được định vị trên trạm đó.


19

1.6. Kết luận chương 1
CSDL phân tán ngày càng trở nên quan trọng, tính cần thiết ngày càng cao vì
nhiều lý do khác nhau, nó có thể được cài đặt trên các mạng máy tính diện rộng và
các mạng cục bộ nhỏ. Có hai lý do về tổ chức và kỹ thuật đối với sự phát triển
CSDL phân tán đó là: CSDL phân tán được xây dựng để khắc phục các hạn chế
của CSDL tập trung và nó phù hợp hơn với sự phát triển mở rộng của các cơ cấu tổ
chức và vấn đề kinh tế. Kỹ thuật CSDL phân tán được mở rộng và phát triển từ kỹ
thuật của CSDL truyền thống. Trong môi trường mới này, một số vấn đề kỹ thuật
đòi hỏi các giải pháp khác và một số giải pháp hoàn toàn mới.
Có nhiều cách thiết kế CSDL phân tán, mỗi cách thiết kế có ưu nhược điểm
riêng, tùy vào yêu cầu, đặc điểm của từng hệ thống mà áp dụng cho phù hợp. Đặc
điểm nổi bật nhất của CSDL phân tán là tính trong suốt. Tính trong suốt phân tán
cung cấp sự độc lập của các chương trình khỏi sự phân tán của CSDL. Các mức
trong suốt phân tán khác nhau có thể được cung cấp bởi một DDBMS. Tại mỗi
mức, tính trong suốt làm cho người lập trình ứng dụng không biết được sự phân tán
dữ liệu.



×