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

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 ... 1R 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 1R2
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ể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:
rs, đượ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