Tải bản đầy đủ (.doc) (104 trang)

Giáo trình 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 (797.08 KB, 104 trang )

Cơ sở dữ liệu phân tán Chương I. khái niệm cơ sở dữ liệu phân tán
CHƯƠNG I
KHÁI NIỆM CƠ SỞ DỮ LIỆU PHÂN TÁN
1.1. XỬ LÝ PHÂN TÁN
Xử lý phân tán hay còn gọi là hệ thống tính toán phân tán đó là một số bộ phận xử
lý tự vận hành được liên kiết bởi một mạng máy tính và hợp đồng thực hiện các nhiệm
vụ mà chúng được phân công.Các bộ phận xử lý là các thiết bị tính toán có thể chạy
được một chương trình trên chính nó.
Những gì được phân tán:đó là các thiết bị xử lý,một kiểu khác của phân tán là chức
năng.Nhiều cức năng của hệ thông máy tính có thể được chuyển giao cho các thành
phần phần cứng và phần mềm.Kiểu thứ 3 là theo dữ liệu:Dữ liệu được dùng bởi 1 số
ứng dụng có thể được phân tán cho 1 số vị trí xử lý.Cuối cùng là quyền điều khiển
cũng có thể được phân tán.Quyền điều khiển việc thức hiện 1 số nhiệm vụ cũng có thể
được phân tán.
Các hệ thống xử lý phân tán có thể được phân loại như sau:Mức độ kết nối, sự liên
đới giữa các thành phần,cấu trúc tương giao,và sự đồng bộ hoá giữa các thành phần.
Tại sao chúng ta lại thực hiện phân tán?Đó là vì nhằm thích ừng tốt hơn với việc
phân bố rộng rãi của các công ty, xí nghiệp.Quan trọng hơn,nhiều ứng dụng hiện tại of
công nghệ máy tính cũng được phân tán.Chúng ta có thể khẳng định rằng:lý do của
ciệc xử lý phân tán là do nó có thể thực hiện tốt hơn các bài toán lớn và phức tạp mà
chúng gặp phải hiện nay bằng cách sử dụng quy tắc”Chia để trị”.
Từ quan điểm kinh tế việc xử lý phân tán có 2 ưu điểm cơ bản:trước hết tận dụng
được sức mạnh tính toán bằng cách sử dụng nhiều bộ phần xử lý một cách tối ưu đòi
hỏi phải nghiên cứu các hệ thống phân tán và hệ thống xử lý song song.Ưu điểm thứ
hai là bằng việc giả quyết bài toán theo từng nhóm hoạt động khá độc lập, chúng ta có
thể kiểm soát được chi phí phát triển phần mềm.
Các hệ cơ sở dữ liệu phấn tán cũng có thể đượ xem xét trong khuôn khổ của bộ
khung này và được xử lý như nhũng công cụ có thể làm cho việc xử lý dữ liệu phân
tán dễ dàng và hiệu quả hơn.
1.2. HỆ CSDL PHÂN TÁN LÀ GÌ?
Hệ CSDL phân tán - DDBS System (DDBS): là một tập hợp dữ liệu có liên đới logic


và được phân bố trên các nút của một mạng máy tính.
Hệ quản trị CSDL phân tán - DDBS Management Sytem (DDBMS) là một hệ
thống phần mềm cho phép quản lý các DDBS và làm cho việc phân tán trở nên vô
hình đối với người sử dụng.
Có thể nói DDBS không phải là một tập hợp các tập tin được lưu trữ riêng rẽ tại các
nút của mạng máy tính. Mà một DDBS là các tập tin vừa liên đới logic và vừa phải có
cấu trúc và phải được truy xuất qua một giao diện chung.
Phân bố vật lý của các dữ liệu không phải là vấn đề quyết định trong DDBS, ví dụ
trên cùng một nút mạng có thể lưu trữ hai hệ cơ sở dữ liệu nhưng có liên đới với nhau
TS. Lê Huy Thập - IOIT, Vast, Hà Nội 1
Cơ sở dữ liệu phân tán Chương I. khái niệm cơ sở dữ liệu phân tán
thì đó là DDBS. Tuy vậy viêc phân bố vật lý của các dữ liệu cũng hết sức quan trọng
vì nó sẽ nẩy sinh ra các vấn đề rất phức tạp như thực hiện các cấu trúc truy vấn, vấn đề
cấp phát.v.v

Hệ thống đa xử lýlà hệ thống có nhiều đơn vị xử lý cùng dùng chung một dạng bộ
nhớ, ví dụ hình 1.1-1 mô tả một hệ thống đa xử lý dùng chung bộ nhớ, hình 1.1-2 mô
tả hệ thống đa xử lý dùng chung shared disk và hình 1.1-3 mô tả hệ thống đa xử lý sở
hữu cá nhân.
Chú ý rằng phân bố vật
lý không nhất thiết là các hệ
thống máy tính phải tách
biệt nhau về mặt địa lý;
chúng có thể ở trong cùng
một văn phòng. Duy có điều
là việc giao tiếp giữa chúng
được thực hiện trên mạng
máy tính thay cho qua bộ
nhớ chung. Mạng máy tính
được xem là tài nguyên

dùng chung duy nhất, điều
này chứng tỏ hệ thống đa xử
lý không phải là DDBS.
TS. Lê Huy Thập - IOIT, Vast, Hà Nội 2
Hình 1.1-3. Hệ đa bộ xử lý sở hữu cá nhân
Kênh chuyển mạch
Computer
CPU
Memory
Computer
CPU
Memory
Computer
CPU
Memory


Computer
CPU
Memory
Computer
CPU
Memory
Đơn vị xử lý Đơn vị xử lý Đơn vị xử lý
O/I
Bộ nhớ

Hình 1.1-1. Hệ đa bộ xử lý có bộ nhớ
chung
Hình 1.1-2. Hệ đa bộ xử lý có shared disk

Computer
CPU
Memory
Computer
CPU
Memory
Computer
CPU
Memory
Shared disk
Cơ sở dữ liệu phân tán Chương I. khái niệm cơ sở dữ liệu phân tán

Nếu CSDL nằm tại một nút mạng thì nó không phải là DDBS, vì vấn đề quản trị
CSDL không khác với quản trị CSDL trong môi trường tập trung kiểu client/server
của mạng (ví dụ workstation 2 trong hình 1.1-4) khi đó tất cả yêu cầ truy xuất CSDL
điều được chuyển đến workstation 2. Và điều cần quan tâm ở đây chỉ là thời gian truy
cập của cácworkstation khác đến workstation2.
− Nếu cơ sở dữ liệu được phân tán trên nhiều nút mạng. khi đó CSDL sẽ là cơ sở
dữ liệu phân tán trên hình 1.1-5


1.3 . TRIỂN VỌNG CỦA CÁC HỆ CSDL PHÂN TÁN
Từ lý do xã hội của việc phi tập trung đến tính hiệu quả kinh tế của cơ sở dữ liệu
phân tán người ta phân DDBS ra 4 nhóm triển vọng.
1.3 .1. Quản lý dữ liệu phân tán và nhân bản vô hình.
Một hệ thống vô hình là cách cho ẩn đi thao tác cài đặt, cái mà người sử dụng
không cần quan tâm đến.
Ví dụ: Một công ty Điện - Toán, có các văn phòng ở Boston , Edmonton, Pairis và
San Francisco, có một số dự án(project) được thực hiện tại các địa điểm đó, và muốn
dùng CSDL để quản lý nhân công (Employee), quản lý dự án và các dữ liệu liên quan

khác. Giả sử CSDL là CSDL quan hệ - Relational database (RDB) có thể lưu các bảng
sau:
− Bảng EMP(ENO, ENAME, TITLE)
Trong đó EMP là Employee, ENO là Employee Number (Mã số nhân viên),
ENAME là Employee Name (Tên nhân viên), TITLE (Chức vụ).
− Bảng PROJ(PNo, PNAME, BUDGET)
Trong đó PNO là Project Number (Mã số dự án); PName - Project Name (Tên dự
án) và BUDGET (Ngân sách dự án).
− Bảng PAY(TITLE, SAL)
Trong đó SAL - salary (Tiền lương).
TS. Lê Huy Thập - IOIT, Vast, Hà Nội 3
Worstation5
Mạng
Truyề
n DL
C
S
D
L
Hình 1.1-4. CSDL tập trung, không phải
là DDBS
Worstation4
Worstation1
Worstation3
Worstation2
Worstation5
Mạng
Truyề
n DL
C

