Chơng 10. Quản lí dữ liệu phân tán
Lợi ích chính của DDM là khả năng truy nhập dữ liệu đợc nằm ở nhiều điểm khác
nhau trong một kiểu trong suốt ngời sử dụng cuối. đồng thời, DDM gồm cả việc
giữ hầu hết các dữ liệu địa phơng ở những nơi thực sự cần dữ liệu.
DDM là một trong những kiểu xử lí phân tán hợp tác đợc thực hiện trong kiến trúc
khách hàng/ dịch vụ. Kiến trúc khách hàng/ dịch vụ cho một giải pháp lí tởng cho
các yêu cầu của DDM , nên hầu hết các thể hiện kiến trúc khách hàng/ dịch vụ
ngày nay là các hệ quản trị cơ sở dữ liệu phân tán (DDBMS). Môi trờng DDM đợc
đặc trng hoá bởi 2 cách phân tán (hình 9.5.3)
Trong khi đó có một số vấn đề hiện nay là: phân tán dữ liệu nh thế nào? truy nhập
dữ liệu nh thế nào? tích hợp dữ liệu? Tính vững chắc dữ liệu ? sẽ đ ợc làm rõ
trong chơng này.
1. các phơng pháp phân tán dữ liệu
DDM xét dữ liệu (cơ sở dữ liệu ) đợc phân tán trên nhiều node. Phân tán dữ liệu
trên nhiều node có những điểm lợi:
- dữ liệu đợc đặt gần nguồn của nó hơn.
- thích ứng dữ liệu cao hơn bằng cách đặt nhiều bản copy của dữ liệu khẩn tại
nhiều nơi khác nhau. tránh đợc điểm đơn thất bại.
- Hiệu quả truy nhập cao hơn tăng khẩ năng quản lí dữ liệu.
- Dễ phát triển ứng dụng và ngời sử dụng.
Có nhiều phơng pháp phân tán dữ liệu trong môi trờng phân tán. một số phơng
pháp đơn giản, một số phơng pháp phức tạp hơn. điều quan trọng trọng trong
DDM là phơng pháp phân tán dữ liệu sẽ có ảnh hởng rất lớn đến đến cách truy
nhập dữ liệu.
Các phơng pháp phân tán dữ liệu đợc mô tả trong chơng này đợc áp dụng cho
nhiều mô hình dữ liệu khác nhau: phân cấp, mạng, tuần tự hay quan hệ. Tuy nhiên
mô hình quan hệ sẽ đợc sử dụng để minh hoạ.
1.1. mô hình dữ liệu quan hệ
- bảng
- cột
- dòng
đề SQL với 1 điểm dữ liệu đơn (site trung tâm hay chi nhánh mới), thực tế, rút
trích thủ công có thể thực hiện bằng các kiểu yêu cầu từ xa hay giao dịch từ xa của
truy nhập dữ liệu phân tán (sẽ đợc trình bày trong 10.2)
1.3. bắn tự động
để tự động rút trích thủ công, ngời ta đa các nhiệm vụ phân tán dữ liệu vào hệ
quản trị cơ sở dữ liệu phân tán. khi các yêu cầu về phân tán dữ liệu tăng lên nhiều
và phức tạp thì các hệ quản trị cơ sở dữ liệu phân tán sẽ làm nhiệm vụ bắn tự động
một cách đơn giản. tởng tợng rằng, các hệ quản trị cơ sở dữ liệu cung cấp khả
năng định nghĩa bắn tự động 1 bản copy của 1 bảng đến 1 vị trí cần thiết cũng nh
tần suất của thủ tục nạp-rút trích. Trong SQL định nghĩa nh vậy có thể nh:
CREATE SNAPSHORT <NAME> AS
SELECT
FROM .
..
.
TIME <HH:MM:SS>
INTERVAL <HH:MM:SS>
Trong xử lí SnapShort, ngời sử dụng có thể xác định các bảng, cột nào có thể đợc
sử dụng để tạo SnapShort, thời điểm và tần xuất xử lí SnapShort có thể đợc xác
định (thí dụ vào lúc nửa đêm, hay từng tiếng một). Sau đó hệ quản trị cơ sở dữ liệu
sẽ tự động thực hiện các hành động cần thiết.
Thế mạnh. SnapShort đợc thiết kế cho các thông tin khá tĩnh phân tán mà sự sự
thay đổi không thờng xuyên. thí dụ bảng tỷ giá là hay dung SnapShort vì các thay
đổi tỷ giá đợc làm 1 lần trong 1 ngày.
Hạn chế. Do làm tự động nên SnapShort đặc biệt hạn chế khi truy nhập dữ liệu là
chỉ đọc.
1.4. bản sao
với những ứng dụng mà dữ liệu phân tán có thể đợc cập nhật ở nhiều vị trí, xử lí
SnapShort sẽ không thích hợp. 1 ứng dụng nh vậy có thể yêu cầu rằng: bản sao của
cùng 1 bảng có thể đợc duy trì ở nhiều vị trí khác nhau. DDBMS có khả năng hỗ
liệu có thể bị phân mảnh theo chiều dọc/ngang.
để minh hoạ phân mảnh dữ liệu ngang, ta mở rộng ứng dụng bank bằng cách thêm
bảng Employee, mỗi dòng là 1 ngời (h.10.3). trong một môi trờng phân tán, bảng
Employee đợc phân tán đến các chi nhánh khác nhau dựa vào danh sách nhân
công của từng chi nhánh. để làm điều này, toàn bộ bảng Employee đợc phân mảnh
theo chiều ngang bằng cách tạo ra các tập con của các nhân viên các dòng
trong bảng Employee. Thí dụ khác là trong bảng Players, lấy các VĐV ở các
thành phố khác nhau.
để phân mảnh theo chiều dọc, ta giả sử rằng bảng Employee chứa các cột ghi tình
hình sử dụng thuốc của mối ngời, nó chỉ đợc đặt ở phòng ytế để theo dõi tập trung.
Nên phân tán các cột này đến các phòng ytế đợc gọi là phân mảnh theo chiều dọc
và đợc đặt ở vị trí thích hợp (h10.4).
tất nhiên có thể phân mảnh cả ngang lẫn dọc để đợc tập con các dòng và cột.
không để ý đến phơng pháp phân mảnh dữ liệu, có thể dễ lựa chọn hơn là để dữ
liệu cần thiết gần nơi sử dụng nhất (về mặt vật lí).
Tuy nhiên, nhợc điểm chính của phân mảnh là thực hiện phức tạp, rất khó làm
trong suốt việc truy nhập dữ liệu trong môi trờng phân tán. xét bảng Employee,
nếu bị phân mảnh (dọc/ngang/cả 2) thì nếu 1 ứng dụng quản lí đòi hỏi toàn bộ các
bản ghi của các nhân viên thì nó phải truy nhập đến dữ liệu nhân viên ở mọi chi
nhánh, sau đó kết hợp lại với dữ liệu của các nhân viên ở phòng ytế. Các nhân viên
có thể chuyển từ chi nhánh này đến chi nhánh khác, và các chi nhánh có thể phát
triển to hơn ứng dụng cần truy nhập dữ liệu phân tán sẽ phải hoàn toàn trong
suốt về vị trí dữ liệu và phơng pháp phân mảnh. Giải pháp: điều này có thể đạt đ-
ợc bằng cách làm khung nhìn dữ liệu phân mảnh và sử dụng nó nh một bảng đơn.
(thay vì phải viết lại ứng dụng mỗi khi một nhân viên đợc truyền.
Cung cấp nhận biết dữ liệu đang nằm trong một bảng đơn ở 1 vị trí đơn (trong suốt
vị trí và phân mảnh) là 1 thách thức lớn đối với ngời thiết kế các DDBMS.
1.6. phân tích phân tán dữ liệu
những ngời thiết kế môi trờng phân tán phải quyết định những tài nguyên tính toán
nào phải phân tán cũng nh chúng nằm ở đâu. các quyết định về khu trú dữ liệu
u chuyển hệ thống phân tán.
- vị trí của dữ liệu có thể đợc quyết định dựa vào dữ liệu hợp lí, các mô hình xử lí
(đọc, cập nhật), số lợng và các đặc trng của vị trí dữ liệu có thể.
2. truy nhập dữ liệu phân tán
khi dữ liệu bị phân tán ở nhiều vị trí, toàn bộ/một phần của logic quản lí dữ liệu
cũng phải đợc phân tán đồng hành cùng dữ liệu. Nh đã thảo luận, ít nhất một số
phần của logic xử lí cơ sở dữ liệu (hệ quản trị cơ sở dữ liệu) phải nằm trên cùng hệ
thống với cơ sở dữ liệu của nó.
Không cần để ý đến những phơng pháp phân tán dữ liệu nào đợc thực hiện, việc
truy nhập dữ liệu đợc hệ quản trị cơ sở dữ liệu phân tán cung cấp phải đợc thực
hiện theo cách sao cho vị trí của dữ liệu phải trong suốt đối với ngời sử dụng và
các ứng dụng: trong môi trờng 1 cơ sở dữ liệu đợc phân tán thực sự, ngời sử dụng
và các ứng dụng sẽ lhông biết rằng dữ liệu đợc phân tán.
Trong truy nhập cơ sở dữ liệu phân tán, yêu cầu dữ liệu đợc phân tán ở bất kì đâu
trong các nút mạng là không chỉ phù hợp mà còn tuyệt đối cần trong các kiến trúc
khách hàng/ dịch vụ hỗ trợ phân tán dữ liệu giữa các Client vàServer. bất kì thể
hiện khách hàng/ dịch vụ cho phép dữ liệu (và 1 hệ quản trị cơ sở dữ liệu địa ph-
ơng ) đợc duy trì trên các hệ thống khách cũng nh trên Server cơ sở dữ liệu phải đ-