Bài giảng Các hệ cơ sở dữ liệu - 6. Hệ quản trị cơ sở dữ liệu phân tán
Sự hợp thức hoá giao tác
Phương pháp trực tiếp để hợp thức hoá một giao
tác phân tán: tích hợp thực sự các cập nhật của
giao tác và CSDL
Giao thức hợp thức hoá hai giai đoạn:
Giai đoạn chuẩn bị: trạm điều phối yêu cầu mỗi trạm
tham gia chuẩn bị cho sự hợp thức hoá
Giai đoạn hợp thức: trạm điều phối ra lệnh cho tất cả
các trạm tham gia hợp thức hoá các cập nhật của
chúng nếu như tất cả chúng đều hoàn thành đúng giai
đoạn thứ nhất hay nếu không thì huỷ bỏ chúng
15 trang |
Chia sẻ: vutrong32 | Lượt xem: 1196 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Bài giảng Các hệ cơ sở dữ liệu - 6. Hệ quản trị cơ sở dữ liệu phân tán, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Giới thiệu
Khái niệm và kiến trúc của hệ CSDLPT
Các cách tiếp cận cho việc phân bố dữ liệu
Mục tiêu của các hệ QTCSDL phân tán
DBMS06 – Slides 2
Kiến trúc tham chiếu
ðịnh nghĩa dữ liệu
ðánh giá các câu hỏi phân tán
Quản lý các giao tác phân tán
Dẫn nhập
CSDL của công ty lớn cần nhiều chi
nhánh ở từng vùng miền, mỗi chí nhánh
ñều có CSDL riêng. Khi cần thống kê
toàn công ty truy xuất ñến CSDL
tổ chức CSDL như thế nào????
DBMS06 – Slides 3
Làm thế nào ñể quản lý các luồng dữ
liệu, sử dụng chung dữ liệu?
Một hệ thống phân tán gồm 2 phần:
mạng máy tính và CSDL phân tán.
Các hình thức tổ chức phân tán
Peer to peer
File server
DBMS06 – Slides 4
Client / Server
Các hình thức tổ chức phân tán
Mô hình peer to peer:
Sử dụng như máy ñộc lập.
Mỗi máy có vai trò như nhau, tự quản lý tài
nguyên của chính mình và chia sẽ tài
nguyên cho toàn hệ thống.
DBMS06 – Slides 5
Mỗi máy tính vừa ñóng vai trò server và
vai trò client.
ðây là mô hình mạng ñơn giản, phù hợp
với hệ thống mạng nhỏ, không yêu cầu
bảo mật cao.
Các hình thức tổ chức phân tán
Mô hình peer to peer:
DBMS06 – Slides 6
Các hình thức tổ chức phân tán
File Server:
Là máy dịch vụ, gán trực tiếp vào mạng LAN.
Quản lý các hoạt ñộng file và phục vụ các máy
tính cá nhân ñược kết nối trong mạng LAN.
Mỗi máy cá nhân ñược phân bố một dung lượng
DBMS06 – Slides 7
nhất ñịnh trên File Server.
Hạn chế:
Di chuyển trên mạng quá nhiều
Kiểm soát dữ liệu phi thành công
Các máy trạm phải ñủ mạnh
Các hình thức tổ chức phân tán
Client/Server (mô hình khách – chủ)
Server có chức năng ñiều khiển, lưu trữ
CSDL, xử lý các truy vấn và quản lý việc
khai thác tài nguyên của máy tính khác.
Client dùng ñể chỉ người khai thác tài
DBMS06 – Slides 8
nguyên.
ðây là xu hướng tất yếu hiện nay.
Các ñặc trưng về CSDLPT
ðặc trưng File Server Server/Client
Xử lý Chỉ ở máy khách Cả máy khách và máy
trạm
Truy nhập dữ liệu
ñồng thời
Thấp, mỗi máy khách thực
hiện
Cao, Server thực hiện
DBMS06 – Slides 9
An toàn và toàn
vẹn CSDL
Thấp, máy khách quản lý Cao, Server thực hiện
Sử dụng mạng File lớn, chuyển cả file Truyền dữ liệu nhiều
mức
Bảo trì phần mềm Thấp, chỉ ở máy server Hỗn hợp các phần
mềm gửi tới máy khách
Phần cứng hệ
thống. Sự mềm dẽo
của phần mềm
Ghép nối máy khách và
Server ñể phối hợp
Ghép nối máy khách và
Server ñể phối hợp
Khái niệm hệ CSDLPT
CSDLPT là một bộ các sưu tập các DL về
mặt logic thuộc cùng một hệ thống
nhưng về mặt vật lý ñược phân bố trên
các trạm của một mạng máy tính.
DBMS06 – Slides 10
Hệ QTCSDLPT là hệ thống phần mềm cho
phép quản lý CSDLPT, làm cho việc phân
tán trở nên “trong suốt” ñối với người
dùng
Kiến trúc của hệ CSDLPT
Có nhiều máy tính ñược gọi là các trạm (nút – node)
Các trạm phải ñược kết nối bởi một kiểu mạng truyền
thông ñể truyền DL và các lệnh giữa các trạm
Phần mềm quản lý hệ CSDLPT:
Xử lý DL (DP – Data Processor): quản lý DL cục bộ (ñịa
phương) tại một trạm
DBMS06 – Slides 11
Xử lý ứng dụng (AP – Application Processor): thực hiện chức
năng phân tán, truy cập thông tin phân tán từ thư mục CSDL
phân tán và xử lý các yêu cầu truy cập ñến nhiều trạm
Phần mềm truyền thông: cung cấp các nguyên thuỷ truyền
thông ñược AP dùng ñể truyền lệnh và các trạm khi cần
Ví dụ:
Một ngân hàng có ba chi nhánh ñặt tại các vị trí khác
nhau:
Tại mỗi chi nhánh có một máy tính ñiều khiển một số
máy kế toán cuối cùng (teller terminal) và cơ sở dữ
liệu thống kê của chi nhánh ñó.
Mỗi máy tính với cơ sở dữ liệu thống kê ñịa phương
của nó tại mỗi chi nhánh ñược ñặt ở một vị trí của cơ
DBMS06 – Slides 12
sở dữ liệu phân tán. Các máy tính ñược nối với nhau
bởi một mạng truyền thông. Các nút trong một mạng
phân tán một mặt xử lý thông tin tại vị trí mà nó
quản lý, mặt khác nó cũng tham gia vào việc xử lý
các yêu cầu về thông tin cần truy cập qua nhiều ñịa
ñiểm. Ví dụ như việc lên danh sách tất cả nhân viên
của ngân hàng. Yêu cầu này ñòi hỏi tất cả các máy
tính ở các chi nhánh của công ty ñều phải hoạt ñộng
ñể cung cấp thông tin.
Ví dụ (mô hình)
Server 1
Database 1
T
T
T
T
T
Terminal
Server 2
T
T
T
T
T
Database 2
DBMS06 – Slides 13
Server 3
T
T
T
T
T
Database 3
Network
Kiến trúc của hệ CSDLPT
CSDL1
DP
CSDL2
DP
CSDLn
DP
. . .
DBMS06 – Slides 14
AP
Trạm 1
AP
Trạm 2
AP
Trạm n
Mạng truyền thông
Kiến trúc ñơn giản hoá của hệ thống vật lý cho hệ CSDLPT
Kiến trúc của hệ CSDLPT
Một số chức năng ñặc biệt của hệ QTCSDLPT:
Quản lý một từ ñiển DL tổng thể lưu giữ thông
tin liên quan ñến các DLPT
ðịnh nghĩa các DLPT
DBMS06 – Slides 15
Kiểm tra ngữ nghĩa của các DLPT
ðịnh giá các câu hỏi phân tán của người dùng
Quản lý các giao tác phân tán, các chương trình
nguyên tố trong ñó có các câu hỏi phân tán.
Các cách tiếp cận cho việc phân bố
dữ liệu
1. CSDL từ xa (remote database)
CSDL ở trên một máy tính khác với máy tính
của người sử dụng và ñược truy nhập nhờ các
lệnh truyền thông ñược xác ñịnh bởi người
dùng.
DBMS06 – Slides 16
Cách tiếp cận CSDL từ xa cho một chức năng hạn
chế nhưng không vấp phải những vấn ñề khó
nhất của CSDLPT.
Các cách tiếp cận cho việc phân bố
dữ liệu
2. CSDLPT: tập các CSDL hợp tác, mỗi
CSDL cư trú trên một trạm khác nhau,
ñược nhìn thấy và thao tác bởi người
dùng như chỉ là một CSDL tập trung duy
nhất.
DBMS06 – Slides 17
Như vậy, sự phân bố của dữ liệu là trong
suốt ñối với người dùng.
Các cách tiếp cận cho việc phân bố
dữ liệu
Việc quản lý các dữ liệu phân tán ñòi hỏi ở mỗi
trạm (site) lắp ñặt các thành phần hệ thống sau:
DBMS06 – Slides 18
Trình quản lý các ứng dụng
Trình quản lý các DLPT Trình quản lý truyền thông
Hệ QTCSDL
Trình quản lý các ứng dụng
Trình quản lý các DLPT Trình quản lý truyền thông
Hệ QTCSDL
CSDL1 CSDL2
Trạm 1 Trạm 2
Mạng
Các cách tiếp cận cho việc phân bố
dữ liệu
Hệ thống quản lý một CSDL phân tán là một hệ
QTCSDL phân tán
DBMS06 – Slides 19
Tập hợp các phần mềm hệ thống bao gồm các
trình quản lý các dữ liệu phân tán, các trình
quản lý truyền thông và các CSDL ñịa phương
cư trú trên mỗi trạm của CSDLPT
Các cách tiếp cận cho việc phân bố
dữ liệu
CSDLPT thuần nhất: CSDLPT có ñược bằng cách
chia một CSDL thành một tập các CSDL ñịa
phương (cục bộ), mỗi CSDL này ñược quản lý bởi
cùng hệ QTCSDL
(thuận lợi cho cách tiếp cận thiết kế trên - xuống)
CSDLPT không thuần nhất: CSDLPT có ñược
DBMS06 – Slides 20 20
bằng cách tích hợp vào một CSDL duy nhất một
tập các CSDL ñịa phương ñược quản lý bởi các
hệ QTCSDL khác nhau
(thuận lợi cho cách tiếp cận thiết kế dưới - lên)
Các cách tiếp cận cho việc phân bố
dữ liệu
3. CSDL liên hiệp (ña CSDL): một tập
hợp các CSDL ñược ghép nối yếu (lỏng
lẻo) mà người dùng có thể thao tác nhờ
vào một ngôn ngữ ñặc biệt (ngôn ngữ ña
DBMS06 – Slides 21
cơ sở) cho phép ñịnh nghĩa các DL ña cơ
sở, các phụ thuộc giữa các cơ sở và các
thao tác DL ña cơ sở
Các cách tiếp cận cho việc phân bố
dữ liệu
DBMS06 – Slides 22
Trình quản lý các ứng dụng
Trình quản lý các DL ña cơ
sở
Trình quản lý truyền thông
Hệ QTCSDL1 Hệ QTCSDL2
Trình quản lý các ứng dụng
Trình quản lý các DLña cơ
sở
Trình quản lý truyền thông
Hệ QTCSDL3
CSDL1 CSDL3
Mạng
CSDL2
Một CSDLPT liên hiệp
Các cách tiếp cận cho việc phân bố
dữ liệu
4. CSDL song song
Các DL ñược phân bố trên tập các nút của
một máy tính song song (bộ ña xử lý) ñể
tăng hiệu quả việc quản lý DL.
DBMS06 – Slides 23
Một CSDL song song là một CSDLPT thuần
nhất mà các trạm là các nút của một máy
tính song song và truyền ñạt bằng thông
báo.
Mục tiêu của các hệ QTCSDLPT
Tính ñộc lập ñối với sự phân bố DL
Người dùng CSDLPT có thể không quan tâm tới sự
phân tán của DL.
Thông tin về sự phân bố của DL ñược giữ trong từ
ñiển DL và ñược hệ QTCSDLPT tham khảo ñể xác
DBMS06 – Slides 24
ñịnh vị trí các quan hệ có liên quan trong các câu
hỏi của người dùng
Sự trong suốt ñối với sự ñịnh vị trí của DL cung cấp
tính ñộc lập vật lý ñối với môi trường phân tán.
Mục tiêu của các hệ QTCSDLPT
Tính ñộc lập ñối với sự phân ñoạn
Việc truy nhập tới DL thường ñược xác ñịnh trên các
quan hệ con (thu ñược từ việc chia nhỏ các quan hệ
nguyên vẹn) ñược gọi là các ñoạn
Các ñoạn có thể ñược lưu trữ ở các trạm khác nhau
DBMS06 – Slides 25
Việc phân ñoạn (ngang, dọc, hỗn hợp) làm tăng tính
hiệu quả của một CSDLPT vì nó cho phép làm dễ
dàng các truy nhập ñịa phương.
Tính ñộc lập ñối với các phân ñoạn dấu người dùng
việc các DL ñã ñược phân ñoạn.
Mục tiêu của các hệ QTCSDLPT
Tính ñộc lập ñối với việc nhân (sao) bản
Một ñoạn ñược nhân bản khi nó có tồn tại hai hay nhiều hơn
các bản sao, mỗi bản sao ñượ lưu giữ trên một trạm khác
nhau
Sự sao bản ñược ñiều khiển bởi hệ thống làm DL có tĩnh sẵn
dùng cao, cải tiến hiệu năng truy nhập, tăng khả năng xử lý
ñịa phương.
DBMS06 – Slides 26
Tuy nhiên, việc duy trì các bản sao luôn phải giống nhau là
phức tạp và tốn kém.
Tính ñộc lập ñối với nhân bản DL khiến người dùng không thấy là
có nhân bản mà chỉ thấy các quan hệ không có nhân bản.
Mục tiêu của các hệ QTCSDLPT
Tính ñộc lập ñối với các hệ QTCSDL
Cho phép dấu sự kiện là các hệ QTCSDL ñịa
phương có thể khác nhau
Mục tiêu này khó thực hiện hoàn toàn ñối
DBMS06 – Slides 27
với hệ CSDLPT không thuần nhất
Mục tiêu của các hệ QTCSDLPT
Tính tự trị của các trạm
Cho phép mỗi trạm ñiều khiển và thao tác
DL ñịa phương của nó ñộc lập với các trạm
khác
DBMS06 – Slides 28
Ưu việt là việc quản trị của CSDLPT có thể
hoàn toàn phi tập trung.
Mục tiêu của các hệ QTCSDLPT
Tính mở rộng: Khả năng tăng trưởng bằng việc
ñưa thêm các trạm mới vào trong mạng với tác
ñộng tối thiểu trên các CSDLPT ñịa phương và
các chương trình ứng dụng hiện có.
Hiệu năng: là vấn ñề sống còn của cách tiếp
DBMS06 – Slides 29
cận CSDLPT
Vấn ñề cốt yếu là phân ñoạn và nhân bản DL
sao cho khai thác tốt tính song song
Kiến trúc tham chiếu
Kiến trúc các lược ñồ
Kiến trúc chức năng
Các vấn ñề kỹ thuật
DBMS06 – Slides 30
Thiết kế CSDLPT
Mô tả các ñối tượng
Việc mô tả DL thoạt ñầu ñược ñưa vào trạm cục bộ
(gọi là trạm tạo sinh), tại ñây các DL ñược mô tả sẽ
ñược tạo ra
Trạm tạo sinh và các trạm ñược phép truy cập các
DBMS06 – Slides 31
DL ñược mô tả sẽ hợp tác và trao ñổi thông tin của
mô tả DL
Trạm tạo sinh có thể biết danh sách các trạm ñược
phép truy nhập các DL riêng của nó nhằm thông
báo cho chúng mọi sửa ñổi về mô tả của chúng
Thiết kế CSDLPT(tt)
Sự phân ñoạn: chia một quan hệ tổng thể
thành các ñơn vị logic của sự cấp phát (các
ñoạn) có thể ñược sắp ñặt tối ưu trong CSDLPT
Sự phân ñoạn phải ñược xác ñịnh bởi người quản
trị CSDL và tuân thủ các qui tắc:
Không mất thông tin: mỗi phần tử DL thuộc quan hệ
DBMS06 – Slides 32
tổng thể cũng thuộc một hay nhiều ñoạn của nó
Có khả năng khôi phục: xác ñịnh bằng phép toán
ðSQH
Không trùng lặp (chỉ áp dụng cho phân ñoạn
ngang): buộc các ñoạn phải rời nhau
Thiết kế CSDLPT(tt)
Sự phân ñoạn ngang
Phân ñoạn ngang trực tiếp: phân hoạch một
quan hệ thành các tập con các bộ, mỗi tập con
ñược xác ñịnh bởi một phép chọn ñược áp dụng
cho quan hệ
DBMS06 – Slides 33
Phân ñoạn ngang gián tiếp: phân hoạch một
quan hệ thành các tập con các bộ, mỗi tập con
ñược xác ñịnh bởi một quan hệ với mỗi ñoạn của
một quan hệ khác
Thiết kế CSDLPT(tt)
Ví dụ về phân ñoạn ngang trực tiếp và gián tiếp
Ví dụ: Có các quan hệ sau:
SHRV VÙNG_NHO NIÊN_HIỆU ðỘ_RƯỢU GIÁ
V1 Pháp 1982 13,2 ?
RƯỢU_VANG
SHNU SHRV NGÀY ðỊA_ðIỂM SỐ_LƯỢNG
B1 V1 12/04 Paris 5
TIÊU_THỤ
DBMS06 – Slides 34
V2 Bỉ 1987 12,9 7
V3 Pháp 1984 12,8 10
V4 Anh 1983 12,3 14
B2 V3 25/09 Hà nội 2
B3 V3 12/04 Paris 7
Thiết kế CSDLPT(tt)
Ví dụ về phân ñoạn ngang trực tiếp
Sự phân ñoạn ngang sau
VANG_1 = σNIÊN_HIỆU<1984RƯỢU_VANG
VANG_2 = σNIÊN_HIỆU≥1984RƯỢU_VANG
DBMS06 – Slides 35
không mất thông tin (nếu ta có giá trị null (kí
hiệu bởi ?) là giá trị nhỏ nhất của mỗi miền)
Khôi phục: RƯỢU_VANG = VANG_1 ∪ VANG_2
Không trùng lặp: VANG_1 ∩ VANG_2 = ∅
Thiết kế CSDLPT(tt)
Ví dụ về phân ñoạn ngang gián tiếp
Sự phân ñoạn ngang sau
TIÊU_THỤ1 = TIÊU_THỤ VANG_1 =
{(B1,V1,12-04,Paris,5)}
DBMS06 – Slides 36
TIÊU_THỤ2 = TIÊU_THỤ VANG_2 =
{(B2,V3,25-09, Hànội,2),
(B3,V3,12-04,Paris,7)}
Thiết kế CSDLPT(tt)
Phân ñoạn dọc:
Phân hoạch một quan hệ thành các tập các bộ
con, mỗi tập ñược xác ñịnh bởi một phép chiếu
ñược áp dụng cho quan hệ
DBMS06 – Slides 37
ðể khôi phục: cần thêm vào mỗi ñoạn một hay
nhiều thuộc tính khoá, kết nối các ñoạn theo
các thuộc tính chung
vi phạm quy tắc không trùng lặp (do thêm các
thuộc tính chung)
Thiết kế CSDLPT(tt)
Ví dụ về phân ñoạn dọc
VANG1 = πSHRV,VÙNG_NHO,NIÊN_HIỆURƯỢU_VANG
VANG2 = πSHRV, ðỘ_RƯỢU,GIÁRƯỢU_VANG
DBMS06 – Slides 38
Rõ ràng, khi ñó:
RƯỢU_VANG = VANG1 VANG2
Thiết kế CSDLPT(tt)
Sự phân ñoạn hỗn hợp:
Phân ñoạn một quan hệ thành các tập con
các bộ con:
các bộ con ñược xác ñịnh bởi phân ñoạn dọc
DBMS06 – Slides 39
các tập con xác ñịnh bởi phân ñoạn ngang
Cho phép tối ưu hoá các câu hỏi chọn_chiếu
hay kết nối_chiếu.
Thiết kế CSDLPT(tt)
Ví dụ về phân ñoạn hỗn hợp
VANG1 = πSHRV, ðỘ_RƯỢU,GIÁRƯỢU_VANG
VANG2 = σNIÊN_HIỆU<1984 (πSHRV,VÙNG_NHO,NIÊN_HIỆURƯỢU_VANG)
VANG3 = σNIÊN_HIỆU≥1984 (πSHRV,VÙNG_NHO,NIÊN_HIỆURƯỢU_VANG)
DBMS06 – Slides 40
Rõ ràng, khi ñó:
RƯỢU_VANG = VANG1 (VANG2 ∪ VANG3)
Việc lựa chọn phân ñoạn là khó vì nó phụ thuộc vào nhu cầu truy
nhập của các ứng dụng
Thiết kế CSDLPT(tt)
Nhân bản dữ liệu:
Nhân bản dữ liệu nhằm làm tăng khả năng
sẵn sàng của csdl bằng cách tạo ra nhiều bản
sao của csdl và lưu ở trên nhiều site khác
nhau.
DBMS06 – Slides 41
Có 2 kiểu nhân bản dữ liệu:
Nhân bản toàn phần: thường làm chậm việc cập
nhật dữ liệu.
Nhân bản một phần: chỉ một phân ñoạn của csdl
ñược nhân bản.
Lược ñồ nhân bản: là mô tả của việc nhân
bản các phân ñoạn.
Thiết kế CSDLPT(tt)
ðịnh vị dữ liệu:
ðịnh vị dữ liệu: là việc ñăng ký một bản sao
của một phân ñoạn của csdl cho một site cụ
thể.
Sự lựa chọn site và cấp ñộ của nhân bản phụ
DBMS06 – Slides 42
thuộc vào mục tiêu thực thi và sẵn sàng của
mỗi hệ thống và phụ thuộc vào kiểu, mật ñộ
giao dịch của mỗi site.
Ví dụ: Thiết kế CSDLPT
Yêu cầu: Một công ty có 3 mạng máy tính cho bộ phận chỉ huy và 2
ñơn vị số 4 và 5 (site 3 và 2). Mỗi mạng máy tính, chúng ta sẽ
thường xuyên truy cập vào quan hệ NHANVIEN, DU_AN ñể lấy
thông tin của nhân viên làm việc cho một ñơn vị và dự án do ñơn vị
ñó quản lý(chủ yếu truy cập vào các thuộc tính Tên, MãNV,lương,
MãNQL của quan hệ NHANVIEN). Site 1 ñược dùng cho bộ phận chỉ
huy của công ty, và thường xuyên truy cập thông tin của các nhân
DBMS06 – Slides 43
viên, dự án và theo dõi thông tin về PhuThuoc cho mục ñích bảo
hiểm.
ðáp án :
1. Theo yêu cầu của bài toán này thì tất cả CSDL ñược lưu ở site 1.
2. Phân ñoạn:
Phân ñoạn ngang quan hệ DONVI theo thuộc tính khóa MãDV.
Phân ñoạn ngang quan hệ NHANVIEN, DU_AN,
DONVI_DIADIEM dựa trên các khóa ngoài của chúng là MãDV.
Ví dụ: Thiết kế CSDLPT (tt)
Rồi phân ñoạn dọc quan hệ NHANVIEN ñể lấy các
thuộc tính (Tên, MãNV,lương, MãNQL), gọi quan hệ
mới này là NHANVIEN2
Phân ñoạn quan hệ NHANVIEN_DUAN theo ñơnvị
mà nhân viên ñó làm việc, và theo ñơn vị quản lý dự
án.
DBMS06 – Slides 44
3. Nhân bản, ñịnh vị
Nhân bản các phân ñoạn của các quan hệ
NHANVIEN2, DONVI, DU_AN, DONVI_DIADIEM ,
NHANVIEN_DUAN với MãDV=4 và 5 rồi lưu tương
ứng ở các site 3 và 2.
Kết quả: ở site 2 ta có các thông tin liên quan ñến ñv
số 5, ở site 3 ta có các thông tin liên quan ñến ñv số 4
Bài tập
Với CSDL PT CÔNG_TY như mô tả trong ví dụ
trước hãy chỉ ra ít nhất 2 cách phân chia và
thực thi mỗi truy vấn sau (nêu ñiều kiện ñể
cách phân chia của bạn có thể làm việc tốt)
a. Liệt kê tên nhân viên, tên các phụ thuộc của
DBMS06 – Slides 45
nhân viên ñó cho mỗi nhân viên làm việc cho
ñơn vị số 5.
b. Liệt kê tên nhân viên tất cả các nhân viên
làm việc cho ñơn vị số 5 nhưng không làm
việc cho một số dự án ñiều hành bởi ñơn vị
số 5.
ðánh giá các câu hỏi phân tán
Câu hỏi phân tán
Sự ñịnh vị Lược ñồ sắp ñặt
DBMS06 – Slides 46
Câu hỏi phân tán ñược cục bộ hoá
Tối ưu hoá
Phương án thực hiện phân tán
Mô hình các chi phí
Các thống kê (liên quan các ñoạn)
Các giải thuật (truy nhập phân tán)
Các giai ñoạn của việc ñánh giá một câu hỏi phân tán
ðánh giá các câu hỏi phân tán
Sự ñịnh vị (khoanh vùng)
Thông tin cần thiết cho sự ñịnh vị ñược lưu
giữ trong lược ñồ sắp chỗ
DBMS06 – Slides 47
ðịnh vị câu hỏi phân tán gồm hai giai ñoạn:
Phát sinh câu hỏi chính tắc tương ñương
sự giản lược: cho phép loại bỏ các cây con vô ích
ðánh giá các câu hỏi phân tán
Ví dụ, câu hỏi phân tán « các vùng nho của
các rượu vang ñược tiêu thụ ở Paris »
các phân ñoạn sau:
DBMS06 – Slides 48
VANG1 = πSHRV,VÙNG_NHO,NIÊN_HIỆURƯỢU_VANG
VANG2 = πSHRV, ðỘ_RƯỢU,GIÁRƯỢU_VANG
TIÊU_THỤ1 = σðỊA_ðIỂM=« Paris »TIÊU_THỤ
TIÊU_THỤ2 = σðỊA_ðIỂM≠« Paris »TIÊU_THỤ
ðánh giá các câu hỏi phân tán
Ví dụ về câu hỏi phân tán chính tắc
πVÙNG_NHO
π
πSHRVCâu hỏi
tổng thể
DBMS06 – Slides 49
SHRV,VÙNG_NHO
σðỊA_ðIỂM=“Paris”
TIÊU_THỤ
∪
TIÊU_THỤ1 TIÊU_THỤ2
các câu hỏi
của sự
khôi phục
RƯỢU_VANG
VANG1 VANG2
ðánh giá các câu hỏi phân tán
Ví dụ về câu hỏi sau khi cấu trúc lại
πVÙNG_NHO
πSHRV
DBMS06 – Slides 50
πSHRV,VÙNG_NHO σðỊA_ðIỂM=“Paris”
∪
TIÊU_THỤ1 TIÊU_THỤ2VANG1 VANG2
σðỊA_ðIỂM=“Paris”πSHRV,VÙNG_NHO
ðánh giá các câu hỏi phân tán
Ví dụ về câu hỏi sau khi giản lược
πVÙNG_NHO
πSHRV,VÙNG_NHO
πSHRV
DBMS06 – Slides 51
TIÊU_THỤ1VANG1
ðánh giá các câu hỏi phân tán
Tối ưu hoá: Xác ñịnh một chiến lược thực
hiện câu hỏi làm cực tiểu một hàm chi
phí
Hàm chi phí phải cực tiểu là tổng thời gian
DBMS06 – Slides 52
của việc thực hiện câu hỏi, và tổng tất cả
thời gian thực hiện giành cho các trạm khác
nhau tham gia vào câu hỏi
Hàm chi phí thường là thời gian trả lời câu
hỏi, có tính ñến các xử lý ñược tiến hành
song song.
Quản lý các giao tác phân tán
ðiều khiển tương tranh
Thời dấu
Sự ñặt khoá
DBMS06 – Slides 53
Sự hợp thức hoá giao tác
Quản lý các giao tác phân tán
ðiều khiển tương tranh
ðiều khiển tương tranh phân tán
nhằm ngăn chặn việc sản sinh ra các
thực hiện không khả tuần tự của các
giao tác phân tán
DBMS06 – Slides 54
Quản lý các giao tác phân tán
ðiều khiển tương tranh
Thời dấu (time stamp):
Sắp xếp các giao tác phân tán khi cho thực
hiện chúng và áp ñặt các thao tác truy nhập
tới DL tôn trọng thứ tự ñược xác ñịnh trước
DBMS06 – Slides 55
Mỗi giao tác ñược dẫn trỏ bởi một số hiệu
thứ tự duy nhất trong hệ thống, gọi là thời
dấu
Mỗi trạm ñánh thời dấu một cách tự trị theo
ñồng hồ ñịa phương và số hiệu của trạm. Ví
dụ, một giao tác ñược khởi phát ở trạm i tại
thời ñiểm t sẽ có thời dấu .
Quản lý các giao tác phân tán
ðiều khiển tương tranh
Sự ñặt khoá (locking)
Việc truy nhập tới các hạt DL ñược chi phối bởi một
giao thức gồm hai giao tác nguyên thuỷ:
LOCK: yêu cầu thao tác trên các hạt DL theo một cách thức
nhất ñịnh (ñọc và viết)
UNLOCK: báo hiệu sự kết thúc của thao tác trên hạt
DBMS06 – Slides 56
Việc truy nhập tới một hạt bị khoá trong một lối không
tương thích giao tác truy nhập phải chờ cho tới khi
mở khoá bởi giao tác tác ñộng lên hạt.
Vấn ñề khó nhất do việc ñặt khoá là tình huống bế
tắc: T1→T2, T2 → T1
Quản lý các giao tác phân tán
Sự hợp thức hoá giao tác
Phương pháp trực tiếp ñể hợp thức hoá một giao
tác phân tán: tích hợp thực sự các cập nhật của
giao tác và CSDL
Giao thức hợp thức hoá hai giai ñoạn:
DBMS06 – Slides 57
Giai ñoạn chuẩn bị: trạm ñiều phối yêu cầu mỗi trạm
tham gia chuẩn bị cho sự hợp thức hoá
Giai ñoạn hợp thức: trạm ñiều phối ra lệnh cho tất cả
các trạm tham gia hợp thức hoá các cập nhật của
chúng nếu như tất cả chúng ñều hoàn thành ñúng giai
ñoạn thứ nhất hay nếu không thì huỷ bỏ chúng
DBMS06 – Slides 58
Các file đính kèm theo tài liệu này:
- dbms06_2026.pdf