S
D
L
Hình 1.1-5. CSDL được phân tán
trên mạng, DDBS
Worstation4
Worstation1
Worstation3
Worstation2
C
S
D
L
C
S
D
L
C
S
D
L
Cơ sở dữ liệu phân tán Chương I. khái niệm cơ sở dữ liệu phân tán
− Bảng ASG (ENO, PNO, DUR, RESP)
Trong đó ASG Assignment (Phân công nhiệm vụ): phân nhân viên làm tại dự án,
thời gian làm, với nhiệm vụ), DUR (Duration = thời gian).RESP (Responsibility =
nhiệm vụ).
Nếu dữ liệu được lưu ở hệ CSDL tập trung và nếu muốn có danh sách tên và lương
của các nhân viên đã làm dự án nào đó trên 12 tháng thì câu lệnh truy vấn SQL sẽ là:
SELECT ENAME, SAL ' Chỉ lấy ra 2 trường này
FROM EMP, AGG , PAY' Dữ liệu lấy từ các bảng này

WHERE ASG.DUR > 12 AND EMP.ENO = ASG.ENO
AND PAY.TITLE = EMP.TITLE
 !
Vì công ty được phân tán các vị trí khác nhau
(Boston, Edmôntn, Paris và San Fancisco), nên
công ty muốn để dữ liệu về các nhân viên các dự án
của vị trí nào được lưu ở vị trí đó, do đó cần phải
phân hoạch các quan hệ EMP và PROJ và lưu
chúng taị các vị trí như đã yêu cầu. Quá trình làm
này được gọi là phân mảnh (fragmemtation)
"#$% !
Do yêu cầu về hiệu quả và độ tin cậy cho CSDL
nên một phần dữ liệu đã được phân mảnh ở trên cần
phải được lưu (bản sao) tại một số vị trí khác. Quá
trình này được gọi là nhân bản.
&'()
Do tính chất phân tán của công việc kinh doanh
của công ty, người ta muốn đặt dữ liệu về các nhân
viên của văn phòng ở Edmonton được lưu ở Edmonton, viên của văn phòng ở Boston
được lưu ở Boston v.v… Như vậy cần có một qúa trình phân hoạch mỗi quan hệ này
và lưu các phân hoạch
tại các vị trí khác nhau. Kết quả phân mảnh và nhân bản trên được thể hiện trên hình
1.3 .1-1.
*+,+-./0
Tuy CSDL được phân tán và phân tán trên các nút mạng, nhưng người sử dụng vẫn
có thể vấn tin như vấn tin trên CSDL tập trung tại điểm nút thực hiện truy vấn. Việc
che đậy này được gọi là truy xuất vô hình.
123,4+%5+%67+8(9+$:.;"./0
− Độc lập dữ liệu
TS. Lê Huy Thập - IOIT, Vast, Hà Nội 4

Mạng
Truyền
dữ liệu
Nhân viên tại
Boston, Paris
và dự án tại
Boston
Boston
Nhân viên và
dự án tại
Boston, Paris
Paris
Nhân viên và
dự án tại San
Francisco
San Francisco
Nhân viên và
dự án tại
Edmonton, dự
án tại Paris
Edmonton
Hình 1.2.1-1. Ứng dụng phân tán
nhân
Cơ sở dữ liệu phân tán Chương I. khái niệm cơ sở dữ liệu phân tán
Độc lập dữ liệu là sự miễn nhiễm các tác động hay che đậy các chi tiết về cấu trúc
lưu trữ dữ liệu. Đôcl lập dữ liệu là dạng vô hình cơ bàn đầu tiên của DBMS, nó là loại
duy nhất đón vai trò quan trọng về ngữ cảnh của các CSDL tập trung.
Định nghĩa dữ liệu thường có hai mức: mô tả cấu trúc logic của dữ liệu và định
nghĩa về cấu trúc vật lý của dữ liệu vì vậy chúng ta có thể nói đến hai loại độc lập dữ
liệu. Mức logic thường được xem là định nghĩa lược đồ, còn mức vật lý được gọi là

mô tả dữ liệu vật lý.
+ Độc lập dữ liệu logic (logical data Independence) là tính độc lập của các ứng
dụng với những thay đổi trong cấu trúc logic của CSDL. tức là nếu có một chương
trình ứng dụng nào đó truy xuất vào một tập con thuộc tính nào đó của CSDL thì nó sẽ
không bị ảnh hưởng nếu ta thêm hoặc bớt một số thuộc tính khác (không thuộc tập
con thuộc tính trên) vào hoặc từ CSDL đã cho.
+ Độc lập dữ liệu vật lý (physical data Independence) là che dấu các chi tiết về cấu
trúc lưu trữ dữ liệu. Người viết ứng dụng không cần quan tâm đến dữ liệu để ở đâu (ổ
đĩa, hay băng từ, nút mạng,… nào) và cách truy xuất dữ liệu (ví dụ tuần tự hay ngẫu
nhiên).
&/04<=>
Người sử dụng được tách ra khỏi mọi chi tiết hoạt động của mạng, thậm chí là
không biết có sự hiển diện của mạng nếu được - nghĩa là người sử dụng không biết là
mình đang làm việc với CSDL tập trung hay phân tán. Kiểu vô hình này được gọi là
vô hình kết mạng (Network transparency) hoặc là vô hình phân bố (Distributed
transparency). Vô hình liên kết mạng có thể được chia thành hai loại; vô hình vị trí và
vô hình đặt tên.
+ Vô hình vị trí (Location transparency) - là việc thực hiện một lệnh nào đó độc lập
với vị trí dữ liệu được lưu trữ.
+ Vô hình đặt tên (Naming transparency) - là đòi hỏi cung cấp một tên duy nhất
trước cho mỗi đối tượng CSDL. Khi không có vô hình đặt tên người sử dụng bị buộc
phải gắn tên vị trí làm thành phần tên của tên đối tượng.
&/0"
Vô hình nhân bản làm cho người sử dụng không thể biết họ đang làm việc với
CSDL gốc hay với các bản nhân bản. Vậy vô hình nhân bản làm nhiệm vụ của DBMS.
Việc nhân bản sẽ làm tăng hiệu quả vì có thể làm giảm xung đột đường truyền khi
truy cập vào cơ sở dữ liệu, giảm thời gian truyền dữ liệu và tăng độ an toàn và bảo
mật. Hơn nữa nếu một só máy lưu dữ liệu có "hỏng hóc" thì các máy khác có thể truy
cập đến các nhân bản của máy khác,.… Việc nhân bản cũng gặp nhiều khó khăn về
cập nhật, vì khi một nhân bản có sự thay đổi (xóa, sửa, thêm, ) thì các nhân bản khác

kể cả bản gốc liệu có cập nhật kịp thời hay không?
Việc có nhân bản hay không, bao nhiêu bản, lưu trữ của bản sao tại nút nào là tùy
thuộc vào nhu cầu ứng dụng quyết định.
&/0$ 3$%,!
TS. Lê Huy Thập - IOIT, Vast, Hà Nội 5
Cơ sở dữ liệu phân tán Chương I. khái niệm cơ sở dữ liệu phân tán
Vô hình phân mảnh làm cho người sử dụng không cần tham gia vào việc phân
mảnh và không thể biết họ đang làm việc với CSDL gốc hay với các mảnh đã được
phân mảnh từ CSDL gốc.
Phân mảnh là chia CSDL thành các mảnh dữ liệu (Fragment) nhỏ hơn và xử lý mỗi
mảnh nhận được như một CSDL độc lập - tức là như một quan hệ. Phân mảnh chỉ
được thực hiện khi nó tăng hiệu quả, và có độ tin cậy. Có hai kiểu phân mảnh cơ bản
là phân mảnh ngang (Horizontal fragmentation)và phân mảnh dọc (Vetical
fragmentation).
− Phân mảnh ngang làm cho CSDL được phân hoạch thành các CSDL con, mỗi
CSDL con là một tập hợp các bộ thỏa mãn một số tính chất nào đó.
− Phân mảnh dọc cũng chia CSDL thành các CSDL con gồm một tập hợp con các
thuộc tính cùng với các giá trị của chúng có trong tập các thuộc tính của CSDL đã
cho.
Khi CSDL được phân mảnh, phải có cách xử lý các câu vấn tin của người sử dụng,
các truy vấn này phải được thực hiện trên các mảnh. Tức là phải dịch câu truy vấn
toàn cục (Global query) thành nhiều câu truy vấn theo các mảnh. Như vậy vấn đề vô
hình phân mảnh là vấn đề vô hình xử lý các câu truy vấn.
.)%+%-$%:%?%'./0
Có bốn tầng cung cấp dịch vụ vô hình là:
+ Tầng truy xuất (Aecess layer) là trách nhiệm cung cấp tính vô hình khi truy xuất
đến các tài nguyên. Những đặc tính vô hình có thể được cài sâu vào trong ngôn ngữ
của người sử dụng, chúng sẽ dịch các dịch vụ theo yêu cầu thành các thao tác cần
thiết. Nói cách khác tính phiên dịch hoặc thông dịch sẽ chịu trách nhiệm vô hình này.
+ Tầng ở cấp độ hệ điều hành. Các hệ điều hành hiện đại có cung cấp một mức độ

