Bài giảng cơ sở dữ liệu - Bài 2: Tổng quan về cơ sở dữ liệu phân tán
Hỗ trợ hệ điều hành
Hệ điều hành với hỗ trợ đúng cho các thao
tác CSDL
Phân chia giữa yêu cầu xử lý với mục tiêu
chung và yêu cầu xử lý CSDL
Các hệ thống mở và Interoperability
Các hệ đa CSDL phân tán
Các kịch bản khả dĩ hơn
Các vấn đề song song
55 trang |
Chia sẻ: huongthu9 | Lượt xem: 605 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng cơ sở dữ liệu - Bài 2: Tổng quan về cơ sở dữ liệu phân tán, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1Bài 2: Tổng quan về CSDL
phân tán
PGS.TS. Đỗ Phúc
Khoa Hệ thống thông tin
Trường Đại học Công nghệ thông tin
2Nội dung
Giới thiệu
Hệ quản trị CSDL phân tán
Vấn đề
Các tiến bộ hiện hành
3Hệ thống tập tin
program 1
data description 1
program 2
data description 2
program 3
data description 3
File 1
File 2
File 3
4Quản trị CSDL
CSDL
Hệ QTCSDL
Application
program 1
(with data
semantics)
Application
program 2
(with data
semantics)
Application
program 3
(with data
semantics)
Mô tả
Xử lý
Điều khiển
5Tiến bộ
Công nghệ
CSDL
Mạng máy tính
Tích hợp Phân tán
Tích hợp
Tích hợp ≠ Phân tán
Hệ CSDL
phân tán
6Tính toán phân tán
Distributed Computing
Khái niệm chưa được thống nhất về
định nghĩa
Nhiều phần tử xử lý tự trị ( không nhất
thiết phải đồng chủng) được kết nối
qua mạng máy tính và hợp tác để thực
hiện công việc được giao.
7Tính toán phân tán
Distributed Computing
Các thuật ngữ đồng nghĩa
distributed function
distributed data processing
multiprocessors/multicomputers
satellite processing
backend processing
dedicated/special purpose computers
timeshared systems
functionally modular systems
8 Xử lý logic
Các chức năng
Dữ liệu
Kiểm soát
Phân tán
9Hệ CSDL phân tán
CSDL phân tán (distributed database -
DDB) là tập gồm nhiều CSDL có liên kết
logic phân tán trên mạng máy tính.
Hệ Quản trị CSDL phân tán (D–DBMS)
là phần mềm quản trị CSDLPT và cung
cấp cơ chế truy cập giúp người sử dụng
không nhận biết được sự phân tán.
Hệ CSDL phân tán (DDBS) = DDB + D–
DBMS
10
Cái gì không phải là Hệ CSDL
phân tán - DDBS?
Hệ máy tính phân chia thời gian
(timesharing computer system)
Hệ đa xử lý
Hệ CSDL nằm trên một trong các node
của mạng- đây là CSDL tập trung trên
node của mạng.
11
Hệ quản trị CSDL tập trung trên mạng
Site 5
Site 1
Site 2
Site 3Site 4
Communication
Network
Side: vị trí
12
Môi trường hệ QTCSDL phân tán
Site 5
Site 1
Site 2
Site 3Site 4
Communication
Network
13
Các ngầm định
Dữ liệu được nhân bản ở một số vị trí, mỗi vị trí bao
gồm logic chỉ một bộ xử lý.
Các bộ xử lý ở các vị trí khác nhau được kết nối qua
mạng máy tính, không có bộ đa xử lý
Các hệ CSDL song song
CSDL phân tán là CSDL chứ không phải tập hợp các
tập tin, dữ liệu được liên kết logic như được trình bày
trong các mẩu truy vấn của người sữ dụng
Mô hình dữ liệu quan hệ
Hệ QTCSDLPT là một hệ QTCSDL đầy đủ
Không phải là hệ tập tin từ xa, không phải là hệ giao tác
14
Kiến trúc bộ nhờ dùng chung
Shared-Memory Architecture
Ví dụ : hệ đa xử lý đối xứng (Sequent,
Encore) và một số máy tính
mainframes (IBM3090, Bull's DPS8)
P1 Pn M
D
15
Kiến trúc đĩa dùng chung
Shared-Disk Architecture
Ví dụ : DEC's VAXcluster, IBM's IMS/VS
Data Sharing
D
P1
M1
Pn
Mn
16
Kiến trúc riêng lẻ
Shared-Nothing Architecture
Examples : Teradata's DBC, Tandem,
Intel's Paragon, NCR's 3600 and 3700
P1
M1
D1
Pn
Mn
Dn
17
Cơ sở dữ liệu phân tán
Dữ liệu được phân tán nhiều nơi
Ứng dụng cục bô chạy ở một nơi và chỉ
sử dụng dữ liệu ở nơi này
Ứng dụng toàn cục được chạy và sử
dụng dữ liệu ở nhiều vị trí.
18
Đặc điểm CSDLPT
Kiểm soát tập trung
Quản trị CSDL cục bộ
Quản trị CSDL toàn cục
Tự trị từng vị trí
19
Khác biệt giữa CSDL tập trung
và CSDLPT
Độc lập dữ liệu
Trong suốt dữ liệu
Trong suốt phân mảnh
Không nhìn thấy các mảnh
Xem được các quan hệ toàn cục
Lược đồ toàn cục
Trong suốt vị trí (site)
Không thấy các quan hệ
Thấy các mảnh
Lược đồ phân mảnh
20
Khác biệt giữa CSDL tập trung
và CSDLPT
Trong suốt nhân bản
Thấy các mảnh
Không thấy nhân bản các mảnh
Trong suốt ánh xạ cục bộ
Thấy các quan hệ cục bộ
Không thấy CSDL vật lý
Trong suốt phân tán
21
Khác biệt giữa CSDL tập trung
và CSDLPT
Do dữ liệu được nhân bản ở nhiều vị trí
Ứng dụng chỉ đọc
Ứng dụng cập nhật
Nhược điểm
Tính nhất quán
Tốn vùng nhớ
Ưu điểm
Tính cục bộ của ứng dụng cao
Tính sẵn sàng của dữ liệu
22
Khác biệt giữa CSDL tập trung
và CSDLPT
Cấu trúc phức tạp gồm nhiều máy
Tối ưu hóa
Toàn cục
Cục bộ
Tính toàn vẹn dữ liệu
Tính riêng biệt và bảo mật dữ liệu
Phân quyền truy cập
Bảo mật CSDL và mạng
23
Tại sao sử dụng CSDL phân
tán
Các tổ chức có cấu trúc phân tán
Xu thế phân tán của các tổ chức
Cần kết nối các CSDL có sẵn
Nhiều CSDL đã có
Sự lớn mạnh của tổ chức
Có thêm các đơn vị mới
Giảm chi phí truyền thông
Tăng ứng dụng cục bộ làm giảm chi phí
truyền thông
24
Tại sao sử dụng CSDLPT
Nâng cao hiệu suất
Cơ chế xử lý song song
Phân mảnh dữ liệu theo ứng dụng làm cực
đại hóa tính cục bộ của ứng dụng
Tăng độ tin cậy và tính sẵn sàng
Do dư thừa dữ liệu nên tính sẳn sàng cao
Cần đảm bảo độ tin cậy của dữ liệu
25
Các thành phần của hệ
QTCSDL phân tán
Truyền thông dữ liệu ( DC: data
communication)
Nhận diện yêu cầu truy xuất dữ liệu của
ứng dụng tại trạm cuối
Trả kết quả về cho trạm
Quản trị CSDL (DB: database)
Quản trị CSDL
Thực hiện các yêu cầu của ứng dụng: xử lý
dữ liệu
26
Các thành phần của hệ
QTCSDL phân tán
Từ điển dữ liệu (DD: data dictionary)
Lưu trữ thông tin về các đối tượng trong
CSDL
Lưu trữ thông tin về sự phân tán dữ liệu tại
các nơi
CSDL phân tán ( Distributed DB)
Liên lạc giữa các nơi, yêu cầu và nhận kết
quả.
27
Các thành phần của hệ
QTCSDL phân tán
DC: truyền thông dữ liệu
DD từ điển ; DB: CSDL
DDB: CSDLPT
28
Các mức trong suốt phân tán
Trong hệ CSDL phân tán, những người thiết kế hệ
thống đã xây dựng lên một hệ các phần mềm phục
vụ yêu cầu người dùng trên CSDL đã có sẵn.
Hình dưới đây trình bày kiến trúc chung của CSDL
phân tán. Tất nhiên kiến trúc này không biểu diễn
tường minh cho mọi hệ cơ sở dữ liệu phân tán. Các
mức của CSDLPT được trình bày mang tính khái niệm
thích hợp để dễ hiểu về tổ chức của các cơ sở dữ liệu
phân tán nói chung.
29
Các mức trong suốt phân tán
Sơ đồ phân mảnh
Sơ đồ cấp phát
Sơ đồ ánh xạ
địa phương 1
Sơ đồ ánh xạ
địa phương 2DBMS ở vị trí 1 DBMS ở vị trí 2
Cơ sở dữ
liệu 1
Cơ sở dữ
liệu 2
Sơ đồ toàn thể
30
Các mức trong suốt phân tán
Mức đỉnh của lược đồ là sơ đồ toàn thể:
Mô tả mọi dữ liệu nằm trong cơ sở dữ
liệu phân tán như không bị phân tán.
Mô hình dữ liệu sử dụng để xác định sơ
đồ toàn thể để xác định cách thức ánh
xạ đến những mức khác của cơ sở dữ
liệu phân tán.
Sơ đồ toàn thể xác định một tập các
quan hệ chung nhất của hệ thống.
31
Các mức trong suốt phân tán
Mỗi quan hệ có thể chia ra các phần không chồng lên
nhau gọi là phân mảnh.
Có nhiều cách chia phân mảnh: chia theo chiều
ngang, chia theo chiều dọc và chia theo kiểu hỗn hợp
theo chiều ngang và chiều dọc.
Ánh xạ này giữa quan hệ và các phân mảnh được
xác định trong sơ đồ phân đoạn. Ánh xạ theo kiểu
1:n (một quan hệ sang nhiều phân mảnh là một
phân mảnh tương ứng một quan hệ và một quan hệ
tương đương với một số phân mảnh. Phân mảnh xác
định bởi một quan hệ qua chỉ số (chỉ số đoạn dữ
liệu).
32
Các mức trong suốt phân tán
Phân mảnh là phần logic của quan hệ,
được đặt vật lý tại một hay vài vị trí
trên mạng máy tính.
Sơ đồ cấp phát xác định những vị trí
đặt phân mảnh.
Kiểu ánh xạ xác định trong sơ đồ cấp
phát cho phép nhận ra một cơ sở dữ
liệu phân tán là dư thừa hay không dư
thừa
33
Các mức trong suốt phân tán
Về mặt hình thức ánh xạ thường từ một
quan hệ sang nhiều phân mảnh, trong
trường hợp ánh xạ 1:1 thì một phân
mảnh được ánh xạ từ một quan hệ.
Mọi phân mảnh dữ liệu tương ứng với
cùng một quan hệ R và đặt ở cùng vị trí
j tạo ra “ảnh vật lý” của quan hệ R ở vị
trí j. Vì vậy có ánh xạ 1:1 giữa ảnh vật
lý và một cặp (quan hệ, phân mảnh).
Các mức trong suốt phân tán
Mỗi ảnh vật lý có thể được chỉ định bởi
một tên quan hệ và một chỉ số vị trí.
Để phân biệt ảnh vật lý, quan hệ với
đoạn dữ liệu, ký hiệu Rj chỉ ảnh vật lý
của quan hệ R ở vị trí j.
Thuật ngữ trong suốt mô tả bằng bản
sao của phân mảnh tham chiếu đến vị
trí lưu trữ và bản sao xác định qua tên
quan hệ và hai chỉ số (chỉ số đoạn và
chỉ số vị trí).
34
35
Các mức trong suốt phân tán
Trong kiến trúc lược đồ trên có ba mức độ độc lập theo thứ tự
giảm: mức tổng thể, mức cấp phát và mức ánh xạ. Vì vậy, ở
mức thấp hơn cần thiết phải ánh xạ sang mức cao hơn. Việc
ánh xạ này gọi là sơ đồ ánh xạ và phụ thuộc vào kiểu của cơ sở
dữ liệu địa phương. Trong hệ thống đồng nhất mức độ độc lập
có một số kiểu khác nhau khi ánh xạ địa phương ở các vị trí
khác nhau.
Kiến trúc này cung cấp khái niệm cơ sở và dễ hiểu về cơ sở dữ
liệu phân tán. Ba đối tượng quan trọng thúc đẩy phát triển cấu
trúc này là tính riêng rẽ của việc phân mảnhdữ liệu, cấp phát
đoạn, điều khiển dư thừa và độc lập dữ liệu đối với hệ quản trị
cơ sở dữ liệu địa phương.
36
Các chức năng cơ bản của
DDBMS
Truy xuất dữ liệu
Hỗ trợ một số mức trong suốt phân tán
Hỗ trợ quản trị CSDL phân tán
Hỗ trợ cho điểu khiển tương tranh
37
Truy xuất dữ liệu
Cách thức truy cập cơ sở dữ liệu từ xa
qua chương trình ứng dụng theo hai
cách cơ bản:
Truy cập từ xa trực tiếp
Truy cập từ xa gián tiếp.
38
Mô hình truy cập trực tiếp
Truy cập cơ sở
dữ liệu
Phương thức truy cập
dữ liệu
Hệ quản trị cơ
sở dữ liệu 1
Kết quả
Cơ sở dữ
liệu 2
Chương trình
ứng dụng
Hệ quản trị cơ
sở dữ liệu 2
Chương trình ứng dụng đưa ra yêu cầu truy cập đến CSDL từ xa, yêu cầu này được
hệ quản trị CSDL tự động tìm nơi đặt dữ liệu và thực hiện yêu cầu tại điểm đó. Kết
quả được trả lại cho chương trình ứng dụng.
Đơn vị chuyển đổi giữa hai hệ quản trị CSDL là phương thức truy cập cơ sở dữ liệu
và kết quả nhận được (thông qua việc thực hiện phương thức truy cập này).
Với cách thức truy cập từ xa như vậy cấp độ trong suốt phân tán được xây dựng
bằng cách tạo ra tên file toàn bộ để đánh địa chỉ thích hợp cho những điểm lưu trữ
dữ liệu ở xa.
39
Mô hình truy cập gián tiếp
Hệ quản trị
cơ sở dữ liệu
2
Kết quả
toàn bộ
Chương trình
ứng dụng
Chương trình phụ
Hệ quản trị
cơ sở dữ liệu
1
Hệ quản trị
cơ sở dữ liệu
2
Theo mô hình truy cập này, chương trình ứng dụng thực
hiện yêu cầu qua chương trình phụ ở điểm khác. Chương
trình phụ này được người lập trình ứng dụng viết để truy
cập từ xa đến cơ sở dữ liệu và trả về kết quả của chương
trình ứng dụng yêu cầu.
40
Ứng dụng
Sản xuất – đặc biệt là sản xuất với
nhiều nhà máy
Kiểm soát và chỉ huy trong quân đội
EFT (chuyển ngân điện tử)
Hệ MIS hợp tác
Hàng không
Chuỗi khách sạn
Các tổ chức có cấu trúc phi tập trung
41
Hứa hẹn hệ QTCSDLPT
Quản lý trong suốt ( NSD không nhận
biết) các dữ liệu được nhân bản và
phân mảnh và phân tán
Cải thiện độ tin cậy/sẵn sàng qua các
giao dịch phân tán
Cải thiện công năng
Dễ dàng và kinh tế khi cần mở rộng hệ
thống
42
Trong suốt
Transparency
Trong suốt là sự phân tách ngữ nghĩa cấp
cao của hệ thống ra khỏi các vấn đề hiện
thực cấp thấp.
Vấn đề cơ bản là cung cấp sự độc lập dữ liệu
trong môi trường phân tán
Trong suốt mạng (phân tán)
Trong suốt về nhân bản
Trong suốt về phân mảnh
Phân mảnh ngang: phép chọn
Phân mảnh dọc: phép chiếu
Phân mảnh hỗn hợp
43
Ví dụ
TITLE SAL
PAY Lương
Elect. Eng. 40000
Syst. Anal. 34000
Mech. Eng. 27000
Programmer 24000
PROJ Đề án
PNO PNAME BUDGET
ENO ENAME TITLE
E1 J. Doe Elect. Eng.
E2 M. Smith Syst. Anal.
E3 A. Lee Mech. Eng.
E4 J. Miller Programmer
E5 B. Casey Syst. Anal.
E6 L. Chu Elect. Eng.
E7 R. Davis Mech. Eng.
E8 J. Jones Syst. Anal.
EMP Nhân viên
ENO PNO RESP
E1 P1 Manager 12
DUR
E2 P1 Analyst 24
E2 P2 Analyst 6
E3 P3 Consultant 10
E3 P4 Engineer 48
E4 P2 Programmer 18
E5 P2 Manager 24
E6 P4 Manager 48
E7 P3 Engineer 36
E8 P3 Manager 40
ASG Phân công
P1 Instrumentation 150000
P3 CAD/CAM 250000
P2 Database Develop. 135000
P4 Maintenance 310000
E7 P5 Engineer 23
44
Truy cập trong suốt
Transparent Access
SELECT ENAME,SAL
FROM EMP,ASG,PAY
WHEREDUR > 12
AND EMP.ENO =
ASG.ENO
AND PAY.TITLE =
EMP.TITLE
Paris projects
Paris employees
Paris assignments
Boston employees
Montreal projects
Paris projects
New York projects
with budget > 200000
Montreal employees
Montreal assignments
Boston
Communication
Network
Montreal
Paris
New
York
Boston projects
Boston employees
Boston assignments
Boston projects
New York employees
New York projects
New York assignments
Tokyo
EMP nhân viên
ASG phân công
PAY lương
45
CSDLPT Quan điểm của người sử dụng
Distributed Database
46
Hệ QTCSDLPT- Thực tại
Communication
Subsystem
User
Query
DBMS
Software
DBMS
Software
User
Application
DBMS
Software
User
ApplicationUser
Query
DBMS
Software
User
Query
DBMS
Software
47
Triển vọng cải thiện công năng
Tương đồng về dữ liệu ở góc độ sử
dụng
Yêu cầu hỗ trợ phân mảnh và sao lưu
Thực thi song song
Song song truy vấn ngoài (Inter-query
parallelism)
Song song truy vấn trong (Intra-query
parallelism)
48
Nhu cầu song song
Có càng nhiều dữ liệu càng tốt cần cho
mỗi ứng dụng ở vị trí thực thi ứng dụng
Nhân bản toàn phân
Cách cập nhật?
Cập nhật dữ liệu được nhân bản yêu cầu
hiện thực kiểm soát đồng hành phân tán
các giao tác cam kết (commit protocols)
49
Mở rộng hệ thống
Vấn đề quy mô CSDL
Sự tiến bộ vượt bậc của công nghệ vi
xử lý và trạm máy tính
Chi phí truyền thông dữ liệu so với chi
phí viễn thông
50
Các vấn đề của hệ QTCSDLPT
Thiết kế CSDLPT
Cách phân tán CSDL
Phân tán CSDL sao lưu và không sao lưu
Vấn đề liên quan trong quản trị thư mục
Xử lý truy vấn
Đổi các giao tác của NSD thành các lệnh xử lý dữ
liệu
Bài toán tối ưu
min{chi phí = truyền dữ liệu+ xử lý cục bộ}
Bài toán NP-khó
51
Các vấn đề của Hệ QTCSDLPT
Kiểm soát đồng hành
Đồng bộ các truy cập đồng hành
Nhất quán và cách ly hiệu quả của giao tác
Quản lý deadlock
Sự tin cậy
Cách làm hệ thống có khả năng phục hồi
với sai hỏng
52
Quản lý thư mục
Vấn đề giữa các mối quan hệ
Tin cậy
Quản lý
deadlock
Xử lý truy vấn
Kiểm soát đồng hành
Thiết kế phân tán
53
Các vấn đề liên quan
Hỗ trợ hệ điều hành
Hệ điều hành với hỗ trợ đúng cho các thao
tác CSDL
Phân chia giữa yêu cầu xử lý với mục tiêu
chung và yêu cầu xử lý CSDL
Các hệ thống mở và Interoperability
Các hệ đa CSDL phân tán
Các kịch bản khả dĩ hơn
Các vấn đề song song
54
Tính đồng nhất và không
đồng nhất
Đồng nhất và không đồng nhất
Phần cứng
Hệ điều hành
Các DBMS cục bộ
DBMS đồng nhất
Các DBMS cục bộ giống nhau
DBMS không đồng nhất
Có ít nhất hai DBMS cục bộ khác nhau
Chuyển đổi các mô hình dư liệu khác nhau
55
Tài liệu tham khảo
1. Ravindra Guravannavar, Ramanujam H.S.;
Optimizing Nested Queries with Parameter Sort
Orders; 2006.
2. Fabio Porto; Distributed Query Processing;
2005.
3. Farnoush Banaei-Kashani; Distributed
Databases; 2005.
4. M. Tamer Ozsu, Patrick Valduriez; Principles of
Distributed Database Systems; 1999.
Các file đính kèm theo tài liệu này:
- bai_giang_co_so_du_lieu_bai_2_tong_quan_ve_co_so_du_lieu_pha.pdf