



















Preview text:
THÔNG TIN VỀ HỌC PHẦN Update 02-2025
Tên học phần: Hệ CSDL Phân tán
Distributed Database Systems
Mã học phần: TIN4353 Số tín chỉ: 3
HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN
Các học phần tiên quyết:
DISTRIBUTED DATABASE SYSTEMS Cơ sở dữ liệu Hệ điều hành Mạng máy tính
PGS. TS. Nguyễn Mậu Hân
Đối tượng học: Sinh viên ngành Công nghệ phần
nmhan@husc.edu.vn
mềm hoặc các ngành Công nghệ Thông tin liên quan. 1 2
THÔNG TIN VỀ HỌC PHẦN
MỤC ĐÍCH CỦA HỌC PHẦN
Phân giờ tín chỉ đối với các hoạt động giảng dạy: + Nghe giảng lý thuyết: 30 + Làm bài tập: 06
Hiểu được khái niệm, cấu trúc và chức năng của + Thảo luận: 06
CSDL phân tán (Distributed Database - DDB). + Kiểm tra: 03
Nắm bắt các kỹ thuật thiết kế, quản lý và tối ưu hóa
Chính sách đối với học phần và yêu cầu của CSDL phân tán. Giảng viên:
Phát triển kỹ năng giải quyết các vấn đề liên quan
Học viên bắt buộc phải tham gia các hoạt động sau:
đến lưu trữ, truy xuất và bảo trì dữ liệu phân tán.
Nghe giảng lý thuyết, Kiểm tra định kỳ và Thi cuối kỳ
Ứng dụng hệ quản trị CSDL phân tán trong thực tế.
Phƣơng pháp, hình thức kiểm tra
Kiểm tra – Bài tập - Chuyên cần : 40 %
Thi cuối kỳ (tự luận) : 60 % 3 4 NỘI DUNG
TÀI LIỆU THAM KHẢO
[1] Andrew S. Tanenbaum and Maarten Van Steen, Distributed
Systems Principles and Paradigms, 2002 Pentice-Hall
[2] M.TAMER OZSU and PATRICK VALDURIEZ, Principles of
Chương 1 TỔNG QUAN VỀ CSDL PHÂN TÁN (DDB)
Distributed Database Systems, Prentice Hall, 2004.
[3] Weiyi Meng and Clement T.Yu, Principles of Database
Chương 2 CÁC MỨC TRONG SUỐT TRONG DDB
Query Processing for Advanced Applications, Morgan
Chương 3 THIẾT KẾ CSDL PHÂN TÁN Kaufman Inc., 2003.
[4] William Buchanan, Distributed Systems and Networks, Mc
Chương 4 TỐI ƯU HÓA TRUY VẤN TRONG DDB
Graw-Hill Book International. 2002.
[5] Stefano Ceri and Giuseppe Pelagatti, Distributed Databases
Chương 5 QUẢN TRỊ GIAO TÁC PHÂN TÁN
Principles and Systems, Mc Graw-Hill Book International
[6] Jeffrey D.Ullman (biên dịch: Trần Đức Quang), Nguyên lý NỘI DUNG TỰ HỌC:
các hệ CSDL và cơ sở tri thức, tập 1&2. NXB Thống kê, 1998.
TÌM HIỂU VỀ: DB2, ORACLE, NoSQL (MongoDB)
[7] Nguyễn Mậu Hân, Giáo trình Cơ sở dữ liệu phân tán, NXB Đại học Huế, 5 2012. 1
ĐỊA CHỈ LIÊN HỆ
CHƢƠNG 1. TỔNG QUAN VỀ CSDL PHÂN TÁN
GIẢNG VIÊN PGS.TS. NGUYỄN MẬU HÂN NỘI DUNG BỘ MÔN
CÔNG NGHỆ PHẦN MỀM KHOA
CÔNG NGHỆ THÔNG TIN TRƢỜNG
ĐẠI HỌC KHOA HỌC - ĐẠI HỌC HUẾ
1.1 Sơ lƣợc về mạng máy tính
77, NGUYEN HUỆ – HUẾ
1.2 Cơ sở dữ liệu tập trung ĐIỆN THOẠI:
1.3 Cơ sở dữ liệu phân tán CQ: 02343826767 DĐ: 090 559 1515
1.4 Hệ quản trị cơ sở dữ liệu phân tán
1.5 Các loại truy xuất CSDL phân tán EMAIL:
nmhan@husc.edu.vn 8
CHƢƠNG 1. TỔNG QUAN VỀ CSDL PHÂN TÁN
CHƢƠNG 1. TỔNG QUAN VỀ CSDL PHÂN TÁN
Tại sao phải phân tán?
Phân tán cái gì?
Nhu cầu dùng chung một dữ liệu hợp nhất
Phần cứng-Mạng máy tính Phần mềm
Các tổ chức kinh tế có nhiều trụ sở phân tán ở
Hệ quản trị CSDL phân tán
nhiều vị trí địa lý khác nhau CSDL phân tán
Giảm chi phí truyền thông trong công việc Các ứng dụng
Quản lý các luồng dữ liệu và sử dụng chung dữ
liệu, chương trình của tổ chức 9 10
1.1 Sơ lƣợc về mạng máy tính
1.1 Sơ lƣợc về mạng máy tính
Một mạng máy tính là một tập các máy tính tự vận
Những loại mạng máy tính cơ bản
hành, được kết nối lại và có khả năng trao đổi
Mạng hình sao (star) thông tin với nhau.
•Thường được dùng trong các tổ chức có nhiều chi nhánh
Các máy tính trên một mạng thường được gọi là
nằm ở nhiều vùng khác nhau
các nút hay các trạm (site), chúng tạo ra các phần
• Máy tính trung tâm được đặt tại văn phòng chính hoặc tại
cứng cơ bản của mạng và được kết nối lại với trung tâm vùng
nhau bởi một đường truyền. • Nhược điểm:
Một mạng máy tính là một trường hợp đặc biệt - độ tin cậy thấp
của hệ thống xử lý phân tán, trong đó các máy tính
- giao tiếp của hai máy tính
là các thiết bị được kết nối vào kênh truyền dữ
phụ thuộc vào máy tính trung tâm liệu.
- tải trọng quá cao trên máy tính trung tâm 11 12 2
1.1 Sơ lƣợc về mạng máy tính
1.1 Sơ lƣợc về mạng máy tính Mạng vòng (circle)
• Các máy tính được nối với nhau theo vòng khép kín
• Mỗi trạm đóng vai trò là một bộ chuyển tiếp
• Truyền dữ liệu quanh vòng thường theo một chiều
• Việc điều khiển truyền tin trên mạng xoay vòng được thực
hiện bằng thẻ điều khiển • Ưu điểm:
- Là mô hình truyền dữ liệu tốt nhất do dữ liệu sẽ được
khuếch đại bởi các node giữa đường truyền. • Nhược điểm:
- Không được sử dụng phổ biến do chi phí đắt
- Nếu một máy chết sẽ kéo theo các máy khác ngừng hoạt động.
- Lượng thông tin di chuyển trên đường truyền lớn 13 14
1.1 Sơ lƣợc về mạng máy tính
1.1 Sơ lƣợc về mạng máy tính Mạng bus: Mạng thảm (Mesh):
• Có một kênh chung để chuyền dữ liệu, các máy tính và các
•Mỗi nút đều được nối kết với các nút còn lại.
thiết bị đầu cuối sẽ được gắn vào đó.
•Có độ tin cậy cao hơn và khả năng hoạt động tốt
hơn những cấu trúc đã nói ở trên.
•Cấu trúc này có chi phí cao. 15 16
1.1 Sơ lƣợc về mạng máy tính
1.1 Sơ lƣợc về mạng máy tính
Mạng hỗn hợp (hybrid):
•Các mạng truyền thông thường có các đường nối vô định.
•Các đường nối không có tính hệ thống cũng không
tuân theo một khuôn mẫu nào.
•Có thể gặp một nút chỉ nối với một nút khác và cả
những nút nối với nhiều nút khác.
•Các nối kết giữa các máy tính trên mạng Internet thuộc loại này. Mạng hỗn hợp (hybrid) 17 18 3
1.2 Cơ sở dữ liệu tập trung
1.2 Cơ sở dữ liệu tập trung Hệ CSDL tập trung? Hệ CSDL tập trung?
Toàn bộ dữ liệu được lưu trữ tại một máy hoặc một số máy.
b) Hệ CSDL trung tâm
Những người dùng từ xa có thể truy cập vào CSDL thông qua
- Hệ CSDL trung tâm là hệ CSDL được cài đặt trên máy
các phương tiện truyền thông dữ liệu. Có ba kiểu kiến trúc tập tính trung tâm trung: - Đặc điểm:
Dữ liệu được lưu trữ trên máy tính trung tâm. a) Hệ CSDL cá nhân
Nhiều người dùng từ xa có thể truy cập CSDL thông
Hệ CSDL chỉ có một người dùng, người này vừa thiết kế,
qua các thiết bị đầu cuối và các phương tiện truyền
vừa tạo lập, vừa cập nhật và bảo trì CSDL, đồng thời cũng thông.
là người khai thác thông tin, tự lập và hiển thị các báo cáo. Đặc điểm:
Dữ liệu được tập trung ở một máy; Chỉ một người hoặc
một nhóm người truy cập theo nguyên tắc lần lượt (không
có tương tranh, xung đột); Toàn bộ hệ QTCSDL được lưu
tại hệ thống chứa CSDL; Việc truy cập vào CSDL được
thực hiện ngay hệ thống chứa CSDL. 19 20 Hệ CSDL cá nhân Hệ CSDL trung tâm
1.2 Cơ sở dữ liệu tập trung
1.2 Cơ sở dữ liệu tập trung
c) Hệ CSDL Client-Server
Kiến trúc của mô hình Client/server
Trong kiến trúc khách-chủ, có 2 thành phần quan trọng tương
Chức năng của hệ thống
tác với nhau trong kiểu kiến trúc này:
Client/server được chia làm hai lớp:
Thành phần cung cấp tài nguyên đặt ở máy chủ (server)
Thành phần yêu cầu cấp phát tài nguyên đặt ở máy khách
+ Chức năng quản lý - server function (clients)
+ Chức năng khách hàng - client function.
Phần mềm máy khách:
Trong hệ thống Client/Server các thao tác xử lý dữ liệu đáp
Tiếp nhận kết quả và tổ chức đưa ra khuôn dạng phù
ứng yêu cầu của khách hàng đều được thực hiện bởi các chức hợp
năng quản lý, chỉ có kết quả được gửi trả cho khách hàng.
Chuyển tới yêu cầu của máy chủ và chờ đợi trả lời
Hệ khách có các tầng:
Tổ chức giao diện, tiếp nhận yêu cầu truy cập thông tin
+ Giao diện tương tác với người sử dụng (User Interface), các Phần mềm máy chủ:
chương trình ứng dụng (Application Program), ...
Tiếp nhận yêu cầu truy vấn thông tin từ client
+ Hệ quản trị CSDL khách hàng (Client DBMS). Xử lý thông tin
+ Các phần mềm mạng có chức năng truyền tin
Gửi kết quả tới client (Communication Software). 21 22
1.2 Cơ sở dữ liệu tập trung
Hệ đại lý có các tầng:
+ Các phần mềm mạng có chức năng truyền tin.
+ Tầng kiểm soát ngữ nghĩa của dữ liệu (Semantic Data Controler).
+ Tầng tối ưu hóa câu hỏi (Query Optimizer).
+ Tầng quản lý các giao tác (Transaction Manager).
+ Tầng quản lý khôi phục (Recovery Manager).
+ Tầng hỗ trợ thực thi (Run - time Support Processor) .
+ Hệ điều hành quản lý chung và giao tiếp với CSDL vật lý.
Sơ đồ kiến trúc mô hình client/server 23 24 4
1.2 Cơ sở dữ liệu tập trung
1.2 Cơ sở dữ liệu tập trung
Kiến trúc Client-Server có một số ưu điểm sau:
Khả năng truy cập nhanh đến các CSDL;
Nâng cao khả năng thực hiện của CPU: các CPU ở máy
chủ và máy khách khác nhau có thể cùng chạy song song,
mỗi CPU thực hiện một nhiệm vụ;
Chi phí cho phần cứng giảm do chỉ cần máy chủ có cấu
hình mạnh để lưu trữ và quản trị dữ liệu;
Chi phí truyền thông giảm do một phần các thao tác được
giải quyết trên máy khách,
Nâng cao khả năng đảm bảo tính nhất quán của dữ liệu vì
các ràng buộc được định nghĩa và kiểm tra trên máy chủ.
Mô hình khách - chủ 25 26
1.3 Cơ sở dữ liệu phân tán (Distributed Database)
1.3 Cơ sở dữ liệu phân tán (Distributed Database)
Một mô hình vật lý của Định nghĩa: một hệ CSDL phân tán
CSDL phân tán là một tập hợp dữ liệu, mà về mặt
logic tập hợp này thuộc cùng một hệ thống, nhưng về CSDL Miền Bắc mặt
vật lý dữ liệu đó được phân tán trên các vị trí
khác nhau của một mạng máy tính. CSDL Miền Trung
Có hai điểm quan trọng được nêu ra trong định nghĩa:
a. Phân tán: CSDL Miền Nam
Dữ liệu không cư trú trên một vị trí mà được phân
bố rộng khắp trên nhiều máy tính đặt tại nhiều vị trí khác nhau.
Đây là điểm phân biệt một CSDL phân tán với một
Tại trụ sở Tập đoàn chính
Tại trụ sở các đơn vị cấp 2, 3 27 28
CSDL tập trung.
1.3 Cơ sở dữ liệu phân tán
1.3 Cơ sở dữ liệu phân tán
b. Tương quan logic:
Dữ liệu trong hệ phân tán có một số thuộc tính
ràng buộc chúng với nhau.
Điều này giúp chúng ta có thể phân biệt một CSDL
phân tán với một tập hợp CSDL tập trung.
Các file dữ liệu được lưu trữ tại nhiều vị trí khác nhau. Tóm lại
• CSDL phân tán là những hệ thống cho phép
người dùng truy cập không chỉ dữ liệu đặt tại chỗ
mà cả những dữ liệu để ở xa.
This illustration shows a homogeneous distributed database. The figure shows
three databases, HQ.ACME.COM, SALES.ACME.COM and MFG.ACME.COM.
Each database is connected to a number of client systems at Headquarters and 29 30
the Sales and Manufacturing divisions, respectively. 5
1.3 Cơ sở dữ liệu phân tán
1.3 Cơ sở dữ liệu phân tán
An Oracle Database Distributed Database System
Kết nối CSDL (Database Links)
database link là một kết nối vật
lý giữa hai server CSDL và cho
phép NSD truy cập dữ liệu như là một CSDL logic.
There are two databases located on
separate servers: HQ and SALES.
The figure shows examples of direct
and indirect client connections.
This illustration depicts a database link
Queries are made to the HQ database
between user Scott and a remote
directly, and queries are made
database. The link passes through the
indirectly to the SALES database,
local database, and, because the link to
through the HQ database, which then
the remote database is stored on the local
acts as a client. Communication
database, a unidirectional link links the
between the servers occurs over the remote database to the user. 31 network using Oracle Net. 32 Database Link
1.3 Cơ sở dữ liệu phân tán
1.3 Cơ sở dữ liệu phân tán Database Links Chú ý
• Database links có thể sử dụng ở hai dạng:
Ứng dụng địa phƣơng (local application)
• Các ứng dụng mà không yêu cầu dữ liệu từ các
private hoặc public. site khác.
• Nếu là private thì chỉ có User tạo ra liên kết mới
Ứng dụng toàn cục (global application)
• Các ứng dụng mà có yêu cầu dữ liệu từ các site
có quyền truy cập dữ liệu khác.
• Nếu là public, thì mọi User trong hệ thống có thể truy cập dữ liệu A
ssignment: to learn more database link
Se e also: http://www.stanford.edu/dept/itss/docs/oracle/ 33 34
1.3 Cơ sở dữ liệu phân tán
1.3 Cơ sở dữ liệu phân tán Ví dụ 1:
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 (site) có một máy tính điều khiển một số
máy giao dịch đầu cuối (teller terminal) và CSDL của chi nhánh đó.
Tại mỗi site được đặt một phần CSDL phân tán. Site1 Site2
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 có hai chức năng:
Xử lý thông tin tại vị trí mà nó quản lý
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. Chẳng hạn, 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 Site3
động để cung cấp thông tin. 35 36
CSDL phân tán trên một mạng phân tán về địa lý 6
1.3 Cơ sở dữ liệu phân tán
1.3 Cơ sở dữ liệu phân tán Ví dụ 2: Branch1 Database 1 Database 2 Branch2
Xet một ngân hàng như ở ví dụ 1. Nhưng: T T
• Các máy tính với CSDL của chúng ở mỗi chi nhánh được T T T Computer Computer T T T
chuyển đến cùng một tòa nhà. 1 2
• Các máy tính này được kết nối với nhau bởi một mạng
cục bộ với băng thông rộng. Local Network
• Các máy giao dịch đầu cuối được kết nối với máy tính
tương ứng của chúng qua internet Computer
• Mỗi máy tính và CSDL của nó tạo nên một site của mạng Branch3 3 T cục bộ. T T T Database 3 37 38
CSDL phân tán trên một mạng cục bộ
1.3 Cơ sở dữ liệu phân tán
1.3 Cơ sở dữ liệu phân tán Ví dụ 3: Branch1 Branch2 Database 1 Database 2 Database 2
Xét hệ thống ngân hàng như trên. Nhưng: T T T T T T
Dữ liệu của các chi nhánh được phân tán trên 3 Back end Back end Back end Computer 1 Computer 2 Computer 3
back-end computers, các máy tính này sẽ thực
hiện chức năng quản trị CSDL Local Network
• Các chương trình ứng dụng được thực hiện bởi một
máy tính khác (front-end computer), máy tính này Application
đóng vai trò giao diện và yêu cầu back-end Front-end Computer
computers thực hiện các lệnh của NSD. Branch3 T T T 39
Hệ thống đa xử lý (multiprocessor system) 40
1.4 Hệ quản trị cơ sở dữ liệu phân tán (DDBMSs) Các ứng dụng C Giao diện người dùng
1.4.1. Hệ quản trị CSDL tập trung ác Tầng giao diện Quản lý khung nhìn tầ Phép tính quan hệ Program 1 Program n n ......... g c
Kiểm soát toàn vẹn ngữ nghĩa hứ Tầng điều khiển Kiểm định cấp quyền C á c c Communication n Phép tính quan hệ kế SubSystems ăn
Phân rã và tối ưu hóa truy vấn t q g Tầng biên dịch u
Quản lý hoạch định truy xuất ả DataBase c ủ Đại số quan hệ Management System a m
Điều khiển thực thi hoạch định truy xuất Operation System ộ Tầng thực thi t
Thực thi phép toán đại số H ệ Truy xuất/Cập nhật QTCS Quản lý vùng đệm
Tầng truy xuất dữ liệu
Các phương pháp truy xuất D Truy xuất/Cập nhật L Điều khiển đồng thời q Tầng duy trì nhất quán DataBase ua Ghi nhật ký n h 41 ệ 42
Kiến trúc tổng quát của một hệ quản trị CSDL tập trung DataBase 7
1.4 Hệ quản trị cơ sở dữ liệu phân tán
1.4 Hệ quản trị cơ sở dữ liệu phân tán
1.4.2. Hệ quản trị CSDL phân tán (DDBMSs) T T T
DDBMS có chức năng hỗ trợ việc tạo và bảo trì CSDL phân tán.
DDBMS có các thành phần tương tự như một hệ Local DB DC
quản trị CSDL tập trung; các thành phần hỗ trợ trong database 1 DDB DD việc Site 1
chuyển tải dữ liệu đến các trạm và ngược lại. Site 2
Các thành phần chính của DDBMS: DD
Quản trị dữ liệu (Database management): DB Local database 2 DB DC DDB
Truyền thông dữ liệu (Data Communication): DC
Từ điển dữ liệu (Data Dictionary): DD dùng để mô
tả thông tin về sự phân tán của dữ liệu trên mạng. T
CSDL phân tán (Distributed Database): DDB T T
Các thành phần của một DDBMS thương mại 43 44 User Application User Application O O
1.4 Hệ quản trị cơ sở dữ liệu phân tán S p Interface Program S y p Interface Program e y st ... e r st a r e a t e m Client DBMS Client DBMS i t o m io n n Communication Software Communication Software
DDBMS thuần nhất (Homogeneous DDBMS)
DBMS địa phương giống nhau Result Result SQL Query SQL Query Relation Relation Communication Software Sematic Data Controler
DDBMS không thuần nhất (Heterogeneous DDBMS) Query Optimizer
DBMS địa phương có thể khác nhau Transaction Manager
DDBMS có chức năng chuyển đổi các mô hình Recovery Manager Kiến trúc tham Runtime Support Processor dữ liệu chiếu của một Operation System DDBMS theo mô hình 45 Client/Server 46 DataBase 47 48 8
1.4 Hệ quản trị cơ sở dữ liệu phân tán
1.4 Hệ quản trị cơ sở dữ liệu phân tán
So sánh csdl phân tán và csdl tập trung
1.3.4 Ƣu và nhƣợc điểm của hệ phân tán Nhận
xét: CSDL phân tán không đơn giản là những Ưu điểm
sự thực hiện phân tán của CSDL tập trung, bởi vì
• Đáp ứng nhanh hầu hết các ứng dụng sử dụng dữ liệu tại
chúng cho phép thiết kế các đặc trưng khác với các trạm
CSDL tập trung truyền thống.
• Tăng cường các đơn thể ứng dụng và CSDL mà không làm
cản trở người sử dụng hiện tại.
Các đặc điểm tiêu biểu của CSDL truyền thống:
• Kiểm soát dữ liệu địa phương theo hướng hoàn thiện sự
• điều khiển tập trung
tích hợp và quản trị dữ liệu từ xa. • độc lập dữ liệu
• Tăng cường khả năng của hệ thống liên quan đến sự dư • giảm dư thừa thừa dữ liệu.
• biệt lập và bảo mật dữ liệu. 49 50
1.4 Hệ quản trị cơ sở dữ liệu phân tán
1.5 Các loại truy xuất CSDL phân tán
1.5.1 Truy xuất từ xa thông qua các tác vụ cơ bản:
1.3.4 Ƣu và nhƣợc điểm của hệ phân tán
Ứng dụng phát ra một yêu cầu truy xuất CSDL ở một vị trí
Nhược điểm nào đó.
• Phần mềm đắt và phức tạp
Yêu cầu này sẽ được hệ quản trị CSDL phân tán gởi đến vị
trí chứa dữ liệu đó. Thực hiện xong sẽ gửi kết quả về.
• Phải xử lý các thay đổi thông báo trong mọi địa điểm
Các tác vụ cơ bản truy xuất CSDL
• Khó kiểm soát tính toàn vẹn dữ liệu với nhiều bản sao dữ Trình ứng DBMS1 CSDL 1
liệu được phân bố khắp mọi nơi. dụng
• Đáp ứng chậm nhu cầu của các trạm trong trường hợp các Site 1
phần mềm ứng dụng không được phân bố phù hợp với việc Site 2 sử dụng chung. CSDL 2 DBMS2 Kết quả gửi về 51 52
1.5 Các loại truy xuất CSDL phân tán
Ứng dụng thực tiễn của CSDLPT
1.5.2 Truy xuất từ xa thông qua chƣơng trình phụ trợ 1. Ngân hàng:
Một ứng dụng yêu cầu thực hiện một chương trình phụ trợ ở
Hệ thống quản lý tài khoản, giao dịch tại nhiều chi nhánh vị trí từ xa. trên toàn cầu.
2. Thƣơng mại điện tử:
Chương trình phụ trợ này sẽ truy xuất CSDL từ xa và trả lại kết
Quản lý kho hàng, đơn đặt hàng, và dữ liệu người dùng trên
quả cho ứng dụng đang yêu cầu. nhiều quốc gia.
Yêu cầu thực hiện 3. Mạng xã hội:
chƣơng trình phụ trợ Trình
Lưu trữ và truy xuất dữ liệu người dùng (bài đăng, ảnh, ứng CSDL 1 DBMS1 dụng
video) ở các trung tâm dữ liệu trên toàn thế giới để tăng tốc độ truy cập. Site 1 4. Lĩnh vực y tế:
Lưu trữ hồ sơ bệnh án điện tử từ nhiều bệnh viện, đảm bảo Site 2
dữ liệu dễ dàng truy cập và chia sẻ giữa các cơ sở y tế.
Các tác vụ truy xuất
Kết quả toàn cục DBMS2 CSDL và kết quả
4. Quản lý chính phủ: Chƣơng CSDL 2
Cơ sở dữ liệu về dân số, thuế, và các dịch vụ công trên trình phụ trợ 53 54 phạm vi quốc gia. 9
Các lĩnh vực cần quan tâm về CSDLPT ASSIGNMENT
1. Distributed Database Design
1. Distributed Database Systems: Oracle8i
http://www.camden.rutgers.edu/HELP/Documentation/Oracle/server.815/
2. Distributed Query Processing a67784/toc.htm
2. Distributed Database Systems: DB2
3. Distributed Transaction Management
http://www.cs.mcgill.ca/~cs577/#Project
4. Distributed Concurrency Control
5. Distributed Deadlock Management
6. Reliability of Distributed DBMS 7. Operating System Support 8. Heterogeneous Database 55 56
Câu hỏi cuối chƣơng
CHƢƠNG 2. CÁC MỨC TRONG SUỐT TRONG CSDL PHÂN TÁN
1. Ưu và nhược điểm của các lại mạng máy tính. NỘI DUNG
2. Định nghĩa CSDL phân tán. Hệ quản trị CSDL
2.1 Kiến trúc cơ bản của một CSDL phân tán
phân tán. Các thành phần yêu cầu trong một
2.2 Các loại kiến trúc của một CSDL phân tán
DDBMSs thương mại. Cho ví dụ về một CSDL
2.3 Các thành phần chính trong CSDL phân tán phân tán .
2.4 Giao thức kết nối và truyền dữ liệu
3. So sánh csdl phân tán và csdl tập trung
2.5 Các đặc điểm chính của hệ phân tán
4. Ưu và nhược điểm của hệ phân tán
2.6 Trong suốt phân tán
2.7 Đồng bộ hóa dữ liệu trong CSDLPT
5. Các truy xuất từ xa trong hệ thống phân tán MỤC ĐÍCH
6. Kết nối CSDL trong hệ phân tán
Cung cấp cho ngƣời sử dụng thấy đƣợc các thành phần khác nhau của một
7. Cho một ví dụ về CSDLPT trong thực tế CSDLPT. 57 58
2.1 Kiến trúc cơ bản của CSDLPT ...
2.1 Kiến trúc cơ bản của CSDLPT ... Sơ đồ tổng thể
2.1.1 Sơ đồ tổng thể (Global Schema): (Global Schema) Các Sơ đồ Sơ đồ phân mảnh
Xác định tất cả các dữ liệu sẽ được lưu trữ trong (Fragmentation Schema) độc lập vị
cơ sở dữ liệu phân tán cũng như các dữ liệu không Sơ đồ định vị trí (Allocation Schema)
được phân tán ở các trạm trong hệ thống.
Sơ đồ tổng thể được định nghĩa theo cách như
Sơ đồ ánh xạ địa phƣơng 1
Sơ đồ ánh xạ địa phƣơng n
(Local mapping Schema 1)
(Local mapping Schema n) trong CSDL tập trung.
Hệ quản trị CSDL tại vị trí 1
Hệ quản trị CSDL tại vị trí n
Trong mô hình quan hệ, sơ đồ tổng thể bao gồm (DBMS 1) (DBMS n)
định nghĩa của tập các quan hệ tổng thể (Global relation). CSDL địa CSDL địa phƣơng 1 phƣơng n (Local (Local Database 1) Database n) 59 60
Kiến trúc tham khảo dùng cho CSDL phân tán 10
2.1 Kiến trúc cơ bản của CSDLPT ...
2.1 Kiến trúc cơ bản của CSDLPT ...
2.1.3 Sơ đồ định vị (allocation schema):
Các đoạn dữ liệu là các phần logic của một quan
2.1.2 Sơ đồ phân đoạn (fragment schema):
hệ tổng thể được định vị vật lý trên một hay nhiều
Mỗi quan hệ tổng thể có thể chia thành một vài phần không giao nhau gọi là phân trạm. đoạn (fragment).
Sơ đồ định vị xác định đoạn dữ liệu nào được định
Có nhiều cách khác nhau để thực hiện việc phân chia này vị
tại trạm nào trên mạng.
Sơ đồ phân đoạn mô tả các ánh xạ giữa các quan hệ tổng thể và các đoạn được
định nghĩa trong sơ đồ phân đoạn (fragmentation Schema),
Các đoạn được liên kết với cùng một quan hệ tổng
Các đoạn được mô tả bằng tên của quan hệ tổng thể cùng với chỉ mục đoạn.
thể R và được định vị tại cùng một trạm j cấu thành
Chẳng hạn, R được hiểu là đoạn thứ i của quan hệ R. i
ảnh vật lý quan hệ tổng thể R tại trạm j.
Do đó ta có thể ánh xạ một-một giữa một ảnh vật lý
và một cặp (quan hệ tổng thể, trạm). 61 62
2.1 Kiến trúc cơ bản của CSDLPT ...
2.1 Kiến trúc cơ bản của CSDLPT ... 1 • R R
Ký hiệu R để chỉ đoạn thứ i của quan hệ tổng thể 1 i R R1 1 1 R R 2 (Trạm 1 )
• Ký hiệu Rj để chỉ ảnh vật lý của quan hệ tổng thể R tại trạm j R 2 R 2 1 • R2
Tương tự như vậy, bản sao của đoạn i thuộc quan (Trạm 2 ) R 2
hệ R tại trạm j được ký hiệu là R j 2 i R 3
d. Sơ đồ ánh xạ địa phương 3 ( R Local mapping schema): 2 R
• Thực hiện ánh xạ các ảnh vật lý lên các đối tượng 4 R3 R 3 3
được thực hiện bởi hệ quản trị cơ sở dữ liệu địa (Trạm 3 ) 3 phương R 4
• Tất cả các đoạn của một quan hệ tổng thể trên Quan hệ tổng thể Các đoạn Hình ảnh vật lý
cùng một trạm tạo ra một ảnh vật lý 63 64
Các đoạn và hình ảnh vật lý của một quan hệ tổng thể
2.1 Kiến trúc cơ bản của CSDLPT ...
2.1 Kiến trúc cơ bản của CSDLPT ...
Ba yếu tố được suy ra từ kiểu kiến trúc này là:
a. Tách rời khái niệm phân đoạn dữ liệu với khái
a. Tách rời khái niệm phân đoạn dữ liệu với khái niệm định vị dữ liệu.
niệm định vị dữ liệu.
• Phân đoạn dữ liệu, bao gồm những công việc mà người lập trình ứng dụng
làm việc với quan hệ tổng thể, phân chia quan hệ tổng thể thành các đoạn.
b. Biết được dữ liệu dư thừa
• Thông qua tính trong suốt phân đoạn (fragmentation transparency) người
c. Độc lập với các DBMS địa phương
lập trình sẽ nhìn thấy được những đoạn dữ liệu bị phân chia như thế nào.
• Định vị dữ liệu lại liên quan đến các công việc của người sử dụng và người
lập trình ứng dụng trên các đoạn dữ liệu được định vị tại các trạm.
• Thông qua tính trong suốt vị trí (location transparency) người lập trình sẽ
Ba yếu tố này tương ứng với ba mức trong suốt tương ứng
biết được vị trí của các đoạn dữ liệu trên các trạm. 65 66 11
2.1 Kiến trúc cơ bản của CSDLPT ...
2.2. Các loại kiến trúc của một CSDLPT ...
b. Biết được dữ liệu dư thừa:
2.2.1 Kiến trúc phân tán tập trung (Centralized Architecture) a. Đặc điểm:
• Người lập trình ứng dụng có thể biết được dư thừa dữ liệu ở các trạm.
Dữ liệu được lưu trữ trên một máy chủ trung tâm (central server) và các nút khác
• Trên hình vẽ trên, chúng ta thấy rằng hai ảnh vật lý R và R có trùng lặp dữ 2 3
(clients) truy cập dữ liệu thông qua máy chủ này.
liệu. Do đó các đoạn dữ liệu trùng nhau có thể tránh được khi xây dựng các b. Ƣu điểm: khối ảnh vật lý. •
Quản lý đơn giản: Dữ liệu được tập trung tại một điểm duy nhất. •
Dễ dàng triển khai và bảo trì.
c. Độc lập với các DBMS địa phương c. Nhƣợc điểm:
Tính chất này còn được gọi là trong suốt ánh xạ địa phương (local •
Dễ bị lỗi toàn hệ thống nếu máy chủ trung tâm gặp sự cố.
mapping transparency), cho phép chúng ta khảo sát các vấn đề về quản lý •
Gây tắc nghẽn mạng khi số lượng yêu cầu truy cập lớn.
CSDL phân tán mà không cần phải hiểu rõ mô hình dữ liệu của DBMS địa phương đang sử dụng. 67 68
2.2. Các loại kiến trúc của một CSDLPT ...
2.3. Các thành phần chính trong CSDLPT ...
2.3.1 Máy chủ (Server)
2.2.2 Kiến trúc phân tán phi tập trung (Decentralized Architecture)
Chịu trách nhiệm lưu trữ và quản lý dữ liệu. a. Đặc điểm:
Dữ liệu được lưu trữ trên nhiều máy chủ (nodes), không có máy chủ trung tâm.
Cung cấp dịch vụ truy vấn và giao dịch cho các nút khác.
Mỗi nút hoạt động độc lập nhưng phối hợp với nhau để cung cấp dịch vụ.
Có thể là máy chủ trung tâm (trong kiến trúc tập trung) hoặc nút độc lập (trong b. Ƣu điểm:
kiến trúc phi tập trung).
Tăng tính sẵn sàng: Hệ thống vẫn hoạt động ngay cả khi một số nút bị lỗi.Khả 2.3.2 Nút (Node)
năng mở rộng cao: Dễ dàng thêm các nút mới.Phân phối tải: Giảm áp lực cho bất
Là các thành phần vật lý hoặc logic trong hệ thống, nơi dữ liệu được lưu trữ và kỳ nút nào. xử lý. c. Nhƣợc điểm:
Quản lý phức tạp: Đồng bộ hóa và quản lý dữ liệu trở nên khó khăn hơn.Độ trễ Vai trò của các nút:
có thể cao hơn do cần phối hợp giữa các nút.
Nút lƣu trữ: Lưu trữ các phần dữ liệu được phân mảnh hoặc sao chép.
Nút xử lý: Thực hiện truy vấn và xử lý giao dịch cục bộ hoặc toàn cục. 69 70
2.3. Các thành phần chính trong CSDLPT ...
2.4. Giao thức kết nối và truyền dữ liệu... 2.3.3 Mạng (Network)
Kết nối các nút trong hệ thống thông qua giao thức mạng.
Đảm bảo việc truyền dữ liệu giữa các nút và phối hợp xử lý giao dịch.
2.4.1 Giao thức kết nối a.
Client-Server Protocol: Kết luận:
Các nút gửi yêu cầu đến máy chủ để truy cập dữ liệu.
Kiến trúc hệ thống CSDLPT được thiết kế để tối ưu hóa hiệu suất, khả năng
Phổ biến trong kiến trúc tập trung.
mở rộng và tính sẵn sàng. b.
Peer-to-Peer Protocol (P2P):
Việc lựa chọn giữa kiến trúc tập trung và phi tập trung phụ thuộc vào nhu cầu
Mỗi nút vừa đóng vai trò là máy chủ, vừa là client.
ứng dụng và các yếu tố như hiệu suất, độ tin cậy và chi phí quản lý.
Dữ liệu được chia sẻ trực tiếp giữa các nút.
Các giao thức kết nối và truyền dữ liệu đóng vai trò quan trọng trong việc đảm
2.4.2 Giao thức truyền dữ liệu
bảo hệ thống hoạt động ổn định và hiệu quả. a. Giao thức TCP/IP:
Đảm bảo truyền dữ liệu tin cậy giữa các nút thông qua mạng.
Được sử dụng phổ biến trong các hệ thống phân tán. b. Giao thức UDP:
Dùng cho các ứng dụng cần tốc độ cao nhưng không yêu cầu tính tin cậy 71 72 tuyệt đối 12
2.5. Các đặc điểm chính của hệ phân tán ...
2.5. Các đặc điểm chính của hệ phân tán ...
2.5.1 Chia sẻ tài nguyên
2.5.2 Tính mở
Được thực hiện qua mạng truyền thông.
Tính mở của hệ thống phân tán là tính dễ dàng mở rộng phần cứng của nó. Một Mỗi
hệ thống được gọi là có tính mở thì phải có các điều kiện sau:
tài nguyên cần phải được quản lý bởi một chương trình có giao diện truyền
Hệ thống có thể tạo nên bởi nhiều loại phần cứng và phần mềm của nhiều thông nhà cung cấp khác nhau.
Các tài nguyên có thể được truy nhập, cập nhật một cách tin cậy và nhất
Có thể bổ sung vào các dịch vụ dùng chung tài nguyên mà không phá hỏng quán.
hay nhân đôi các dịch vụ đang tồn tại.
Quản lý tài nguyên: bao gồm
Tính mở được hoàn thiện bằng cách xác định hay phân định rõ các giao
Lập kế hoạch dự phòng
diện chính của một hệ và làm cho nó tương thích với các nhà phát triển phần mềm.
Đặt tên cho các lớp tài nguyên
Tính mở của hệ phân tán dựa trên việc cung cấp cơ chế truyền thông giữa
Cho phép tài nguyên được truy nhập từ nơi này đến nơi khác
các tiến trình và công khai các giao diện dùng để truy nhập các tài nguyên
Ánh xạ tên tài nguyên vào địa chỉ truyền thông. chung. 73 74
2.5. Các đặc điểm chính của hệ phân tán ...
2.5. Các đặc điểm chính của hệ phân tán ...
2.5.3 Khả năng song song
• Hệ phân tán hoạt động trên một mạng truyền thông có nhiều máy tính, mỗi
2.5.4 Khả năng mở rộng
máy có thể có một hay nhiều CPU.
Khả năng mở rộng của một hệ phân tán được đặc trưng bởi tính không thay
• Có thể thực hiện nhiều tiến trình trong cùng một thời điểm. Việc thực hiện
đổi phần mềm hệ thống và phần mềm ứng dụng khi hệ được mở rộng.
tiến trình theo cơ chế phân chia thời gian (một CPU) hay (nhiều CPU).
Yêu cầu cho việc mở rộng không chỉ là mở rộng phần cứng, về mạng mà nó
trải trên các khía cạnh khi thiết kế hệ phân tán.
Khả năng làm việc song song trong hệ phân tán được thể hiện qua hai
2.5.5 Khả năng thứ lỗi
tình huống sau:
Việc thiết kế khả năng thứ lỗi các hệ thống máy tính dựa trên hai giải pháp
• Nhiều người sử dụng đồng thời đưa ra các lệnh hay các tương tác với các sau: chương trình ứng dụng.
• Dùng khả năng thay thế để đảm bảo sự hoạt động liên tục và hiệu quả.
• Nhiều tiến trình Server chạy đồng thời, mỗi tiến trình phải đáp ứng yêu cầu
• Dùng các chương trình hồi phục dữ liệu khi xảy ra sự cố từ các Clients. 75 76
2.5. Các đặc điểm chính của hệ phân tán ...
2.5. Các đặc điểm chính của hệ phân tán
2.5.7 Tính trong suốt
2.5.6 Đảm bảo tin cậy và nhất quán
Tính trong suốt của một hệ phân tán được hiểu như là việc che khuất đi các
Hệ thống yêu cầu độ tin cậy như:
thành phần riêng biệt của hệ đối với người sử dụng và những người lập trình ứng dụng. . Bí mật của dữ liệu
Các loại trong suốt trong hệ phân tán:
. Các chức năng khôi phục hư hỏng phải đảm bảo
a. Trong suốt phân đoạn (fragmentation transparency)
. Ngoài ra các yêu cầu của hệ thống về tính nhất quán cũng thể hiện ở chổ:
b. Trong suốt về vị trí (location transparency)
không có mâu thuẩn trong nội dung cơ sở dữ liệu
c. Trong suốt ánh xạ địa phương (local mapping transparency)
d. Không trong suốt (no transparency) 77 78 13
2.6. Trong suốt phân tán ...
2.6. Trong suốt phân tán ... SELECT * FROM NCC WHERE Id=”Id1”
2.6.1 Trong suốt phân đoạn (fragmentation transparency):
Khi dữ liệu đã được phân đoạn thì việc truy cập vào CSDL được thực hiện bình NCC 1
thường như là chưa bị phân tán và không ảnh hưởng tới người sử dụng. Vị trí 1
Ví dụ: Xét quan hệ tổng thể NCC (Id, Tên, Tuổi)
và các phân đoạn được tách ra từ nó: DDBMS NCC1 (Id, Tên, Tuổi) NCC2 (Id, Tên, Tuổi) NCC 2 NCC3 (Id, Tên, Tuổi) Vị trí2
Giả sử DDBMS cung cấp tính trong suốt về phân đoạn, khi đó ta có thể thấy
tính trong suốt này được thể hiện như sau:
Khi muốn tìm một người có Id=”Id1“ thì chỉ cần tìm trên quan hệ tổng thể
NCC mà không cần biết quan hệ NCC có phân tán hay không. NCC 3 Vị trí 3
Trong suốt phân đoạn 79 80
2.6. Trong suốt phân tán ...
2.6. Trong suốt phân tán ...
Ví dụ: Với quan hệ tổng thể R và các phân đoạn như đã nói ở trên nhưng giả
sử rằng DDBMS cung cấp trong suốt về vị trí nhưng không cung cấp trong suốt
2.6.2 Tính trong suốt về vị trí (location transparency): về phân đoạn.
• Người sử dụng không cần biết về vị trí vật lý của dữ liệu mà có quyền truy
Xét câu truy vấn tìm người có Id=”Id1”.
cập đến cơ sở dữ liệu tại bất cứ vị trí nào. SELECT *
• Các thao tác để lấy hoặc cập nhật một dữ liệu từ xa được tự động thực hiện FROM NCC1
bởi hệ thống tại điểm đưa ra yêu cầu. WHERE Id=”Id1”
• Tính trong suốt về vị trí rất hữu ích, nó cho phép người sử dụng bỏ qua các IF NOT #FOUND THEN bản SELECT *
sao dữ liệu đã tồn tại ở mỗi vị trí. Do đó có thể di chuyển một bản sao dữ FROM NCC2
liệu từ một vị trí này đến một vị trí khác và cho phép tạo các bản sao mới mà WHERE Id=”Id1”
không ảnh hưởng đến các ứng dụng. 81 82
2.6. Trong suốt phân tán ...
2.6. Trong suốt phân tán ...
•Đầu tiên hệ thống sẽ thực hiện tìm kiếm ở phân đoạn NCC và nếu DBMS trả 1
về biến điều khiển #FOUND thì một câu lệnh truy vấn tương tự được thực hiện trên phân đoạn NCC ,... 2
2.6.3 Trong suốt ánh xạ địa phương (local mapping transparency):
•Ở đây quan hệ NCC được sao làm hai bản trên hai vị trí và vị trí , ta chỉ cần 2 2 3
• Là một đặc tính quan trọng trong một hệ thống DBMS không đồng nhất
tìm thông tin trên quan hệ NCC mà không cần quan tâm nó ở vị trí nào. 2
• Ứng dụng tham chiếu đến các đối tượng có các tên độc lập từ các hệ thống cục bộ địa phương.
• Ứng dụng được cài đặt trên một hệ thống không đồng nhất nhưng được sử dụng
như một hệ thống đồng nhất. DBMS NCC 1 Vị trí 1 DBMS NCC 1 Vị trí NCC 1 2 Vị trí 2 NCC Vị trí NCC 2 2 3 Vị trí 2
Sự trong suốt về vị trí 83 84
Sự trong suốt ánh xạ địa phương 14
2.6. Trong suốt phân tán ...
2.6. Trong suốt phân tán ...
2.6.4 Trong suốt về sao chép (Replication Transparency) Ý nghĩa:
2.6.5 Trong suốt về lỗi (Failure Transparency)
Người dùng không cần biết dữ liệu có bao nhiêu bản sao và được lưu trữ ở Ý nghĩa: những đâu.
Hệ thống đảm bảo hoạt động bình thường ngay cả khi có lỗi xảy ra tại một
Hệ thống tự động chọn bản sao phù hợp nhất để trả lời truy vấn, đảm bảo hoặc nhiều nút.
hiệu suất và tính nhất quán.
Người dùng không nhận thấy sự cố và không cần can thiệp để khắc phục. Ví dụ: Ví dụ:
Khi truy cập thông tin sản phẩm từ một hệ thống thương mại điện tử, hệ thống
Khi một nút trong hệ thống bị lỗi, các truy vấn vẫn được thực hiện bằng cách
có thể sử dụng bản sao gần nhất để trả lời truy vấn mà người dùng không
sử dụng dữ liệu từ các nút khác hoặc bản sao dự phòng.
nhận thấy sự khác biệt. 85 86
2.6. Trong suốt phân tán ...
2.6. Trong suốt phân tán ...
2.6.7 Trong suốt về truy cập (Access Transparency) Ý nghĩa:
2.6.6 Trong suốt về giao dịch (Transaction Transparency)
Người dùng có thể truy cập dữ liệu thông qua cùng một giao diện, bất kể cách Ý nghĩa:
dữ liệu được lưu trữ (hệ quản trị khác nhau, định dạng khác nhau).
Người dùng có thể thực hiện giao dịch (transaction) mà không cần quan tâm Ví dụ
đến việc giao dịch đó liên quan đến dữ liệu ở nhiều nút khác nhau. :
Một hệ thống tích hợp dữ liệu từ nhiều nguồn như SQL Server, Oracle,
Hệ thống đảm bảo tính chất ACID (Atomicity, Consistency, Isolation, Durability) của giao dịch. MongoDB.
Người dùng có thể truy vấn qua một giao diện thống nhất mà không cần biết Ví dụ:
chi tiết các hệ quản trị khác nhau.
Một giao dịch ngân hàng chuyển tiền giữa hai tài khoản, trong đó dữ liệu của
hai tài khoản nằm ở hai nút khác nhau. Hệ thống sẽ tự động đảm bảo giao
dịch được thực hiện toàn vẹn hoặc không thực hiện gì cả. 87 88
2.6. Trong suốt phân tán
2.7. Đồng bộ hóa dữ liệu trong CSDLPT
2.7.1 Khái niệm: Đồng bộ hóa dữ liệu là quá trình đảm bảo tính nhất quán và cập
nhật giữa các bản sao của dữ liệu trong hệ thống phân tán. Khi dữ liệu được thay đổi
ở một nút, những thay đổi này phải được truyền đến các nút khác để đảm bảo tất cả
2.6.8 Trong suốt về đồng thời (Concurrency Transparency)
đều có cùng trạng thái và nội dung. Ý nghĩa:
Tính nhất quán (Consistency):
Hệ thống hỗ trợ nhiều người dùng thao tác đồng thời trên cơ sở dữ liệu mà
Đảm bảo tất cả các bản sao của dữ liệu trong hệ thống phản ánh cùng một trạng
không gây ra xung đột hoặc lỗi. thái. Ví dụ:
Tính sẵn sàng (Availability):
Nhiều nhân viên cùng cập nhật thông tin kho hàng, nhưng hệ thống vẫn đảm
Dữ liệu phải luôn sẵn sàng để truy cập, ngay cả khi một số nút hoặc kết nối bị lỗi.
bảo dữ liệu không bị mâu thuẫn.
Phân vùng chịu lỗi (Partition Tolerance):
Hệ thống có khả năng xử lý dữ liệu ngay cả khi có lỗi mạng khiến một số nút
Tầm quan trọng của trong suốt phân tán không liên lạc được.
Giúp người dùng và ứng dụng không phải quan tâm đến các chi tiết phức tạp
trong việc quản lý dữ liệu phân tán.
Tăng cường trải nghiệm người dùng, giảm thiểu rủi ro lỗi do thao tác thủ công.
Đảm bảo hiệu suất và tính nhất quán của hệ thống trong môi trường phức tạp. 89 90 15
2.7.2 Các chiến lƣợc đồng bộ hóa dữ liệu ...
2.7.2 Các chiến lƣợc đồng bộ hóa dữ liệu a.
Đồng bộ hóa dữ liệu tức thời (Synchronous Replication) b.
Đồng bộ hóa dữ liệu không tức thời (Asynchronous Replication) Đặc điểm: Đặc điểm:
Khi một nút thực hiện thay đổi, nó phải đảm bảo tất cả các nút khác cũng cập
Các thay đổi được ghi nhận cục bộ trước, sau đó mới được đồng bộ hóa với
nhật trước khi xác nhận giao dịch hoàn thành. các nút khác trong nền.
Thích hợp cho các ứng dụng yêu cầu tính nhất quán mạnh mẽ.
Phù hợp với các hệ thống yêu cầu hiệu suất cao hơn tính nhất quán. Ƣu điểm: Ƣu điểm:
Đảm bảo tính nhất quán tuyệt đối giữa các nút.
Tăng hiệu suất truy cập và giảm độ trễ. Nhƣợc điểm:
Không phụ thuộc vào trạng thái của các nút khác.
Gây độ trễ cao vì phải đợi tất cả các nút hoàn thành cập nhật. Nhƣợc điểm:
Có thể xảy ra tình trạng dữ liệu không nhất quán tạm thời giữa các nút. 91 92
2.7.3 Các giao thức đồng bộ hóa dữ liệu phổ biến ...
2.7.3 Các giao thức đồng bộ hóa dữ liệu phổ biến
a. Two-phase Commit Protocol (2PC)
b. Three-phase Commit Protocol (3PC)
Mở rộng từ 2PC, thêm một pha "Ready to Commit" để giảm thiểu khóa tài Gồm hai pha: nguyên.
Pha chuẩn bị (Prepare): Tất cả các nút xác nhận rằng chúng có thể thực
Ưu điểm: Tăng tính khả dụng so với 2PC. hiện giao dịch.
Nhược điểm: Phức tạp hơn và yêu cầu mạng ổn định.
Pha cam kết (Commit): Giao dịch được cam kết và thực hiện đồng bộ. Ưu điểm:
c. Thách thức trong đồng bộ hóa dữ liệu
Xử lý lỗi mạng:
Đảm bảo tính nhất quán cao.
Cần cơ chế khôi phục khi một nút không thể tham gia đồng bộ. Nhược điểm:
Xung đột dữ liệu:
Có thể gây khóa tài nguyên trong thời gian chờ các nút phản hồi.
Khi các nút thực hiện thay đổi cùng lúc, cần giải pháp để hợp nhất (conflict resolution).
Tối ƣu hóa hiệu suất:
Đồng bộ hóa cần đảm bảo hiệu quả mà không làm giảm tốc độ truy vấn. 93 94
2.7.3 Các giao thức đồng bộ hóa dữ liệu phổ biến
2.8. Các vấn đề về tính nhất quán dữ liệu
d. Ứng dụng thực tế
Tính nhất quán dữ liệu (Data Consistency) là việc đảm Ngân hàng:
Đồng bộ hóa giao dịch giữa các chi nhánh và máy ATM.
bảo dữ liệu giống nhau trên tất cả các bản sao hoặc
Thƣơng mại điện tử:
phân mảnh trong hệ thống cơ sở dữ liệu phân tán.
Đồng bộ hóa kho hàng và trạng thái đơn đặt hàng giữa các trung tâm dữ liệu. Mạng xã hội:
a. Vấn đề thƣờng gặp
Đồng bộ hóa bài đăng, lượt thích, và bình luận giữa các máy chủ trên toàn thế giới.
Xung đột dữ liệu: Xảy ra khi nhiều nút cập nhật Kết luận
cùng một dữ liệu mà không có sự đồng bộ.
Đồng bộ hóa dữ liệu là một phần quan trọng trong CSDLPT, giúp đảm bảo tính nhất
Truy cập không nhất quán: Người dùng có thể
quán và sẵn sàng của hệ thống. Lựa chọn chiến lược và giao thức phù hợp phụ thuộc
vào các yêu cầu cụ thể về hiệu suất và tính nhất quán của ứng dụng.
nhận được các kết quả khác nhau tùy thuộc vào bản
sao hoặc phân mảnh họ truy cập.
Độ trễ đồng bộ hóa: Sự chậm trễ trong việc cập
nhật dữ liệu trên các nút dẫn đến mất nhất quán tạm thời. 95 96 16
2.8. Các vấn đề về tính nhất quán dữ liệu
b. Cách giải quyết vấn đề
1. Giao thức đồng bộ hóa:
Câu hỏi cuối chương
Sử dụng các giao thức như Two
-Phase Commit (2PC) hoặc Three-Phase
Commit (3PC) để đảm bảo đồng bộ hóa.
1.Kiến trúc cơ bản của một CSDLPT
2. Mô hình nhất quán:
Nhất quán mạnh (Strong Consistency): Đảm bảo rằng tất cả các nút đều có
2.Giải thích và cho ví dụ về các loại trong suốt phân
dữ liệu giống nhau tại mọi thời điểm.
Nhất quán cuối cùng (Eventual Consistency): Đảm bảo rằng tất cả các nút tán
sẽ đồng bộ hóa dữ liệu sau một khoảng thời gian.
3.Các chiến lược đồng bộ hóa dữ liệu trong CSDLPT
3. Sao chép đồng bộ và bất đồng bộ:
Sao chép đồng bộ: Các nút cập nhật ngay lập tức, nhưng có thể chậm.
4.Các giao thức đồng bộ hóa dữ liệu trong CSDLPT
Sao chép bất đồng bộ: Cho phép cập nhật không đồng bộ, nhưng cần cơ
chế phát hiện và xử lý xung đột. 97 98
CHƢƠNG 3: THIẾT KẾ CSDL PHÂN TÁN NỘI DUNG
3.1 Nội dung thiết kế các hệ thống phân tán CHƢƠNG 3
3.2 Các chiến lƣợc phân tán dữ liệu
THIẾT KẾ CSDL PHÂN TÁN
3.3 Phƣơng pháp thiết kế CSDL phân tán
3.4 Phân mảnh dữ liệu MỤC ĐÍCH
PGS. TS. Nguyễn Mậu Hân
Cung cấp cho ngƣời lập trình ứng dụng các phƣơng Khoa CNTT-ĐHKH HUẾ
pháp thiết kế một cơ sở dữ liệu phân tán
nmhan@husc.edu.vn 100
CHƢƠNG 3: THIẾT KẾ CSDL PHÂN TÁN
3.1 Nội dung thiết kế một hệ thống phân tán Nhận xét: Yêu cầu:
• Có nhiều điểm tương đồng với việc thiết kế hệ
• Phải qua bước phân tích trước khi thiết kế. Các bước thống tập trung.
này phải độc lập với mọi giải pháp cài đặt
• Chọn những vị trí để cài đặt dữ liệu và các chương
• Điều khác nhau cơ bản là hệ thống được phân
trình trên mạng máy tính.
bố trên một số địa điểm khác nhau
• Đối với DBMS phân tán, việc phân tán các ứng dụng
• Tính khả thi, chu kỳ sống, tính mở, tính sẳn đòi hỏi hai điều: sàng,... 1. Phân tán DBMS
• Thiết kế phần cứng: máy trạm, máy chủ, mạng
2. Phân tán các chương trình ứng dụng chạy trên ,... DBMS đó. Cụ thể? 101 102 17
3.1 Nội dung thiết kế một hệ thống phân tán
3.1.1 Các công việc cần phải làm để thiết kế HT phân tán:
• Xác định kiến trúc mô hình phân tán tổng thể
• Định vị các địa phương cần phân tán, loại hình
phân tán sử dụng cho mỗi địa phương (toàn bộ, bản sao, lai,...).
• Tiến hành cân đối các yếu tố được phân tán bao
gồm các phần tử dữ liệu và các hoạt động xử lý trên mỗi trạm.
• Thiết kế cơ sở dữ liệu phân tán.
• Thiết kế các chương trình ứng dụng. 103 104
3.1 Nội dung thiết kế một hệ thống phân tán
3.1 Nội dung thiết kế một hệ thống phân tán
3.1.2 Các sản phẩm yêu cầu sau khi PTTK
3. Mô tả quá trình nghiệp vụ cho mỗi trạm
1. Mô tả các trạm
. Danh sách các xử lý (sơ đồ chức năng) ở các trạm . Thông tin địa lý . Mô tả các xử lý . Thiết bị vật lý
4. Các thỏa thuận về phương án kiến trúc hệ thống
cho mỗi trạm, cho nhu cầu về dữ liệu và xử lý của . Thông tin hạ tầng trạm đó
. Đặc trưng về con người (trình độ, kỹ năng,,...) . Topô mạng
2. Mô tả về sử dụng dữ liệu cho mỗi trạm
. Kiến trúc mạng, Hệ điều hành
. Các phần tử dữ liệu sử dụng từ hệ thống . cấu hình phân tán
. Các phần tử dữ liệu cần phải tạo ra
Chú ý: Việc định vị và phân tán dữ liệu ở các nút trong một
. Các phần tử dữ liệu cập nhật
mạng máy tính sẽ quyết định tính hiệu quả và đúng đắn của
. Các phần tử dữ liệu xóa hệ thống phân tán. 105 106
3.2 Các chiến lƣợc phân tán dữ liệu
3.2 Các chiến lƣợc phân tán dữ liệu
3.2.1 Tập trung dữ liệu:
Có 4 chiến lược phân tán dữ liệu:
Tất cả các dữ liệu được tập trung một chổ. Cách này đơn Tập trung dữ liệu
giản nhưng có 3 nhược điểm:
Chia nhỏ dữ liệu (phân hoạch dữ liệu)
• Dữ liệu không sẵn sàng cho người sử dụng truy nhập từ xa
Sao lặp dữ liệu (nhân bản dữ liệu)
• Chi phí truyền thông lớn, thường làm cực đại việc truy Phương thức lai
nhập dữ liệu tới nơi tập trung.
• Toàn bộ hệ thống ngừng khi cơ sở dữ liệu bị sự cố
3.2.2 Chia nhỏ dữ liệu:
• Cơ sở dữ liệu được chia thành các phần nhỏ liên kết nhau (không trùng lặp).
• Mỗi phần dữ liệu được đưa đến các trạm một cách thích hợp 107 để sử dụng. 108 18
3.2 Các chiến lƣợc phân tán dữ liệu
3.2 Các chiến lƣợc phân tán dữ liệu
3.2.3 Sao lặp dữ liệu:
3.2.4 Phƣơng thức lai:
• CSDL được nhân thành nhiều bản từng phần hoặc đầy
• Cơ sở dữ liệu được phân thành nhiều phần: quan
đủ và được đặt ở nhiều trạm trên mạng.
trọng và không quan trọng.
• Nếu bản sao của CSDL được lưu giữ tại mọi trạm của hệ
• Phần ít quan trọng được lưu giữ một nơi
thống ta có trường hợp sao lặp đầy đủ.
• Phần quan trọng được lưu trữ ở nhiều nơi khác. • Hiện
nay có nhiều kỹ thuật mới cho phép tạo bản sao
không đầy đủ phù hợp với yêu cầu dữ liệu ở mỗi trạm và
một bản đầy đủ được quản lý ở server.
• Sau một khoảng thời gian nhất định các bản sao được
làm đồng bộ với bản chính bằng một ứng dụng nào đó. 109 110
3.3 PHƢƠNG PHÁP THIẾT KẾ CSDL PHÂN TÁN
3.3 PHƢƠNG PHÁP THIẾT KẾ CSDL PHÂN TÁN 3.3.
1 Sơ đồ thiết kế
1. Thiết kế lược đồ quan hệ tổng thể:
Thiết kế lược đồ quan hệ tổng thể
tổng thể cơ sở dữ
• Thiết kế các quan hệ tổng thể liệu phân tán
• Mô tả toàn bộ dữ liệu sẽ được dùng trong hệ thống Hiện nay chưa có
2. Thiết kế phân đoạn: thực hiện chia nhỏ dữ liệu thành
Thiết kế phân đoạn một kỹ thuật cụ thể các phần. nào nói một cách chi
3. Thiết kế định vị các đoạn: tiết
• là quá trình thực hiện ánh xạ các đoạn vào các trạm việc thiết kế một
Thiết kế định vị các đoạn khác nhau CSDL phân tán. Tuy
(Tạo các ảnh vật lý)
• Tạo các ảnh vật lý tại các trạm. nhiên, một cách tổng
• Các đoạn dữ liệu được đưa vào các vị trí lưu trữ thích quát chúng ta có thể
hợp với yêu cầu hoạt động thực tế của hệ thống. thiết kế CSDL phân
Thiết kế CSDL vật lý
4. Thiết kế cơ sở dữ liệu vật lý: thiết kế dữ liệu vật lý cho tán theo các bước
các quan hệ tại các trạm sau:
Sơ đồ thiết kế tổng thể 111 112
3.3 PHƢƠNG PHÁP THIẾT KẾ CSDL PHÂN TÁN
3.3 PHƢƠNG PHÁP THIẾT KẾ CSDL PHÂN TÁN
a. Phƣơng pháp thiết kế từ trên xuống
• Thiết kế từ tổng thể đến riêng biệt
3.3.2 Các phƣơng pháp thiết kế CSDL phân tán
• Phân rã một hệ thống lớn thành các hệ thống con
Có 2 phương pháp thiết kế CSDL phân tán
• Phân tích các yêu cầu nhằm định nghĩa môi
• Phương pháp tiếp cận từ trên xuống (Top-Donw). trường hệ thống
• Phương pháp tiếp cận từ dưới lên (Bottom Up).
• Thu thập các yêu cầu về dữ liệu và nhu cầu xử lý
của các trạm có sử dụng CSDL. 113 114 19
3.3 PHƢƠNG PHÁP THIẾT KẾ CSDL PHÂN TÁN
3.3 PHƢƠNG PHÁP THIẾT KẾ CSDL PHÂN TÁN
• Thiết kế view: xây dựng khung nhìn dữ liệu cho
• Thiết kế phân tán: bao gồm hai phần:
người sử dụng ở các trạm.
+ Thiết kế phân đoạn
+ Thiết kế định vị
• Thiết kế mức quan niệm: là một tiến trình kiểm •
tra và xác định rõ hai nhóm quan hệ:
Thiết kế lược đồ quan niệm địa phương: tạo phân tích
ra các lược đồ mức quan niệm tại các địa
thực thể và phân tích chức năng. phương
+ Phân tích thực thể: xác định các tập thực thể,
các thuộc tính và các mối quan hệ giữa chúng.
• Thiết kế vật lý: thực hiện ánh xạ lược đồ mức
quan niệm tại các địa phương ra các đơn vị lưu
+ Phân tích chức năng: xác định các chức năng trữ vật lý
của hệ thống và đưa ra các chức năng cơ sở.
• Quan sát và kiểm tra: kiểm tra các giai đoạn
của quá trình thiết kế cơ sở dữ liệu 115 116
3.3 PHƢƠNG PHÁP THIẾT KẾ CSDL PHÂN TÁN
3.4 PHÂN MẢNH DỮ LIỆU
b. Phƣơng pháp thiết kế từ dƣới lên
0. Nhắc lại các phép toán đại số quan hệ và ngôn ngữ SQL Nhận xét
• Phương pháp thiết kế trên xuống thực sự có hiệu quả khi
1. Tại sao cần phải phân mảnh?
xây dựng một hệ thống mới.
• Trong thực tế, một số CSDL đã tồn tại trước, được tổ
2. Làm thế nào để thực hiện phân mảnh?
chức trong môi trường tập trung và CSDL phân tán được
phát triển bằng cách liên kết chúng lại thành một CSDL
3. Phân mảnh nên thực hiện đến mức độ nào?
mới thống nhất (Các DBMS địa phương khác nhau đã
4. Có cách gì kiểm tra tính đúng đắn của việc phân mảnh? được sử dụng)
Cách thiết kế
5. Việc cấp phát các mảnh dữ liệu như thế nào?
1. Chọn một mô hình dữ liệu chung để mô tả lược đồ tổng thể
6. Những thông tin nào sẽ cần thiết cho việc phân mảnh và
2. Chuyển mỗi lược đồ địa phương theo mô hình dữ liệu cấp phát? chung đã chọn
3. Tích hợp các lược đồ địa phương vào lược đồ tổng thể 117 118
I. ĐẠI SỐ QUAN HỆ
I. ĐẠI SỐ QUAN HỆ
I. CÁC PHÉP TOÁN TẬP HỢP
2. Phép giao (Intersection):
1. Phép hợp (Union):
Giao của hai quan hệ r và s có cùng một lược
Hợp của hai quan hệ r & s có cùng một lược đồ, ký hiệu
đồ, ký hiệu r s, được xác định như sau:
rs, được xác định như sau:
r s = {t | t r t s}
r s = {t | t r t s} Ví dụ: Ví dụ: r s r s r s r s MASV MAMH DIEMTHI MASV MAMH DIEMTHI MASV MAMH DIEMTHI MASV MAMH DIEMTHI MASV MAMH DIEMTHI MASV MAMH DIEMTHI 9001 CSDL 5 9002 CTDL 2 9001 CTDL 2 9001 CSDL 5 9002 CTDL 2 9002 CTDL 2 9002 CTDL 2 9001 TTNT 5 9002 TTNT 5 9002 CTDL 2 9001 TTNT 5 9003 MANG 8 9003 MANG 6 9003 MANG 6 9003 MANG 8 9003 MANG 6 9001 TTNT 5 9003 MANG 6 20