vô hình cho người sử dụng hệ thống. Ví dụ các trình điều khiển thiết bị. Nghĩa là hệ
điều hành tự xử lý khi tiếp nhận thêm thiết bị ngoại vi chẳng hạn. Người sử dụng và
lập trình viên, không phải viết cac phần mềm điều khiển thiết bị công việc này hoàn
toàn vô hình đối với người sư dụng.
+ Tầng quản trị CSDL: nhiệm vụ của DBMS là phải thực hiện các quá trình phiên
dịch cần thiết từ hệ điều hành sang giao diện cấp cao của người sử dụng đây là
phương pháp thông dụng nhất hiện nay. Vô hình ở tầng này là giải quyết sự tương tác
giữa hệ điều hành và các DBMS phân tán.
Chú ý: Giao diện với DBMS phân tán không nhất thiết là ngôn ngữ lập trình cũng có
thể là giao diện đồ họa (GUI), giao diện của ngôn ngỡ tự nhiên và ngay cả bằng âm
thanh.
+ Tầng ngôn ngữ: Người sử dụng có thể truy xuất đên hai dữ liệu dưới dạng trừu
tượng hóa cao. Ví dụ: Nhờ giao diện đồ họa GUI, truy xuất bằng ngôn ngữ tự nhiên.
Các tầng vô hình có thể minh họa ở hình 1.3 .1-2
TS. Lê Huy Thập - IOIT, Vast, Hà Nội 6
Vô hình ngôn ngữ
Vô hình phân mảnh
Vô hình nhân bản
Vô hình nối mạng
Độc lập dữ liệu
Dữ liệu
Hình 1.2.1-2. Các tầng, và tầng vô hình
Cơ sở dữ liệu phân tán Chương I. khái niệm cơ sở dữ liệu phân tán
Hiện nay phần lớn DBMS điều cung cấp một số vô hình ở một mức độ nào đó điển
hình là vô hình phân bố, vô hình phân mảnh ngang và vô hình nhân bản.
Phần lớn các DBMS phân tán trên thị trường không cung cấp mức vô hình đầy đủ.
Ví dụ: còn đòi hỏi người sử dụng phải cho biết tên ví trí kèm theo với của mỗi đối
tượng dữ liệu cần truy cập, hơn nữa chúng còn yêu cầu người sử dụng phải mô tả tên
đầy đủ khi truy xuất đến đối tượng.
Việc gắn tên vị trí gây ra nhiều khó khăn khi cần dịch chuyển các đối tượng giữa các

máy nhằm tối ưu hóa các tác dụng về mặt vị trí, hoặc còn vì những mục đích khác.
Một số hệ thống khác cũng không hộ trợ tính vô hình cho việc quản lý dữ liệu nhân
bản trên các cơ sở dữ liệu logic. Chúng đòi hỏi người sử dụng phải logon vào một
CSDL cụ thể nào đó và tại một thời điểm nào đó. Ví dụ: ORACLE.
1.3 .2. Yêu cầu độ tin cậy qua các giao dịch phân tán
Một giao dịch (transaction) là một đơn vị tính toán cơ bản, nhất quán và tin cậy
được, bao gồm một loạt các thao tác CSDL như các hành động cơ bản nhất (atomic
action). Nó biến đổi CSDL từ trạng thái nhất quán này sang trạng thái nhất quán khác
ngay cả khi có một số lượng giao dịch được thực hiện đồng thời (đôi khi được gọi là vô
hình đồng thời concurrency transparency) và ngay cả khi có sự cố xẩy ra (cũng được
gọi là tính nguyên tử khi có sự cố, failture atomicity). Như vậy nếu một DBMS được hỗ
trợ đầy đủ cho giao dịch sẽ dảm bảo cho việc thực hiện đồng thời các giao dịch của
người sử dụng, sẽ không vi phạm tính nhất quán của CSDL khi có sự cố hệ thống với
điều kiện là các giao dịch đều hợp lệ, tức là đảm bảo tính toàn vẹn được đặc tả trên
CSDL đã cho. Ví dụ khi tăng lương cho tất cả các nhân viên của công ty Điện - Toán
(ví dụ mục 1.3 .1.). Chúng ta muốn việc thực hiện này chỉ xảy ra trong phạm vi giao
dịch, hoặc nếu có sự cố khi đang thực hiện câu truy vấn cập nhật tăng lương trên, chúng
ta muốn DBMS sẽ tự xác định nơi chương trình phải dừng lại, để khi thực hiện trở lại
nó phải biết nơi phải tiếp tục, hoặc một người sử dụng khác đang thực hiện câu truy vấn
tính lương trung bình của các nhân viên trong khi các hoạt động cập nhật dữ liệu đang
được tiến hành vì thế kết quả tính toán có thể sai. Một lần nữa chúng ta muốn DBMS
có khả năng đồng bộ hóa được việc thực hiện đồng thời của hai chương trình này.
TS. Lê Huy Thập - IOIT, Vast, Hà Nội 7
Cơ sở dữ liệu phân tán Chương I. khái niệm cơ sở dữ liệu phân tán
Hỗ trợ giao dịch đòi hỏi phải cài đặt các nghi thức điều khiển đồng thời phân tán và
nghi thức khả tín phân tán-đặc biệt là các nghi thức ủy thác hai pha (two phase commit,
2PC) và khôi phục phân tán. Hỗ trợ nhân bản đòi hỏi phải cài đặt các nghi thức điều
khiển bản sao (replica protocol control) nhằm đảm bảo ngữ nghĩa được đặc tả khi truy
xuất chúng.
1.3 .3. Nâng cao hiệu năng

Hiệu năng của DBMS phân tán sẽ được nâng cao dựa vào hai điều kiện:
− Một DBMS phân tán có khả năng phân mảnh CSDL mức khái niệm, cho phép dữ
liệu ở gần nơi sử dụng (cũng được gọi là cục bộ hóa dữ liệu - data localization). Có
hai ưu điểm nổi bật:
i. Vì mỗi trạm chỉ xử lý một phần CSDL, tranh chấp về CPU và các dịch vụ I/O
không nghiêm trọng như CSDL tập trung.
ii. Cục bộ hóa dữ liệu làm giảm thiểu các chậm trễ do truy xuất dữ liệu ở xa trong
WAN (Wide Area Network) phải qua truyền thông như: vệ tinh, viba,…
− Tính chất song hành của các hệ phân tán có thể được tận dụng để
thực hiện song hành liên vấn tin và nội vấn tin. Song hành liên vấn tin là khả năng
thực hiện cùng một lúc nhều câu vấn tin còn song hành nội vấn tin là tách một câu
vấn tin thành các câu vấn tin con, mỗi câu sẽ được thực hiện tại một vị trí và truy
xuất các phần khác nhau của CSDL phân tán.
1.4. CÁC ĐẶC ĐIỂM CỦA HỆ CSDL PHÂN TÁN
− Tính phức tạp
Các vấn đề của hệ CSDL phán tán phức tạp hơn so với các tập trung vì chúng không
những có cả những vấn đề của môi trường tập trung mà còn có cả hàng loạt những
vấn để mới chưa được giải quyết.
− Chi phí
Các hệ phân tán đòi hỏi phải có thêm các thiết bị mới (thiết bị truyền thông chẳng
hạn) và như thế làm tăng chi phí phần cứng. Tuy nhiên xu hướng giảm giá thành của
thiết bị làm cho điềưnày trở thành một yếu tố ít quan trọng. Phần chi phí đáng kế nằm
ở chỗ nó cần phải có các phần mềm và phương pháp truyền thông phức tạp hơn nhằm
giải quyết một số vấn đề về kỹ thuật. Việc phát triển các kỹ thuật công nghệ phần
mềm (các chương trình phát hiện và gỡ rối phân tán) rất có ích về phương diện này.
Có lẽ thành phầnn chi phí quan trọng nhất là chi phí về nhân lực. Khi các thiết bị
máy tính được xây dựng ở nhiều vị trí khác nhau, chúng đòi hỏi phải có con người
điều hành và quán lý. Kết quả là phải tăng thêm nhân sự cho các hoạt động xứ lý dữ
liệu. Vì thế chúng ta càn phải phân tích cẩn thận giữa việc tăng lợi nhuận do thông tin
được sử dụng hiệu quả và kịp thời với chi phí về nhân sự.

− Phân tán quyền điều khiển
Điểm này đã được nêu ra trước dây như mọt ưu điểm của các hệ CSDL phân tán.
Không may là sự phân tán lại gây ra các vấn đề đồng bộ hóa và hiệp đồng (những lý
do làm tăng tính phức tạp sẽ được nghiên cứa trong phần kế tiếp). Việc điều khiến
TS. Lê Huy Thập - IOIT, Vast, Hà Nội 8
Cơ sở dữ liệu phân tán Chương I. khái niệm cơ sở dữ liệu phân tán
phân tán có thể trở thành một gánh nặng nếu không có những chiến lược phù hợp để
giải quyết chúng.
− Tính an ninh (bảo mật).
Một trong những lợi ích chính của các CSDL tập trung là chúng bảo đảm kiểm soát
được các truy xuất dữ liệu. An ninh dễ dàng mềm soải được ờ vị trí trung tâm qua một
hệ quán trị CSDL thực thi các qui tắc an ninh. Tuy nhiên trong một hệ CSDL phân
tán, môi trường mạng kèm theo sẽ có các yêu cầu an ninh của riêng chúng. Chúng ta
đã từng thấy nhiều vấn đề nghiêm trọng khi phải bảo đảm an ninh trên các mạng máy
tính. Vì thế về bản chất, vấn đề an ninh trong các hệ CSDL phân tán rõ ràng là phức
tạp hơn so với các hệ tập trung.
1.5. KIẾN TRÚC HỆ QUẢN TRỊ CƠ SỞ DỰ LIỆU PHÂN TÁN
Kiến trúc của một hệ thống xác định cấu trúc của nó . Tức là các thành phần của
các hệ thống được xác định, chức năng của mỗi thành phần được mô tả, các mối quan
hệ trung gian và tương tác giỡa các thành phần này được định nghĩa, bổ sung tổng
quát này cũng đúng cho các hệ thống máy tính nói chung và cho các hệ phần mềm nói
riêng. Đặc tả về kiến trúc cho các hệ phần mềm đòi hỏi phải xác định rất nhiều đơn
thể với các giao diện và các mối quan hệ trung gian qua dữ liệu và dòng điều khiển
xuyên suốt hệ thống đó. trên quan điểm công nghệ phần mềm, công việc phát triển các
đơn thể riêng rẽ được gọi là lập trình vi mô, việc tích hợp các đơn thể vào một hệ
thống đơn hoàn chỉnh được xem là lập trình vĩ mô.
Mục tiêu dịnh nghĩa kiến trúc là xây dựng các DBMS phân tán vơi khả năng cung cấp
được các chức năng như: Vô hình, để tin cậy qua các giao dịch phân tán, hiệu quả và
đặc tính mở rộng,.v.v
@ABA@A*4+%+CD7+8

Tiêu chuẩn hóa DBMS có liên quan chặt chẽ với mô hình tham chiếu (reference
model). Nó được xác định như một bộ khung khái niệm (ý niệm đại khái) mà mục đích
là phân chia công việc tiêu chuẩn hóa thành những phần dễ quản lý và trình bày, ở mức
tổng quát, cach thức liên hệ giữa các phần nầy với nhau. mô hình tham chiếu (và là kiến
trúc hệ thống) có thể được miêu tả với 3 cách tiếp cận sau:
@EF.; %:%;$5A
Các thành phần của hệ thống được định nghĩa kèm với mối tương quan giữa
chúng .Như hệ thống DBMS gôm một số thành phần, mỗi thành phần cung cấp một
chức năng vận hành nào đó. Khi tương tác có trật tự và có hệ thống giữa chúng sẽ cung
cấp toàn bộ chức năng của hệ thống đây là cách tiếp cận khi mục tiêu cơ bản là thiết kế
và cài đặt hệ thống đang xem xét: Nếu không sẽ rất khó khăn khi cần xác định chức
năng của hệ thống bằng cách xem xét các thành phần của nó.
GEF.; %:%%H%I
Đặc tả hệ thống này là mô tả kiến trúc phân cấp. nó tạo ra một kiến trúc hệ thống
phân cấp với các giao diện được xác định một cách rõ ràng giữa các chức năng của các
tầng khác nhau
Đặ tả hệ thống này là mô tảkiến trúc phân cấp, nó tạo ra một kiến trúc hệ thống phân
cấp với các giao diện được xác định một cách rõ ràng giữa các chức năng giữa các tầng
TS. Lê Huy Thập - IOIT, Vast, Hà Nội 9
Cơ sở dữ liệu phân tán Chương I. khái niệm cơ sở dữ liệu phân tán
khác nhau.Ưu điểm của phương pháp tiếp cận này là sự rõ ràng trong việc đặc tả các
mục tiêu của hệ thống. Tuy nhiên nó cho biết rất ít về cách thức thực hiện như thế nào
để đạt được mục tiêu này, hoặc là độ phức tạp của hệ thống.
JEF.; (9+A
Các kiểu dữ liệu khác nhau sẽ được định nghĩa và bbộ khung kiến trúc được đặc tả để
định nghĩa các đơn vị chức năng sẽ tiếp nhận hoặc sử dụng dữ liệu theo những góc độ
khác nhau này: bởi vì dữ liệu là tài nguyên chính màDBMS cần quản lý, cách tiếp cận
này rất được ưa chuộng đối với các hoạt động tiêu chuẩn hóa. Ưu điểm của cách tiếp
cận này là nội dung chủ chốt được đặt vào tì nguyên dữ liệu mà DL là tài nguyên cơ
bản mà DBMS quản lý.

Dù rằng có 3 cách tiếp cận riêng biệt, nhưng ảnh hưởng qua lại giữa chúng cũng
cần phải được xem xét vì cả 3 cách đều được sử dụng khi định nghĩa một mô hình kiến
trúc, trong đó mỗi góc độ sẽ tập trung vào một số khía cạnh khác nhau của mô hình
kiến trúc.
Ví dụ: Kiến trúc dựa vào dự liệu. Kiến trúc này có 3 hình ẳnh về DL: Hình ảnh
ngoại giới (External view) là cách nhìn của người sử dụng kể cả lập trình viên; Hình
ảnh nội tại (Internal vieno) là cách nhìn của hệ thống; và hình ảnh khái niệm
(conceptual view) là cách nhìn chủ quan (của công ty, xí nghiệp). Mỗi hình ảnh đòi hỏi
phải có một định nghĩa lược đồ phù hợp. Hình 4-1 trình bày kiến trúc ANSI/SPARC
(American National Standards Instrtute/ Scalable Performance Arelutecture) trên cơ sở
tổ chức dữ liệu .
Mức thấp nhất là hình ảnh nội tại là mức xử lý phần định nghĩa và tổ chức vật lý
của DL (tức là vị trí của dữ liệu trên các trên các thiết bị lưu trữ cơ chế truy xuất )
Hình ảnh ngoại dưới là cách để người sử dụng có thể thấy được CSDL. Khung nhìn
của từng người cho biết phần cơ sở dự liệu mà ngươi sử dụng đó có thể truy cập cũng
như mối liên hệ giữa các DL mà người sử dụng có thể thấy được. Nhiều người sử dụng
có thể dùng chung một khung nhìn này tạo ra lược đồ ngoài hay còn gọi là lược đồ
ngoại giới (External schema). Nằm giữa hai lược đồ nội và ngoại giới là lược đồ khái
niệm (Conxeptual schema) là ý niệm của CSDL- đó là hình ảnh về thế giới thực (real
wored) của xí nghiệp đã được mô tả hay mô hình hóa trong CSDL. Nó được dùng để
biểu thị dữ liệu và những mối liên hệ giữa các DL mà không phải xét đến các yêu cầu
cụ thể của từng ưu điểm hoặc hạn chế của môi trường lưu trữ vật lý.
TS. Lê Huy Thập - IOIT, Vast, Hà Nội 10
Cơ sở dữ liệu phân tán Chương I. khái niệm cơ sở dữ liệu phân tán
Chuyển đổi qua lại giữa các mức này được thực hiện qua các ánh xạ đặc tả xem làm
thế nào để có được định nghĩa của một mức từ định nghĩa của mức khác.
Ví dụ cụ thể:
Xét CSDL của công ty điện toán và chỉ xem cách nào để mô tả chúng trong một hệ
CSDL theo mô hình ÁNI/SPARC. Như đã biết, trong mô hình này có 4 quan hệ EMP ,
PROJ, ASG, và PAY. lược đồ phải mô tả từng mối quan hệ với các thuộc tính và khóa

của chúng. Các mô tả như sau:
RELATION EMP [
KEY = {ENO}
ATRIBUTES = {
ENO: CHARACTER (9)
ENAME: (15)
TITLE: (10)
}
]
RELATION PAY [
KAY = TITLE: CHARACTER (10)
SAL: NUMERIC (6)
}
]
RELATION PROY [
KAY = {PNO}
ATTRIBUTES= {
PNO: CHAERACTER (9)
PNAME: (20)
BUDGEY: NUMERIC (7)
}
TS. Lê Huy Thập - IOIT, Vast, Hà Nội 11
Internal View
Conceptual View
Wxternal View
Wxternal View
Wxternal View
Users
Lược đồ ngoại
giới

Lược đồ khái
niệm
Lược đồ nội tại
Hình 4-1. Kiến trúc ANSI/SPARC
Cơ sở dữ liệu phân tán Chương I. khái niệm cơ sở dữ liệu phân tán
]
RELATION ASG [
KEY = { ENO, PNO }
ATTRIBUTES = {
ENO : CHAERACTER (9)
PNO:: CHARACTER(7)
REPS : : CHARACTER(10)
DUR : NUMEICR (3)
}
]
K1H%2>
Mô tả chi tiết việc lưu trữ các quan hệ. Giả sử EMP được lưu trữ trong một tập tin
chỉ mục, với chỉ mục được định nghĩa tren thuộc tính khóa (tức là ENO) và được gọi là
EMINX. cung ta cũng giả sử rằng có một trường HEADER các dữ liệu (xóa , cập
nhật, ) như vậy định nghĩa lược đồ nội tại của quan hệ này là:
INTERAL REL EMP [
INDEX ON E # CALL EMINX
FILD = {
HEADR: BYTE (1)
E # : BYTE (9)
E:NAME :BYTE (15)
TIT : BYTE (10)
}
]
KL+0.;<$:$M

Xét 2 ứng dụng: Trả lương và báo cóa ngân sách dành cho mọi dự án trả lương có
khung nhìn như sau:
CREATE VIEW PAYROLL (ENO, ENAME, SAL)
AS SELECT EMP . ENO, EMP. ENAME, PAY. SAL
FROM EMP, PAY
WHERE EMP.TITLE = PAY.TITLE
Còn báo cáo có khung nhìn:
CREATE VIEW BUDGET CPNAME, BUDGET
AS SELECT PNAME, BUDGET
FROM PROJ
Khi ứng dụng kiến trúc ANSI/ SPARC theo chức năng, chúng ta có ình ảnh phức tạp
hơn như hình ảnh 4.2 sau:
TS. Lê Huy Thập - IOIT, Vast, Hà Nội 12
Cơ sở dữ liệu phân tán Chương I. khái niệm cơ sở dữ liệu phân tán
Ký hiệu:
ANSI/SPARC(American National Standards Institute/ Scalable Performance
Architecture = Viện Tiêu chuẩn Quốc gia Hoa Ky/Kiến trúc hình thức có khả năng thay
đổi phạm vi sử dụng)
Chức năng xử lý
Chức năng quàn lý
Chỉ dòng dữ liệu, dòng chương trình và dòng mô tả
Là các giao diện.
Thành phần chính cho phép ứng xạ giữa các thành phần khác nhau là từ điển/ thư
mục dữ liệu ( data dictionary/ directory được biểu thi bởi hình và được gọi là
megadatabase (siêu CSDL hay mêta CSDL: Mêta là tiếp đầu ngữ gốc Hy lạp = biểu thi
một khái niệm khái quát hơn hoặc một ngành nghiên cứu tổng quá hơn). Ví dụ logic
TS. Lê Huy Thập - IOIT, Vast, Hà Nội 13
Conceptual/External
database Transformation
processor

Internal
Database/Conceptual
Transformation
processor
Internal Storage/Internal
database Transformation
processor
Enterprise
Administrat
or
Database
Administrat
or
Application
system
Administrator
Conceptual Database
schema procesor
Internal database
schema processor
External database
schema processỏ
Internal database
Application
Program
Application
System
Program
Internal database
Application

Program
Application
System
Program
Hình 4-2. Một phần của mô hình kiến
trúc ANSI/SPARC
Cơ sở dữ liệu phân tán Chương I. khái niệm cơ sở dữ liệu phân tán
toán thường được gọi là meta toán học. Meta CSDLlà một cơ sở dữ liệu chứa thông tin
về cấu trúc của một CSDL , trong DB2 thông tin về cuấ trúc bảng được lưu trong một
CSDL có tin là Catalog). Metadatabase này ít nhất là phải chúa lược dồ và ánh xạ. Nó
cũng có thể chứa các số liệu thống kê và việc sử dụng các thông tin kiểm soát truy
cập, Rõ ràng là từ điển dữ liệu có vai trò trung tâm vừa để xử lý các lược đồ khác
nhau vừa cung cấp các ánh xạ giữa chúng.
Trong lược đồ cũng cho thấy vai trò của những người quản trị:
+ Quản trị viên CSDL (Database Administ rabor = DBA) Chịu trách nhiệm định nghĩa
các lược đồ nội tại.
+ Quản trị viên xí nghiệp ( Euterprise Adrimistrator) chịu trách nhiệm phần định
nghĩa lược đồ khái niệm là tâm điểm cho vấn đề sử dụng các thông tin trong xí nghiệp.
+ Quản trị viên ứng dụng (application Administrator ) chịu trách nhiệm cho các khung
nhìn cho các ứng dụng.
Chú ý: Cả ba vai trò này, có thể chỉ có một người hoặc một nhóm người cùng chịu
trách nhiệm. Điều quan rọng là hệ thống phải hỗ trợ đầy đủ cả 3 vai trò này Ngoài 3 lớp
quản trị trên còn 4 lớp người sử dụng khác là:
+ Lập trìh viên hệ thống
+ Lập trình viên ứng dụng
+ Người sử dụng bình thường (biết cách nhập dữ liệu)
+ Người sử dụng không chyên (không hiểu biết gì về CSDL và chỉ truy xuất qua các
công cụ có sẵn và dễ sử dụng như thôngqua hệ thống menu hoặc nút lệnh như bảng giờ
tàu máy rút tiền, )
@ABAGA1/0<=N%$:

Khi có sự kết hợp nhiều CSDL lại để có nhiều DBMS có thể dùng chung DL.
Chúng ta dùng một số cách phân loại để chia hệ thống theo các đặc điểm như: Tính tự
vận hành hay là tính tự trị (auto noncy) của các hệ thống cục bộ, sự phân tán
(distrubution) của chúng và tính đa chủng (Heterogeneity)
− *'F.;
Tự vận hành nói đến sự phân bố điều khiển. Không nói đến DL . Nó chỉ ra sự hoạt
động độc lập của từng DBMS. TTVH biểu hiện qua một số yếu tố như: Các hệ thống
thành viên có trao đổi thông tin với nhau hay không. TTVH đã được đặc tả theo nhiều
cách trong đó: gligor and Popescu - Zelatin, 1986 đưa ra các yêu cầu của tự vận hành
như sau:
(1) Các hoạt động cục bộ của từng DBMS không bị ảnh hưởng bởi sự tham gia
của chúng vào trong phức hệ CSDL ( Multidatabase system)
(2) Phương thức xử lý và tối ưu hóa vấn tin trong từng DBMS không bị ảnh hưởng
bởi việc thực hiện các yêu cầu toàn cục có truy nhập nhiều CSDL.
(3) Tính nhất quán, hoặc hoạt động có hệ thống bị tồn tại khi từng DBMS riêng rẽ
tham gia hoặc tách ra khỏi "liên minh" CSDL.
Còn Du and Elmagarmid, 1989 thì mô tả các đặc tính tự vận hành như sau:
(1) Tính tự trị thiết kế (Dsign Autonomy): Mỗi DBMS đều tự do sử dụng các mô
hình dữ liệu và các kỹ thuật quản lý giao dịch thích hợp.
TS. Lê Huy Thập - IOIT, Vast, Hà Nội 14
Cơ sở dữ liệu phân tán Chương I. khái niệm cơ sở dữ liệu phân tán
(2) Tính tự trị truyền thông (communication Autonomy) Mỗi DBMS đều tự do
quyết định xem loại thông tin nào muốn cung cấp cho những DBMS khác hoặc
cho các phần mềm điều khiển hoạt đọng toàn cục.
(3) Tính tự trị thực thi (Excution Automony) Mỗi DBMS có thể thực hiện các giao
dịch đã được giao cho nó theo cách tùy ý miễn là thực hiện được các giao dịch
dó.
Một khái quát các khía cạnh quan trọng của những đặc tính đã nêu trên là khái
niệm về tính hợp chặt ( tight Intẻgation) tích hợp chặt nghĩa là chỉ tồn tại một hình
ảnh duy nhất về toàn bộ hệ thống CSDL mà NSD thực ra đã dùng chung thông tin

nằm trong nhiều cơ sở dữ liệu tích hợp lại. Như vậy với người sử dụng, các cơ sở dự
liệu tham gia liên minh được xem như là một (về mặt logic) Trong hệ thống tích hợp
chặt, một trong những bộ quản lý DL (datamanager) nắm quyền kiểm soát việc xử lý
các yêu cầu của người sử dụng, ngay cả khi yêu cầu phải được nhiều bộ quản lý DL
cùng tham gia xử lý.
Khái quát thứ hai là hệ thống bán tự trị ( semi autonomyus sytem) bao gồm các
DBMS hoạt động độc lập nhưng đã quyết định tham gia liên minh nhằm chia sẻ dự
liệu cục bộ của chúng. Như vậy mỗi DBMS phải xác định được những phần CSDL
nào của riêng nó mà những người sử dụng các DBMS được phép truy cập . Chúng
không phải là những hệ thống tự vvận hành hoàn toàn bởi vì chúng cần phải được sửa
đổi lại để có thể trao đổi thông tin với các hệ thống khác.
Khái quát thứ 3 là các hệ thống đóng; trong đó trường hệ thống là những DBMS cô
lập, CN không biết có sự hiện diện của các DBMS khác. Trong hệ thống đóng, việc
xử lý truy cập đén nhiều CSDL sẽ rất khó khăn vì không có sự kiểm soát toàn cục đối
với hoạt động của các DBMS
Chú ý: Ba lựa chọn trên không phải là duy nhất- chúng đfược nêu lên những chọn lựa
thông dụng nhất mà thôi.
− F$:
Tự vận hành đã nêu ở trên đề cập đến việc phân bổ điều khiển. Ở đây phân tán lại
đề cập đến dữ liệu - tức là phân tán vật lý các dữ liệu trên nhiếu vị trí. Người sử dụng
chỉ thấy dữ liệu như một kho chứa logic. Có một số cách phân tán DBMS ở đây
chúng ta khái quát thành 2 lớp : Khách / chủ ( Client/ Server distribution) và ngang
cấp (Peer To Peer).
+ Lớp Client/Server distribution:
Tập trung nhiệm vụ quản trị dữ liệu tạI các thành phần Server còn các Client chịu
trách nhiệm cung cấp môi trường ứng dụng, kể cả giao diện ngườI sử dụng. Nhiệm vụ
truyền thông được chia sẻ cho các Client và Server. Các DBMS kiểu Client/Server là
phân tán chức năng, nó tạo ra hai nhóm máy: Client và Server có chức năng khác
nhau.
+ Lớp Peer To Peer:

Các máy trạm không chia ngôi thứ. MỗI máy dều có chức năng đầy đủ của DBMS
và có thể trao đổI thông tin với các trạm khác để thực hiện vấn tin và giao dịch. Lớp
này cũng được gọi là phân tán hoàn toàn.
− *'%6
TS. Lê Huy Thập - IOIT, Vast, Hà Nội 15
Cơ sở dữ liệu phân tán Chương I. khái niệm cơ sở dữ liệu phân tán
Tính đa chủng liên quan đến mô hình dữ liệu, ngôn ngữ vấn tin và nghi thức quản
lý giao dịch (database model, query language and Transaction management protocol).
Tính đa chủng được sinh ra do dữ liệu được thể hiện bởi các công cụ mô hình hóa
khác nhau, các truy cập, vấn tin khác nhau và cả ngôn ngữ được sử dụng cũng khác
nhau.
@ABAJAL=N%7+8%O3P(9+$:
− E.
Chia chức năng thành hai lớp: Chức năng chủ và chức năng khách. Đây là kiến trúc
hai cấp có tác dụng làm giảm tính phức tạp không những cho DBMS mà cả khi phân
tán dữ liệu. Server chịu trách nhiệm thực hiện mọi xử lý và tối ưu hóa vấn tin, quản lý
giao dịch và quản lý thiết bị,… Tại các Client ngoài các ứng dụng giao diện, còn có
riêng một DBMS chịu trách nhiệm quản lý dữ liệu nhận từ Server và có thể quản lý cả
các phiên giao dịch.
Kiến trúc Client/Server được thể hiện ở hình 4.3.1-1. Giao tiếp giữa Client và
Server thể hiện trong các câu SQL. Cụ thể là các Client chỉ có trách nhiệm chuyển các
câu truy vấn SQL tới Server, Server phải làm tất cả mọi việc như tối ưu hóa câu hỏi,
thực thi truy vấn và trả kết quả truy vấn cho Client.
Có thể có các kiến trúc Client/Server khác nhau, nhưng đực trưng nhất là hai kiến
trúc sau:
(1) n-Client 1-Server
Kiến trúc này không có nhiều khác biệt với CSDL tập trung, vì CSDL được lưu trữ
trên một Server duy nhất và có một phần mềm để quản lý CSDL này.
(2) n-Client n-Server
Kiến trúc này không có hai cách quản lý:

(1)1 Hoặc mỗi Client tự quản lý kết nối với Server
Cách quản lý này làm đơn giản
các chương trình ở Server nhưng
lại đặt các gánh nặng lên các
Client. Kiến trúc này thường
được gọi là hệ thống khách tự
phục vụ.
(1)2 Hoặc mỗi Client chỉ
biết Server trực tiếp của
mình, khi muốn giao tiếp
với các Server khác nó
phải thông qua Server trực
tiếp của nó.
Cách quản lý này tập trung các
chức năng xử lý dữ liệu tại
Server, do đó phải cung cấp vô
hình truy cập cho các Client.
− K* K
TS. Lê Huy Thập - IOIT, Vast, Hà Nội 16
UserInterface Application
Program
……
Operating System
Client DBMS
Communication Software
OperatingCommunication SoftwareSemantic Data
ControllerQuery OptimizerTransaction ManagerRecovery
ManagerRuntime Support ProcessorSystem
Result relationSQL query
Hình 1.5-1. Kiến trúc Client/Server

Cơ sở dữ liệu phân tán Chương I. khái niệm cơ sở dữ liệu phân tán
Trong Peer-To-Peer, việc tổ chức dữ liệu vật lý trên mỗi Workstation có thể khác
nhau, như vậy phải có một định nghĩa riêng cho mỗi Workstation mà ta gọi là lược đồ
nội tại cục bộ LIS (Local Internal Schema). Bức trang toàn cục về dữ liệu của cả công
ty hay cả xí nghiệp,… được mô tả bởi lược đồ khái niệm toàn cục GCS (Global
Conceptual Schema), nó được dùng để mô tả cấu trúc logic của dữ liệu được lưu tại
các Workstation.
Như chúng ta thấy, dữ liệu trong một CSDL phân tán thường được phân mảnh và
nhân bản. Để xử lý sự phân mảnh và nhân bản, chúng ta cần mô tả tổ chức logic của
dữ liệu được lưu tại các Workstation nên cần phải có thêm lược đồ khái niệm cục bộ
LCS (Local Conceptual Schema) trong kiến trúc. Như vậy có thể thấy GCS là hợp của
các LCS. Cuối cùng là các ứng dụng và truy cập CSDL được gọi là lược đồ ngoại giới
ES (External Schema). Đó là tầng nằm phía trên cùng của GCS. Xem hình 4.3.2-1.
Theo mô tả mô hình, chúng ta mở rộng mô hình ANSI/SPARC bằng cách đưa thêm
GD/D (Global Directory/Dictionary) vào hệ thống cho phép thực hiện các ánh xạ
toàn cục theo yêu cầu. Các ánh xạ cục bộ vẫn được thực hiện bởi LD/D (Local
Directory/Dictionary). Nhờ vậy mà các thành phần quản lý CSDL cục bộ được tích
hợp nhờ chức năng của hệ thống CSDL toàn cục.
Trong hình 1.5-3. , lược đồ khái niệm cục bộ là ánh xạ của lược đồ khái niệm
toàn cục vào từng vị trí. Hơn nữa những cơ sở dự liệu loại này thường được thiết kế
theo kiểu "từ trên xuống dưới", vì thế, tất cả các định nghĩa khung nhìn (hình ảnh
ngoài) đến các phạm vi toàn cục. Trong hình 4.3.2-2 cũng có ghi mỗi vị trí có một
quản tự viên CSDL, Đó là vì một trong những động lực chính của xử lý phân tán là
mong muốn có được khả năng điều khiển cục bộ đối với hoạt động quản trị dữ liệu.
TS. Lê Huy Thập - IOIT, Vast, Hà Nội 17
ES
1
ES
2


ES
n
LCS
1
LCS
2

LCS
n
GCS
LIS
1
LIS
2

LIS
n
Hình 1.5-2. Kiến trúc CSDL phân tán Peer To Peer
Cơ sở dữ liệu phân tán Chương I. khái niệm cơ sở dữ liệu phân tán
TS. Lê Huy Thập - IOIT, Vast, Hà Nội 18
 %"31
Hình 1.5-3. Sơ đồ chức năng của hệ
quản trị CSDL phân tán tích hợp
Enterprise
Administrat
or
Global
Database
Administrator
Application

System
Administrator
Global Conceptual
Database Schema
Procesor
External database
schema processỏ
Local
Database
Administ
orator
Conceptual
Database
Schema Procesor
-1
Internal
Database
Schema Procesor
-1
Internal
Database
Conceptual
Int.storage/Int.
Database
Transformation
 %"31
Local
Database
Administ
orator

Conceptual
Database
Schema Procesor
-2
Internal
Database
Schema Procesor
-1
Internal
Database
Conceptual
Int.storage/Int.
Database
Transformation
GD/D
LD/D
LD/D
Cơ sở dữ liệu phân tán Chương I. khái niệm cơ sở dữ liệu phân tán
Các thành phần cụ thể của một DBMS phân tán được trình bày trong hình 1.5-4.
Trong đó, một thành phần lo xử lý mọi tương tác với người sử dụng, còn thành khác
lo việc lưu trữ. Thành phần đầu tiên được gọi là bộ phận tiếp nhận người dùng ( user
processor) bao gồm các phần:
i. Bộ phận giao tiếp (User Interface Handler): chịu trách nhiệm diễn dịch các lệnh
của người sử dụng và định dạng DL cho kết kết để gửi lại người sử dụng.
ii. Bộ phận kiểm soát ngữ nghĩa. ( Semanticdata controller)
Sử dụng các ràng buộc toàn vẹn (Integity constraints) và thông tin quyền hạn
( authorijation), được định nghĩa như thành phần của lược đồ khái niệm toàn cục để
kiểm tra xem các câu vấn tin có thể xử lý được hay không. thầnh phần này cũng chịu
trách nhiệm trao quyền hạn và nhiệm vụ khác.
iii. Bộ phận phân rã và tối ưu vấn tin toàn cục ( global query optimier and

Decomposer) tìm cách phân phối và thực hiện query cục bộ sao cho giảm tối đa
TS. Lê Huy Thập - IOIT, Vast, Hà Nội 19
USER
PROCESSOR
User
System responses User requests
User Interface Handler
Sematic Data Controller
Global Query Optimizer
Global Execution Monitor
External
Schema
External
Schema
GD/
D
DATA
PROCESSOR
Local Query Processor
Local Recovery Manager
Runtime Support Processor
Local
Conceptual
Schema
External
Schema
Sys Log
Hình 1.5-4.Các thành phần của một hệ
quản trị CSDL phân tán
Cơ sở dữ liệu phân tán Chương I. khái niệm cơ sở dữ liệu phân tán

chi phí, phiên dịch các query toàn cục thành các query cục bộ bằng cách sử dụng
các lược đồ khái niệm toàn cục, lược đồ khái niệm cục bộ và thư mục toàn cục. Bộ
phận tối ưu toần cục còn chịu trách nhiệm tạo ra các thực hiệntốt nhất các ghép nối
phân tán.
iv. Bộ phận theo dõi việc thực hiện phân tán ( Distributed Execution monitor (theo
dõi)) chịu trách nhiệm điều phối việc thực hiện phân tán các yêu cầu của người sử
dụng và cũng được gọi là bộ quản lý giao dịch phân tán ( distributed transaction
manager). Bộ phận này giao việc thực hiện các query phân tán cho các vị trí và
làm cho các vị trí này thường xuyên giao tiếp với nhau.
Thành phần thứ 2 của DBMS phân tán là bộ xử lý (database processer) được chia làm
3 phần:
i. Bộ phận tối ưu hóa vấn tin cục bộ ( local query optimijer):
Chọn đường truy nhập (Access path sedector) thích hợp nhất để truy nhập các mục
DL.
ii. Bộ phận khôi phục cục bộ ( Local recovery manager)
Bảo đảm cho các CSDL cục bộ vẫn duy trì được tính nhất quán. Ngay cả khi có sự
có xẩy ra.
iii. Bộ phận hỗ trợ xử lý thực thi (Runtime. Support processor)
Hỗ trợ truy nhập CSDL tùy thuộc vào các lệnh trong lịch biểu ( schedule) do bộ phận
tối ưu vấn tin sinh ra. Nó chính là giao diện với HĐ hành và chứa bộ quản lý vùng
đệm CSDL (Database Buffer Manager) chịu trách nhiệm quản lý vùng đệm và quản lý
việc truy nhập DL.
CHƯƠNG II
THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN
Thiết kế hệ thống một máy tính phân tán cần phải chọn những vị trí đặt dữ liệu và
các chương trình trên một mạng máy tính, rất có thể phải kể luôn cả việc thiết kế hệ
thống mạng. Đối với hệ quản trị CSDL phân tán, việc phân tán ứng dụng đòi hỏi hai
vấn đề:
(i) Phân tán hệ quản trị CSDL và phân tán các chương trình ứng dụng chạy
trên hệ quản trị đó.

(ii) Phân tán dữ liệu.
Việc tổ chức các hệ phân tán có thể được nghiên cứu dựa theo ba trục không
gian vuông góc [Levin and Morgan, 1975] bao gồm: *)%H%2%3QR*)%<S+
T++,+-R*)%H%2S+"=.U<S+T++,+-A
Hình 2.1 trình bày các chọn lựa dựa theo các trục này.
1/ Trục mức độ chia sẻ
TS. Lê Huy Thập - IOIT, Vast, Hà Nội 20
Cơ sở dữ liệu phân tán Chương I. khái niệm cơ sở dữ liệu phân tán
Dựa theo mức độ chia sẻ trên trục mức độ chia sẻ sẽ có ba khả năng xẩy ra.
- Không chia sẻ: Mỗi ứng dụng và dữ liệu của nó được thực thi tại một vị trí và không
có trao đổi và hoặc giao tiếp với những chương trình khác hoặc truy xuất dữ liệu tại
những vị trí khác.
- Chia sẻ dữ liệu: Tất cả các chương trình đều được nhân bản cho mọi vị trí nhưng
các tập tin dữ liệu thì không. Các yêu cầu người sử dụng được xử lý tại mỗi vị trí của
chúng và những dữ liệu cần thiết sẽ được chuyển đi trên mạng
- Mức chia sẻ dữ liệu lẫn chương trình: Cả chương trình và dữ liệu đều được dùng
chung, nghĩa chương trình nằm tại một vị trí có thể yêu cầu một dịch vụ từ một
chương trình nằm tại một vị trí thứ hai và đến lượt nó, chương trình này có thể truy
xuất dữ liệu nằm tại một vị trí thứ ba nào đó.
2/ Trục kiểu mẫu truy xuất
Theo kiểu mẫu truy xuất, có hai chọn lựa: kiểu mẫu truy xuất các yêu cầu từ người
sử dụng có thể thuộc loại tĩnh (không thay đổi theo thời gian) hoặc thuộc loại động
(thay đổi theo thời gian). Rõ ràng chúng ta sẽ dễ dàng hoạch định và quản lý những
môi trường tĩnh hơn so với trường hợp các hệ phân tán động (dynamic distributed
stystem). Mối liên hệ giữa thiết kế CSDL phân tán và việc xử lý câu vấn tin đẫ được
thiết lập qua trục này.
3/ Trục mức độ hiểu biết về kiểu mẫu truy xuất
Có khả năng là nhà thiết kế không biết hết mọi thông tin về cách sử dụng truy xuất
CSDL phân tán thích ứng được với tình huống này. Một chọn lựa thực tế hơn là nhà
thiết kế biết được đầy đủ các thông tin, trong đó kiểu mẫu truy xuất có thể được dự

đoán và trong thực tế không khác xa quá nhiều so với dự đoán, và trường hợp nữa là
biết được một phần thông tin, trong đó có thể có khác biệt nhiều so với dự đoán.
2.1. CÁC CHIẾN LƯỢC THIẾT KẾ
TS. Lê Huy Thập - IOIT, Vast, Hà Nội 21
Mức độ hiểu biết
Thông tin đầy đủ
Thông tin một phần
Kiểu truy xuất
Động
Tĩnh
Dữ liệu
Mức độ chia sẻ
Dữ liệu và
Chương trình
Hình 2.1.Bộ khung phân tán
Cơ sở dữ liệu phân tán Chương I. khái niệm cơ sở dữ liệu phân tán
Hai chiến lược chính đã được xác định trong thiết kế các CSDL phân tán là tiếp cận
từ trên xuống (top-down approach) và tiếp cận từ dưới lên (bottom-up approach). Auá
trình thiết kế theo hai cách tiếp cận này rất khác nhau. Nhưng như chúng ta đã biết rất
hiếm các ứng dụng đủ đơn giản để có thể sử dụng chỉ một trong hai cách tiếp cân. Vì
vậy phần lớn thiết kế CSDL cả hai cách tiếp cận đều được áp dụng để bổ sung cho
nhau.
2.1.1 Quá trình thiết kế từ trên xuống
Quá trình này được trình bày trong hình 2.2.
Bắt đầu bằng việc phân tích yêu cầu nhằm định nghĩa môi trường hệ thống và thu
thập các nhu cầu về dữ liệu và nhu cầu xử lý của tất cả mọi người có sử dụng CSDL
[Yao et al; 1982a]. Nghiên cứu các yêu cầu cũng xác định xem hệ thống cuối cùng sẽ
như thế nào so với các mục của một DBMS phân tán.
Phân tích thực thể có liên quan đến việc xác định các thực thể, các thuộc tính và
các mối liên hệ giữa chúng. Phân tích chức năng đề cập đến việc xác định các chức

năng cơ bản có liên quan đến xí nghiệp cần được mô hình hoá. Kết quả của hai quá
trình này cần được đối chiếu qua lại, giúp chúng ta biết được chức năng nào sẽ hoạt
tác trên những thực thể nào.
Có một sự liên hệ giữa thiết kế khái niệm và thiết kế khung nhìn, người sử
dụng cần phải đặc tả các thực thể các thực thể dữ liệu và phải xác định các ứng dụng
sẽ chạy trên cư sở dữ liệu cũng như các thông tin thống kê về những ứng dụng này.
Thông tin thống kê bao gồm đặc tả về tần số ứng dụng, khói lượng các thông tin khác
nhau, vân vân. Chú ý rằng từ bước thiết kế khái niệm sẽ cho ra định nghĩa lược đồ
khái niệm toàn cục được đưa ra thảo luận trong phần 4.3. Chúng ta vẫn chưa xem xét
các đặc thù của moi trường phân tán; thực sự cho đến lúc này, quá trình thiết kế hoàn
toàn giống với quá trình thiết kế trong một CSDL tập trung.
Lược đồ khái niệm toàn cục GCS và thông tin về kiểu mẫu truy xuất thu được
trong thiết kế khung nhìn sẽ là nguyên liệu vào cho bước thiết kế phân tán. Thiết kế
các lược đồ khái niệm cục bộ LCS là bằng cách phân tán các thực thể cho các vị trí
của hệ thống phân tán, có thể xử lý mỗi thực thể như là một đơn vị phân tán. Với mô
hình quan hệ được dùng làm cơ sở thảo luận trong cuốn sách này, các thực thể sẽ
tương ứng với các quan hệ.
Thay vì phân tán các quan hệ, chúng ta thường chia chúng thành nhiều quan hệ
nhỏ hơn gọi là các mảnh (fragment) và chính các mảnh sẽ được phân tán. Vì vậy hoạt
động thiết kế phân tán gồm có hai bước: V !.;%-$$:
 % !A
Bước cuối cùng là thiết kế vật lý, là bước ánh xạ lược đồ khái niệm cục bộ
sang các thiết bị lưu trữ vật lý có sẵn tại các vị trí tương ứng. Nguyên liệu cho quá
trình này là lược đồ khái niệm cục bộ và thông tin về kiểu mẫu truy xuất mảnh.
Chúng ta đã biết hoạt động phát triển và thiết kế luôn là một quá trình liên tục, đòi
hỏi phải theo dõi, hiệu chỉnh thường xuyên. Vì thế chúng ta cũng đưa vấn đề quan sát
và theo dõi như một hoạt động chính trong quá trình này. Cần chú ý rằng chúng ta
không chỉ theo dõi vấn đề cài đặt CSDL mà còn phải xem xét, theo dõi tính thích hợp
của các khung nhìn của người sử dụng. Kết quả này có tác dụng phản hồi, tạo tiền đề
cho việc tái thiết kế về sau.

TS. Lê Huy Thập - IOIT, Vast, Hà Nội 22
Cơ sở dữ liệu phân tán Chương I. khái niệm cơ sở dữ liệu phân tán
2.1.2 Quá trình thiết kế từ dưới lên
Thiết kế từ trên xuống thích hợp với những CSDL được thiết kế từ đầu. Tuy
nhiên chúng ta hay gặp trong thực tế đã có sẵn một số CSDL và nhiệm vụ thiết kế là
phải tích hợp chúng thành một CSDL. Tiếp cận từ dưới lên sẽ thích hợp cho tình
huống này. Khởi điểm của thiết kế từ dưới lên là các lược đồ khái niệm cục bộ. Qua
trình này sẽ bao gồm việc tích hợp các lược đồ cục bộ thành các lược đồ khái niệm
toàn cục.
TS. Lê Huy Thập - IOIT, Vast, Hà Nội 23
Phân tích yêu cầu
Thiết kế khái niệm
Thiết kế khung nhìn
Yêu cầu hệ
thống
(Mục tiêu)
Tích hợp khung nhìn
Nguyên liệu
người dùng
Thông tin truy xuất
Lược đồ khái niệm toàn cục
Định nghĩa lược đồ ngoài
Thiết kế phân tán
L. đồ khái niệm cục bộ
Thiết kế vật lý
Lược đồ Vật lý
Theo dõi và bảo trì
Thông tin từ người dùng
Hình 2.2.Quá trình thiết kế từ trên xuống
Phản hồi Phản hồi

Cơ sở dữ liệu phân tán Chương I. khái niệm cơ sở dữ liệu phân tán
2.2. CÁC VẤN ĐỀ THIẾT KẾ PHÂN TÁN.
Trong phần trước chúng ta đã chỉ ra rằng các quan hệ trong một lược đồ CSDL
thường được phân rã thành các mảnh nhỏ hơn nhưng chưa đưa ra một lý do hoặc chi
tiết nào về quá trình này. Mục tiêu của phần này là trình bày những chi tiết đó.
Tập các câu hỏi dưới đây sẽ bao quát toàn bộ vấn đề.
(i) Tại sao lại cần phải phân mảnh ?
(ii) Làm thế nào để thực hiện phân mảnh?
(iii) Phân mảnh nên thực hiện đến mức độ nào?
(iv) Kiểm tra tính đúng đắn của việc phân mảnh như thế nào?
(v) Vấn đề cấp phát như thế nào?
(vi) Những thông tin nào sẽ cần thiết cho việc phân mảnh và cấp phát?
Để thuận lợi cho việnc nghiên cứu, chúng ta xét CSDL quan hệ của công ty Điện-Toán
đã nêu ở chương I như sau
− Quan hệ EMP(ENO, ENAME, TITLE)
Trong đó EMP là Employee, ENO là Employee Number (Mã số nhân viên),
ENAME là Employee Name (Tên nhân viên), TITLE (Chức vụ). Và dữ liệu giả định
như sau:
ENO ENAME TITLE
E1
E2
E3
E4
E5
E6
E7
E8
J.Doe
M. Smith
A.lee

J.Mmith
B.Casey
L.Chu
R.Dvid
J.Jones
Elect. Eng
Syst. Anal
Mech.Eng
Programmer
Syst.Anal
Elect.Eng
Mech.Eng
Syst. Anal
Hình 2.3a. Quan hệ EMP
− Quan hệ PROJ(PNO, PNAME, BUDGET)
Trong đó PNO là Project Number (Mã số dự án); PName - Project Name (Tên dự
án) và BUDGET (Ngân sách dự án), LOC (Location = vị trí). Và dữ liệu giả định như
sau:
PNO PNME BUDGET LOC
P1
P2
P3
P4
Instrumentation
Dabatase Develop
CAD/ CAM
Maintenance
150000
135000
250000

310000
Montreal
New York
New York
Paris
Hình 2.3b. Quan hệ PROJ
− Quan hệ PAY(TITLE, SAL)
Trong đó SAL - salary (Tiền lương). Và dữ liệu giả định như sau:
TS. Lê Huy Thập - IOIT, Vast, Hà Nội 24
Cơ sở dữ liệu phân tán Chương I. khái niệm cơ sở dữ liệu phân tán
TITLE SAL
Elect. Eng.
Syst. Anal.
Mech.Eng
Progammer
40000
34000
27000
24000
Hình 2.3c. Quan hệ PAY
− Quan hệ ASG (ENO, PNO, DUR, RESP)
Trong đó ASG Assignment (Phân công nhiệm vụ): phân nhân viên làm tại dự án,
thời gian làm, với nhiệm vụ), DUR (Duration = thời gian).RESP (Responsibility =
nhiệm vụ). Và dữ liệu giả định như sau:
ENO PNO RESP DUR
E1
E2
E2
E3
E3

E4
E5
E6
E7
E8
P1
P1
P2
P3
P4
P2
P2
P4
P3
P3
Manager
Analyst
Analyst
Consultant
Engineer
Programmer
Manager
Manager
Engineer
Manager
12
24
6
10
48

18
24
48
36
40
Hình 2.3c. Quan hệ ASG
Sau đây chúng ta xét các trường hợp (i) đến (vi) đã nêu trên.
2.2.1. Tại sao lại cần phải phân mảnh ?
Trước tiên khung nhìn của các ứng dụng thường chỉ là một tập con của của quan
hệ. Vì thế đơn vị truy xuất không phải là toàn bộ quan hệ mà chỉ là các tập con của
quan hệ. Vì vậy đưa tập con của quan hệ ra khung nhìn là tốt nhất cho nên phân mảnh
các quan hệ và phân tán đến nơi sử dụng khung nhìn sẽ là điều thích hợp nhất.
TS. Lê Huy Thập - IOIT, Vast, Hà Nội 25
Relationship giữa các relations

×