Tải bản đầy đủ (.pdf) (44 trang)

Nghiên cứu áp dụng mô hình đồng bộ trong cơ sở dữ liệu phân tán (LV thạc sĩ)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.24 MB, 44 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
---------------------------------------

TRẦN VĂN HIỂN

LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)

HÀ NỘI - 2016


HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
---------------------------------------

TRẦN VĂN HIỂN

NGHIÊN CỨU ÁP DỤNG MÔ HÌNH ĐỒNG BỘ
TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN
Chuyên ngành : KHOA HỌC MÁY TÍNH

Mã số:

60.48.01.01

LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. HÀ HẢI NAM

HÀ NỘI - 2016



1

LỜI CẢM ĐOAN
Tôi cam đoan đây là nghiên cứu riêng của tôi dưới sự hướng dẫn khoa học
của PGS.TS Hà Hải Nam.
Các số liệu và kết quả nêu trong luận văn là trung thực và chưa từng được ai
công bố trong bất kỳ công trình nào khác.
Tôi xin chịu trách nhiệm về công trình nghiên cứu của mình.

HỌC VIÊN

Trần Văn Hiển


2

DANH MỤC KÝ HIỆU CÁC CHỮ VIẾT TẮT
Viết tắt

Tiếng Anh

Tiếng Việt

CSDL

DataBase

Cơ sở dữ liệu

DDB


Distributed DataBase

Cơ sở dữ liệu phân tán

TCP

Transmission Control Protocol

Giao thức mạng

QGIS

Quantum Geographic

Phần mềm hệ thống

Information System

thông tin địa lý

TCLN

Tổng cục Lâm nghiệp

FRMS Web

Forest Resource Monitoring

Hệ thống giám sát tài


System

nguyên rừng

Business Intelligence and

Kinh doanh thông minh

Reporting Tools

và công cụ báo cáo

BIRT
ĐTKKR

Điều tra kiểm kê rừng

NFIS

National Forest Inventory

Hệ thống kiểm kê rừng

System

quốc gia

Module Quantum Geographic


Modul phần mềm hệ

Information System

thống thông tin địa lý

Module QGIS

PosgreSQL

Hệ quản trị CSDL

SOA

Service-Oriented Architecture

Kiến trúc định hướng
dịch vụ

SAN

Story Area Network


3

DANH MỤC CÁC BẢNG
Số liệu bảng

Tên bảng


Trang

Bảng 2.1

So sánh các phương pháp nhân bản

20

Bảng 3.1

Cấu hình đồng bộ cho các bảng

30

DANH MỤC CÁC HÌNH VẼ
Số liệu hình vẽ

Tên hình vẽ

Trang

Hình 1.1

Mô hình hệ cơ sở dữ liệu phân tán

10

Hình 1.2


Lược đồ quá trình thiết kế từ trên xuống

14

Hình 2.1

Phân mảnh ngang

21

Hình 2.2

Phân mảnh dọc

22

Hình 2.3

Mô hình triển khai đồng bộ

23

Hình 2.4

Phân mảnh hổn hợp

24

Hình 3.1


Kiến trúc khái niệm của Hệ thống theo dõi

26

diễn biến tài nguyên rừng
Hình 3.2

Mô hình triển khai SymmetricDS

28

Hình 3.3

Cơ chế hoạt động của Symmetricds

39


4

LỜI CẢM ƠN
Lời đầu tiên, tôi xin chân thành gửi cảm ơn đến PGS.TS Hà Hải Nam, người
đã trực tiếp hướng dẫn và giúp tôi hoàn thành luận văn. Với sự nhiệt tình và kiến
thức sâu rộng của thầy đã giúp tôi vượt qua những hạn chế về kiến thức chuyên
môn để tập trung hoàn thành tốt luận văn của mình.
Tôi xin chân thành cảm ơn Ban Giám đốc, Ban Chủ nhiệm Khoa sau Đại học
và các thầy, cô đã giảng dạy trong suốt thời gian tôi theo học tại Học viên Công
nghệ Bưu chính Viễn thông.
Tôi xin chân thành cảm ơn Hội đồng chấm đề cương đã có nhiều góp ý quý
báu cho đề cương luận văn ngay từ bước đầu hình thành ý tưởng xây dựng.

Cuối cùng, tôi xin cảm ơn cơ quan đã tạo điều kiện thuận lợi cho tôi trong
suốt quá trình học tập và nghiên cứu làm luận văn.
Xin chân thành cảm ơn!


5

MỤC LỤC
CHƯƠNG I ........................................................................................................................... 9
TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN .............................................................. 9
1.1

Giới thiệu về cơ sở dữ liệu phân tán ........................................................................ 9

1.1.
1 Các khái niệm về CSDL phân tán ........................................................................................... 9
1.1.2. Các lý do để sử dụng cơ sở dữ liệu phân tán? .............................................................................. 10

1.2. Các vấn đề cơ bản của cơ sở dữ liệu phân tán ............................................................ 11
1.2.1. Điều khiển tập trung ..................................................................................................................... 11
1.2.2. Độc lập dữ liệu ............................................................................................................................. 11
1.2.3. Giảm dư thừa dữ liệu .................................................................................................................... 12
1.2.4. Độ tin cậy qua các giao dịch phân tán .......................................................................................... 12
1.2.5. Cải thiện hiệu năng ....................................................................................................................... 12
1.2.6. Dễ dàng mở rộng hệ thống ........................................................................................................... 12
1.2.7. Tính toàn vẹn, phục hồi và điều khiển tương tranh ...................................................................... 12

1.3. Các vấn đề trong thiết kế hệ cơ sở dữ liệu phân tán ................................................... 13

CHƯƠNG II ........................................................................................................................ 16

VAI TRÒ CỦA ĐỒNG BỘ CƠ SỞ DỮ LIỆU PHÂN TÁN VÀ CÁC MÔ HÌNH ỨNG
DỤNG .................................................................................................................................. 16
2.1 Giới thiệu bài toán đồng bộ .......................................................................................... 16
2.2 Các mô hình đồng bộ cơ sở dữ liệu phân tán .............................................................. 17
2.2.1 Các vấn đề về phân mảnh dữ liệu .................................................................................................. 17
2.2.2. Lý do phân mảnh dữ liệu .............................................................................................................. 17
2.2.3. Các kiểu phân mảnh ..................................................................................................................... 18
2.2.4. Các quy tắc phân mảnh ................................................................................................................ 18
2.2.5. Các phương án phân phối ............................................................................................................. 19
2.2.6. Thông tin yêu cầu ......................................................................................................................... 20
2.2.7. Phân mảnh ngang ......................................................................................................................... 21
2.2.11. Phân mảnh hỗn hợp ................................................................................................................... 23

CHƯƠNG III ...................................................................................................................... 26
THỬ NGHIỆM VÀ ĐÁNH GIÁ ........................................................................................ 26
3.1. Kiến trúc đề xuất thử nghiệm ..................................................................................... 26
3.2. Các chức năng chính của Ứng dụng Desktop ............................................................. 26
3.3. Các chức năng chính của Ứng dụng Web ................................................................... 27
3.4. Các chức năng chính của hệ thống cơ sở dữ liệu trung tâm ........................................ 27
3.5. Máy chủ ..................................................................................................................... 27
3.6. Môi trường người dùng .............................................................................................. 27


6

3.7.

Đồng bộ dữ liệu trong ứng dụng Desktop ............................................................. 30

3.8.


Các kịch bản kiểm thử đồng bộ ............................................................................ 33

KẾT LUẬN .......................................................................................................................... 41
DANH MỤC CÁC TÀI LIỆU THAM KHẢO ................................................................... 42


7

MỞ ĐẦU
1. Tính cấp thiết của đề tài:
Với sự phát triển của ngành công nghệ thông tin, các giao dịch điện tử ngày
càng tăng về số lượng và đòi hỏi đảm bảo về chất lượng, đặc biệt trong các lĩnh vực
quan trọng như tài chính ngân hàng, chứng khoán, thương mại điện tử, đấu
giá...Việc xử lý thông tin của người dùng từ những dịch vụ trên phải đảm bảo thời
gian thực và không chấp nhận cho việc gián đoạn, có độ trễ cao hoặc thời gian chết.
Từ những yêu cầu thực tế, tính cấp thiết về một giải pháp đồng bộ dữ liệu. Các giải
pháp này phải đảm bảo đáp ứng yêu cầu của người dùng, của doanh nghiệp về mặt
kỹ thuật, dễ dàng triển khai và giá thành hợp lý.
Với mục đích, ý nghĩa nêu trên, tôi xin chọn Đề tài “Nghiên cứu áp dụng mô
hình đồng bộ trong cơ sở dữ liệu phân tán” để làm luận văn tốt nghiệp.
Nội dung của luận văn gồm có ba phần: Mở đầu, Nội dung và Kết luận. Trong
phần Nội dung có ba chương:
Chương 1: Tổng quan về cơ sở dữ liệu (CSDL) phân tán
Chương 2: Vai trò của đồng bộ cơ sở dữ liệu phân tán và các mô hình
Chương 3: Thử nghiệm và đánh giá
2. Mục đích nghiên cứu:
Nghiên cứu các mô hình đồng bộ cơ sở dữ liệu phân tán, từ đó đề xuất mô hình
áp dụng trong thực tiễn và tiến hành cài đặt, thử nghiệm và đánh giá.
3. Đối tượng và phạm vi nghiên cứu:

Luận văn tập trung vào nghiên cứu mô hình đồng bộ trong cơ sở dữ liệu phân
tán. Giới hạn trong phạm vi nghiên cứu mô hình đồng bộ cơ sở dữ liệu phân tán.
4. Phương pháp nghiên cứu:
Tìm hiểu về cơ sở dữ liệu phân tán, nghiên cứu mô hình đồng bộ cơ sở dữ liệu
phân tán về mặt lý thuyết kết hợp với thử nghiệm và đánh giá kết quả thông qua mô
hình thử nghiệm.


8

II. NỘI DUNG
Luận văn được cấu trúc với các chương như sau:
Chương I: Tổng quan về cơ sở dữ liệu phân tán
Chương I, trình bày các khái niệm về cơ sở dữ liệu phân tán, hệ quản trị cơ sở dữ
liệu phân tán, hệ cơ sở dữ liệu phân tán và lý do để sử dụng cơ sở dữ liệu phân tán.
Sau khi đưa ra các vấn đề cơ bản về cơ sở dữ liệu phân tán, chương I đã đưa ra các
vấn đề trong thiết kế hệ cơ sở dữ liệu phân tán.
Chương II: Vai trò của đồng bộ cơ sở dữ liệu phân tán và các mô hình ứng
dụng
Chương II, tập trung giới thiệu bài toán đồng bộ, các vấn đề liên quan đến phân
mảnh dữ liệu như phân mảnh ngang, phân mảnh dọc và đưa ra mô hình triển khai
đồng bộ dữ liệu.
Chương III: Thử nghiệm và đánh giá
Chương III, trình bày vào kiến trúc đề xuất để thử nghiệm, mô hình triển khai
SymmetricDS và các kịch bản kiểm thử đồng bộ. Trong luận văn mô tả Hệ thống
theo dõi diễn biến tài nguyên rừng tại Việt Nam.

III. KẾT LUẬN



9

CHƯƠNG I
TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN
1.1 Giới thiệu về cơ sở dữ liệu phân tán
1.1. 1 Các khái niệm về CSDL phân tán
Cơ sở dữ liệu phân tán là một tập hợp nhiều cơ sở dữ liệu có liên đới logic và
được phân bổ trên một mạng máy tính. Trong khái niệm này có hai thuật ngữ quan
trọng trong các định nghĩa này là “liên đới logic” và “phân bố trên một mạng máy
tính”.
- Liên đới logic: Toàn bộ dữ liệu của cơ sở dữ liệu phân tán có một số các
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
cơ sở dữ liệu phân tán với một tập hợp cơ sở dữ liệu cục bộ hoặc các tập tin lưu
trữ tại các vị trí khác nhau trong một mạng máy tính.
- Phân bổ trên một mạng máy tính: Toàn bộ dữ liệu của cơ sở dữ liệu phân tán
không được lưu trữ ở một nơi mà lưu trữ trên trạm thuộc mạng máy tính, điều này
giúp chúng ta phân biệt cơ sở dữ liệu phân tán và cơ sở dữ liệu tập trung đơn lẻ.
- Hệ quản trị cơ sở dữ liệu phân tán: Một hệ thống phần mềm cho phép quản
lý các hệ cơ sở dữ liệu phân tán và làm cho sự phân tán trở nên “trong suốt” đối
với người dùng.
- Hệ cơ sở dữ liệu phân tán: Được xây dựng dựa trên hai công nghệ cơ bản là
cơ sở dữ liệu và mạng máy tính. Một hệ cơ sở dữ liệu phân tán không phải là một
“tập hợp các tập tin” được lưu trữ riêng rẽ tại mỗi nút của một mạng máy tính. Để
tạo ra một hệ cơ sở dữ liệu phân tán các tập tin không chỉ có liên đới logic mà
chúng còn phải có cấu trúc và được truy xuất qua một giao diện chung.
- Hệ cơ sở dữ liệu phân tán thuần nhất: Các cơ sở dữ liệu cục bộ ở tất cả các
nơi (Site) đều dùng chung một hệ quản trị cơ sở dữ liệu.
- Hệ cơ sở dữ liệu phân tán không thuần nhất: Các cơ sở dữ liệu cục bộ ở các
nơi (Site) không dùng chung một hệ quản trị cơ sở dữ liệu.



10

Hình 1.1: Mô hình hệ cơ sở dữ liệu phân tán.
1.1.2. Các lý do để sử dụng cơ sở dữ liệu phân tán?
- Các tổ chức có cấu trúc phân tán: Trong thực tế có nhiều tổ chức được phân tán
khắp nơi, trong khi đó, dữ liệu quản lý ngày càng lớn và phục vụ cho đa người dùng
nằm phân tán, vì vậy cơ sở dữ liệu phân tán là con đường thích hợp với cấu trúc tự
nhiên của các tổ chức đó.
- Cần kết nối các cơ sở dữ liệu có sẵn: cơ sở dữ liệu phân tán là giải pháp tự nhiên
khi có các cơ sở dữ liệu đang tồn tại và sự cần thiết xây dựng một ứng dụng toàn
cục. Trong trường hợp này cơ sở dữ liệu phân tán được tạo theo tiến trình từ dưới
lên dựa trên nền tảng cơ sở dữ liệu đang tồn tại. Tiến trình này đòi hỏi phải tái cấu
trúc các cơ sở dữ liệu cục bộ ở một mức nhất định.
- Sự lớn mạnh của tổ chức: Các tổ chức có thể phát triển mở rộng bằng cách thành
lập thêm các đơn vị mới, vừa có tính tự trị, vừa có quan hệ với các đơn vị tổ chức
khác.
- Giảm chi phí truyền thông: Tăng ứng dụng cục bộ làm giảm chi phí truyền thông.
- Nâng cao hiệu suất: Có cơ chế xử lý song song và phân mảnh dữ liệu theo ứng
dụng làm cực đại hóa tính cục bộ của ứng dụng.


11

-Tăng độ tin cậy và tính sẵn sàng: Nếu có một thành phần nào đó của hệ thống bị
hỏng, hệ thống vẫn có thể duy trì hoạt động.

1.2. Các vấn đề cơ bản của cơ sở dữ liệu phân tán
Phần này so sánh cơ sở dữ liệu phân tán với cơ sở dữ liệu tập trung ở một số
đặc điểm: điều khiển tập trung, sự độc lập dữ liệu, sự giảm dư thừa dữ liệu, các cấu

trúc vật lý phức tạp để truy xuất hiệu quả.
1.2.1. Điều khiển tập trung
Toàn bộ dữ liệu được tập trung lại nhằm để tránh nhằm tránh sự dư thừa, đảm
bảo được tính độc lập của dữ liệu.
Dữ liệu được quản lý tập trung bởi người quản trị cơ sở dữ liệu. Chức năng cơ
bản là bảo đảm sự an toàn của dữ liệu. Vấn đề điều khiển tập trung không được
nhấn mạnh. Sự điều khiển được thực hiện theo một cấu trúc điều khiển phân cấp
bao gồm hai loại người quản trị cơ sở dữ liệu:
- Người quản trị Ccơ sở dữ liệu toàn cục;
- Người quản trị cơ sở dữ liệu địa phương – cục bộ.
Người quản trị cơ sở dữ liệu cục bộ cần phải có những quyền độc lập riêng về
cơ sở dữ liệu cục bộ của mình mà người quản trị cơ sở dữ liệu toàn cục hoàn toàn
không có quyền này. Đặc điểm này được gọi là sự độc lập vị trí. Từ sự độc lập vị
trí hoàn toàn đến sự điều khiển tập trung hoàn toàn.
1.2.2. Độc lập dữ liệu
Là tổ chức lưu trữ dữ liệu trong suốt đối với người lập trình ứng dụng.
Ưu điểm là các chương trình không bị ảnh hưởng bởi những thay đổi về tổ
chức lưu trữ vật lý của dữ liệu.
Tính đúng đắn của các chương trình ứng dụng không bị ảnh hưởng bởi sự di
chuyển dữ liệu từ một vị trí này đến vị trí khác.


12

1.2.3. Giảm dư thừa dữ liệu
Các cơ sở dữ liệu phân tán được dư thừa dữ liệu vì:
- Làm tăng tính cục bộ của các úng dụng. Các ứng dụng cục bộ được thực hiện
nhanh hơn, không cần phải truy xuất dữ liệu từ xa.
- Làm tăng tính sẵn sàng của hệ thống ứng dụng, nếu dữ liệu tại vị trí bị hỏng
được nhân bản tại các vị trí khác.

1.2.4. Độ tin cậy qua các giao dịch phân tán
Hệ cơ sở dữ liệu phân tán cải thiện độ tin cậy qua các giao dịch phân tán, vì
các thành phần được nhân bản hạn chế được các vị trí lỗi riêng lẻ. Lỗi của trạm
riêng hoặc lỗi của truyền thông làm cho một hoặc nhiều trạm mất liên lạc không
đủ để phá vỡ toàn bộ hệ thống.
1.2.5. Cải thiện hiệu năng
Việc cải thiện hiệu năng dựa vào hai điểm:
- Hệ quản trị cơ sở dữ liệu phân tán có khả năng phân mảnh cơ sở dữ liệu khái
niệm và cho phép cục bộ hóa dữ liệu;
- Tính song song của các hệ thống phân tán có thể được khai thác để thực hiện
song song truy vấn và nội bộ.
1.2.6. Dễ dàng mở rộng hệ thống
Thực hiện bằng cách tăng khả năng lưu trữ và xử lý của mạng. Khả năng mở
rộng của hệ thống dễ dàng mang tính kinh tế, giảm chi phí.
1.2.7. Tính toàn vẹn, phục hồi và điều khiển tương tranh
Các phương pháp cung cấp các giao tác. Mỗi một giao tác là một nguyên tố.
Giao tác nguyên tố là phương tiện để đạt được tính toàn vẹn dữ liệu.
Sự phục hồi liên quan đến vấn đề đảm bảo tính nguyên tố của giao tác khi có
sự cố về mặt kỷ thuật.


13

Điều khiển tương tranh nhằm đảm bảo tính nguyên tố của giao tác khi xuất
hiện sự tương tranh giao tác.

1.3. Các vấn đề trong thiết kế hệ cơ sở dữ liệu phân tán
Thiết kế một hệ cơ sở dữ liệu phân tán cần phải chọn những vị trí đặt dữ liệu
và các chương trình trên một mạng máy tính. Đối với hệ quản trị cơ sở dữ liệu phân
tán, việc phân tán các ứng dụng đòi hỏi hai điều:

- Phân tán hệ quản trị cơ sở dữ liệu;
- Phân tán các chương trình ứng dụng chạy trên hệ quản trị cơ sở dữ liệu đó.
Sự phân tán của các phần mềm hệ thống quản lý cơ sở dữ liệu phân tán tồn tại
trong từng trạm lưu trữ dữ liệu.
Chúng ta biết rằng tổ chức các hệ phân tán có thể được nghiên cứu theo ba
chiều trực giao:
1. Mức độ chia sẻ.
2. Hành vi của các thành phần truy nhập.
3. Mức độ kiến thức trong hành vi của thành phần truy nhập.
Về mức độ chia sẻ, có 3 khả năng:
Một là, không chia sẻ: Mỗi ứng dụng và dữ liệu của nó thực hiện trên một
trạm và không có sự giao tiếp với các chương trình khác hoặc truy cập tới bất kỳ
các file dữ liệu nào ở các trạm khác;
Hai là, chia sẻ dữ liệu: Tất cả các chương trình được lặp lại tất cả các trạm
nhưng các file dữ liệu thì không được chia sẻ;
Ba là, chia sẻ chương trình và dữ liệu: Cả dữ liệu và các chương trình đều có
thể được chia sẻ, có nghĩa là một chương trình ở một trạm đã cho có thể yêu cầu
một dịch vụ từ một chương trình khác ở một trạm thứ hai mà trong đó trạm thứ hai
có thể phải truy cập file dữ liệu nằm trong trạm thứ ba.
Về hành vi của các thành phần truy nhập xác định hai khả năng. Các thành
phần truy nhập của các yêu cầu người sử dụng có thể là tĩnh, nghĩa là chúng không
đổi theo thời gian hoặc là động.


14

Về mức độ kiến thức trong hành vi của thành phần truy nhập. Đây là một khả
năng về lý thuyết, nhưng rất khó, nếu không muốn nói là không thể, thiết kế một hệ
thống quản lý cơ sở dữ liệu phân tán mà có thể thích ứng một cách hiệu quả với
trường hợp này. Một khía cạnh thực tế hơn là các nhà thiết kế có thông tin đầy đủ,

nghĩa là các thành phần truy nhập có thể được dự đoán trước ở mức độ chấp nhận
được và không quá sai lệch so với những dự đoán này, và thông tin thành phần,
trong đó có những sai lệch so với dự đoán.
Vấn đề về thiết kế cơ sở dữ liệu phân tán cần phải được xem xét trong phạm vi
chung này. Tất cả các trường hợp được thảo luận ở trên, trừ các trường hợp trong
khả năng không chia sẻ, các vấn đề mới sẽ được đưa ra trong môi trường phân tán
mà không liên quan tới việc thiết lập tập trung.
Trong phần này, chúng ta thảo luận ngắn gọn hai phương pháp thiết kế cơ sở
dữ liệu phân tán: Phương pháp thiết kế từ trên xuống và từ dưới lên.
1.3.1 Quá trình thiết kế từ trên xuống (top-down)

Hình 1.2: Lược đồ quá trình thiết kế từ trên xuống.


15

Phân tích yêu cầu (khảo sát): Nhằm định nghĩa môi trường hệ thống và thu
thập các nhu cầu về dữ liệu và nhu cầu xử lý của tất cả mọi người có sử dụng cơ sở
dữ liệu.
Thiết kế khung nhìn: Định nghĩa các giao – diện cho người sử dụng cuối (enduser).
Thiết kế khái niệm: Xem xét tổng thể xí nghiệp nhằm xác định các loại thực
thể và mối liên hệ giữa các thực thể.
Thiết kế phân tán; chia các quan hệ thành nhiều quan hệ nhỏ hơn gọi là phân
mảnh và cấp phát chúng cho các vị trí.
Thiết kế vật lý: Ánh xạ lược đồ khái niệm cục bộ sang các thiết bị lưu trữ vật
lý có sẵn tại các vị trí tương ứng.
1.3.2 Quá trình thiết kế từ dưới lên (bottom-up)
Thiết kế từ trên xuống thích hợp với những cơ sở dữ liệu được thiết kế từ đầu.
Tuy nhiên, chúng ta cũng hay thường gặp trong thực tế là đã có sẵn một số cơ sở dữ
liệu, nhiệm vụ thiết kế là phải tích hợp chúng thành một cơ sở dữ liệu. Tiếp cận từ

dưới lên sẽ thích hợp cho tình huống này. Khởi điểm của thiết kế từ dưới lên là các
lược đồ khái niệm cục bộ. Quá trình này sẽ bao gồm việc tích hợp các lược đồ cục
bộ thành khái niệm lược đồ toàn cục.


16

CHƯƠNG II
VAI TRÒ CỦA ĐỒNG BỘ CƠ SỞ DỮ LIỆU PHÂN TÁN VÀ
CÁC MÔ HÌNH ỨNG DỤNG
2.1 Giới thiệu bài toán đồng bộ
Đồng bộ hóa dữ liệu là một quá trình của việc thiết lập sự thống nhất giữa các
hệ thống và cập nhật liên tục duy trì tính nhất quán trong hệ thống. Từ ‘liên tục’ cần
được nhấn mạnh ở đây là đồng bộ hóa dữ liệu không nên được xem là một nhiệm
vụ một lần. Nó thực sự là một quá trình mà cần phải được lên kế hoạch, sở hữu,
quản lý, lên kế hoạch và kiểm soát.
Có hai kịch bản đưa ra cho việc đồng bộ hóa dữ liệu đối với một doanh
nghiệp:
Một là, thường việc chia sẻ cùng một dữ liệu: Dữ liệu khách hàng, dữ liệu sản
phẩm, dữ liệu nhân viên, hệ thống hỗ trợ khách hàng, hệ thống thanh toán và hóa
đơn... Để đảm bảo cho quá trình sản xuất của công ty có thể kiểm tra, mỗi hoạt động
cần phải đăng nhập đúng. Mặc dù một số ứng dụng trên hệ thống sử dụng cùng dữ
liệu, các dữ liệu đó cần phải được đồng bộ với các hệ thống khác.
Hai là, với sự phát triển của Internet và gia tăng việc kinh doanh quốc tế,
nhiều doanh nghiệp lựa chọn để phân phối các hệ thống của họ về mặt địa lý nhằm
giảm độ trễ và chi phí của việc sử dụng mạng lưới và tăng độ tin cậy (giảm nguy cơ
như thiên tai...ảnh hưởng đến vị trí). Các hệ thống ở tất cả các điểm địa điểm cần
phải có một dữ liệu mặc dù dữ liệu tại mỗi địa điểm đó được sửa đổi nhưng dữ liệu
cần phải được đồng bộ trên tất cả các địa điểm.
Quá trình đồng bộ dữ liệu được theo dõi và đánh giá đáp ứng nhu cầu của

doanh nghiệp. Từ quan điểm kỹ thuật, việc đồng bộ hóa được thể hiện trên mọi cấp
độ:
Hệ thống/mức độ ứng dụng;
Mức độ tập tin (có thể bao gồm việc kiểm soát phiên bản);
Đồng bộ hóa mức ghi.
Quá trình đồng bộ hóa dữ liệu bao gồm 5 giai đoạn cơ bản:


17

Trích xuất dữ liệu từ các nguồn hệ thống/quản lý;
Truyền dữ liệu;
Chuyển đổi dữ liệu;
Truyền dữ liệu;
Tải dữ liệu vào hệ thống mục tiêu.
Trong trường hợp dữ liệu của hệ thống lớn, mỗi bước thực hiện có thể ảnh
hưởng đến hiệu suất của hệ thống. Do đó, sự đồng bộ cần phải được lên kế hoạch
cẩn thận để tránh bất kỳ tác động tiêu cực, ví dụ như trong giờ cao điểm xử lý. Để
đảm bảo hệ thống chạy ổn định và tránh sai sót, quá trình đồng bộ cần phải được
giám sát chặt chẽ, đảm bảo rằng trong quá trình đồng bộ dữ liệu không bị từ chối
hoặc bị thay đổi.

2.2 Các mô hình đồng bộ cơ sở dữ liệu phân tán
2.2.1 Các vấn đề về phân mảnh dữ liệu
Mục đích của việc phân mảnh dữ liệu là tạo ra các đơn vị cấp phát logic, sao
cho chi phí để thực hiện truy vấn thông tin là thấp nhất. Các bộ hoặc các thuộc tính
của quan hệ không thể được xem như một đơn vị cấp phát, vì sẽ làm cho việc cấp
phát trở nên phức tạp hơn. Thiết kế phân mảnh bằng cách nhóm một số bộ trong
trường hợp phân mảnh ngang hay nhóm các thuộc tính trong trường hợp phân mảnh
dọc có cùng đặc tính theo quan điểm cấp phát. Các mảnh hình thành bằng các

phương pháp phân mảnh tạo ra các đơn vị cấp phát dữ liệu khác nhau.

2.2.2. Lý do phân mảnh dữ liệu
Trong thiết kế cơ sở dữ liệu phân tán cần phải thực hiện phân mảnh dữ liệu vì:
- Trong các hệ quản trị cơ sở dữ liệu, các quan hệ được lưu trữ dưới dạng bảng
2 chiều. Các thao tác đối với cơ sở dữ liệu được thực hiện trên các bảng. Tuy nhiên
trong thực tế, các ứng dụng chỉ yêu cầu thao tác trên các tập con của các quan hệ là
khung nhìn dữ liệu của người sử dụng. Vì vậy, việc xem tập con của quan hệ là đơn
vị truy xuất thông tin để phân tán dữ liệu là hợp lý.


18

- Việc phân rã một quan hệ thành nhiều mảnh, mỗi mảnh được xử lý như một
đơn vị dữ liệu, sẽ cho phép thực hiện nhiều giao dịch đồng thời. Đồng thời, việc
phân mảnh các quan hệ cũng cho phép thực hiện song song một câu vấn tin bằng
cách chia nó thành một tập các câu vấn tin con hoạt tác trên các mảnh. Vì thế, việc
phân mảnh sẽ làm tăng mức độ hoạt động đồng thời và tăng lưu lượng hoạt động
của hệ thống.
Tuy nhiên, việc phân mảnh chỉ có ưu điểm hoàn toàn mà nó còn thể hiện một
số hạn chế nhất định, như:
- Nếu ứng dụng có những yêu cầu “xung đột” ngăn cản phân rã thành các
mảnh được sử dụng độc quyền.
- Những ứng dụng có các khung nhìn được định nghĩa trên nhiều mảnh khác
nhau sẽ làm giảm hiệu suất hoạt động của hệ thống, làm tăng chi phí truy xuất dữ
liệu đến các mảnh và tăng chi phí kết nối các mảnh.

2.2.3. Các kiểu phân mảnh
Các quan hệ cơ sở dữ liệu thường được biểu diễn dưới dạng bảng. Việc phân
mảnh một quan hệ thành nhiều quan hệ con khác nhau theo các cách khác nhau, sẽ

có các cách phân mảnh tương ứng.
Có 3 kiểu phân mảnh:
-

Phân mảnh ngang.

-

Phân mảnh dọc.

-

Phân mảnh hỗn hợp.

2.2.4. Các quy tắc phân mảnh
Nhưng quy tắc để đảm bảo cơ sở dữ liệu phân mảnh sẽ đảm bảo tính không
thay đổi về ngữ nghĩa, toàn vẹn dữ liệu và đảm bảo tính độc lập dữ liệu.
Có 3 quy tắc phải tuân thủ khi phân mảnh cơ sở dữ liệu quan hệ:
 Quy tắc 1: Tính đầy đủ
Quan hệ R được phân rã thành các mảnh R1, R2...Rn, thì mỗi mục dữ liệu có
trong quan hệ R sẽ được chứa trong ít nhất một mảnh Ri (i=1,....,n). Quy tắc này


19

đảm bảo cho các mục dữ liệu trong R được ánh xạ hoàn toàn vào các mảnh và
không bị mất. Mục dữ liệu có thể là toàn bộ trong phân mảnh ngang và thuộc tính
trong phân mảnh dọc.
 Quy tắc 2: Tính phục hồi
Nếu một quan hệ R được phân rã thành các mảnh R1, R2,......., Rn khi đó:

R=∇Ri, ∀Ri∈FR . Toán tử ∇ thay đổi tùy theo từng loại phân mảnh. Khả năng phục
hồi quan hệ từ các mảnh sẽ đảm bảo bảo toàn các phụ thuộc.
 Quy tắc 3: Tính tách biệt
Nếu các quan hệ R được phân rã ngang thành các mảnh Ri, i=1,....n và mục dữ
liệu di nằm trong một mảnh Ri thì nó sẽ không nằm trong mảnh Rk, (k#j). Quy tắc
này đảm bảo các mảnh phân rã rời nhau. Trong trường hợp phân mảnh dọc, khóa
chính của quan hệ phải được lập lại trong tất cả các mảnh. Vì thế tính tách biệt
trong phân mảnh dọc được hiểu không liên quan gì đến khóa chính của quan hệ.

2.2.5. Các phương án phân phối
Giả sử cơ sở dữ liệu được phân mảnh, người ta cần phải quyết định sự phân
phối các phân mảnh này tới các trạm khác nhau trên mạng. Khi dữ liệu được phân
phối, có thể không nhân bản hoặc có thể được nhân bản. Không nhân bản, thường
được gọi là cơ sở dữ liệu phân hoạch, các mảnh chỉ được phân phối trên các trạm và
không có bản sao nào trên mạng. Trong trường hợp nhân bản hoặc toàn bộ cơ sở dữ
liệu đều có ở trên tất cả các từng trạm (cơ sở dữ liệu được nhân bản đầy đủ), hoặc
các mảnh của cơ sở dữ liệu được phân tán tới các trạm bằng cách các mảnh sao
được đặt trên nhiều trạm (cơ sở dữ liệu được nhân bản từng phần). Một số các bản
sao của mảnh có thể là đầu vào cho thuật toán phân phối hoặc quyết định giá trị của
biến được xác đinh bởi thuật toán.
Nhân bản làm tăng độ tin cậy và tăng hiệu quả của các câu vấn tin chỉ đọc
(Read-only Query). Đặc biệt, có thể truy xuất cơ sở dữ liệu khi gặp sự cố. Hơn nữa,
các câu truy vấn đọc truy xuất đến cùng một mục dữ liệu có thể cho thực hiện song
song vì các bản sao có mặt tại nhiều vị trí.


20

Nhân bản hoàn


Nhân bản một

toàn

phần

Xử lý truy vấn

Dễ

Quản lý thư mục

Dễ hoặc không tồn

Phân hoạch

Cùng mức độ khó khăn

Cùng mức độ khó khăn

tại
Điều khiển đồng Vừa phải

Khó

Dễ

thời
Độ tin cậy


Rất cao

Cao

Thấp

Tính thực tế

Có thể áp dụng

Thực tế

Có thể áp dụng

Bảng 2.1: So sánh các phương pháp nhân bản.
Như hình 2.1 so sánh ba cách nhân bản theo một số chức năng của hệ quản trị
cơ sở dữ liệu phân tán.
Việc cấp phát dữ liệu phải được thực hiện sao cho thỏa mãn hai yêu cầu sau:
- Chi phí thấp nhất;
- Hiệu năng lớn nhất: Giảm thiểu thời gian đáp ứng và tăng tối đa lưu lượng hệ
thống tại mỗi vị trí.

2.2.6. Thông tin yêu cầu
Một khía cạnh của thiết kế phân tán là có quá nhiều nhân tố tạo thành một
thiết kế tối ưu. Tổ chức logic của cơ sở dữ liệu, vị trí của các ứng dụng, các tính
chất truy nhập của ứng dụng tới cơ sở dữ liệu, và các tính chất của hệ thống máy
tính tại từng trạm, tất cả đều có ảnh hưởng tới các quyết định phân phối. Điều này
làm nó trở nên rất phức tạp tạo thành một vấn đề phân phối. Thông tin cần cho thiết
kế phân tán có thể được chia làm 4 mục:
- Thông tin cơ sở dữ liệu.

- Thông tin ứng dụng.


21

- Thông tin mạng truyền thông.
- Thông tin hệ thống máy tính.
Yêu cầu thông tin về mạng và thông tin về hệ thống máy tính chỉ được sử
dụng trong các mô hình cấp phát, không sử dụng trong các thuật toán phân mảnh dữ
liệu.

2.2.7. Phân mảnh ngang
Phân mảnh ngang: Là cơ sở dữ liệu được phân hoạch thành các cơ sở dữ liệu
con, mỗi cơ sở dữ liệu còn là một tập hợp các bộ thỏa mãn một số tính chất nào đó
(cho trước).
Thực chất đây là việc chia quan hệ thành nhiều các nhóm bộ. Các quan hệ con
sẽ được tạo ra và số lượng phụ thuộc vào điều kiện ràng buộc của các thuộc tính và
các bộ trong các quan hệ con là tách biệt nhau.

Hình 2.1: Phân mảnh ngang.
Có hai loại phân mảnh ngang là:
- Phân mảnh nganh nguyên thủy: Là phân mảnh ngang được thực hiện trên các vị từ
của chính quan hệ đó.
- Phân mảnh ngang dẫn xuất: Là phân rã một quan hệ dựa trên các vị từ của quan hệ
khác.


22

2.2.8. Phân mảnh dọc

Là chia cơ sở dữ liệu thành các cơ sở dữ liệu con gồm một tập hợp các thuộc
tính cùng với các giá trị của chúng có trong tập các thuộc tính của cơ sở dữ liệu đã
cho. Thực chất phân mảnh dọc quan hệ R sinh ra các mảnh R1, R2..., Rr, sao cho
mỗi mảnh chứa một tập con các thuộc tính của quan hệ R và khóa của nó. Mục đích
của phân mảnh dọc là phân chia quan hệ R thành các quan hệ nhỏ hơn để có nhiều
ứng dụng có thể chỉ cần thực hiện trên một mảnh. Mảnh tối ưu là mảnh sinh ra một
lược đồ phân mảnh cho phép giảm tối thiểu thời gian thực hiện của ứng dụng trên
mảnh đó.

Mỗi
phân
mảnh chứa một
số thuộc tính
của quan hệ.
Có thể dùng
phép
chiếu
trong ĐSQH

Hình 2.2: Phân mảnh dọc
Kỹ thuật phân mảnh dọc phức tạo hơn so với kỹ thuật phân mảnh ngang vì số
lựa chọn phân hoạch rất lớn.

2.2.9. Đồng bộ phân mảnh ngang/dọc
Giả sử R là một quan hệ được phân mảnh thành các mảnh:


23

{ F1, F2......,Fi} i=1,.....n

Giả sử Fi được triển khai tại các vị trí Si; R được triển khai tại vị trí S0, T1 có
mô hình triển khai như sau:
R

S0

..........
F1

F2

Fi

Fn
N

Hình 2.3: Mô hình triển khai đồng bộ.
Các mô hình đồng bộ được phân loại như sau:
 Đồng bộ một chiều từ R

Fi: Mỗi khi có thay đổi dữ liệu tại R thì

các thay đổi đó phải được đồng bộ tới các mảnh Fk tại vị trí Sk tương
ứng.
 Đồng bộ một chiều từ Fi

R: Mỗi khi có thay đổi dữ liệu tại Fk, các

thay đổi này phải được đồng bộ tới R tại S0.
 Đồng bộ hai chiều R


Fi: Các thay đổi dữ liệu hiện tại K được

đồng bộ tới Fk và ngược lại.

2.2.11. Phân mảnh hỗn hợp
Trong đa số các trưởng hợp, phân mảnh ngang hoặc phân mảnh dọc đơn giản
cho một lược đồ cơ sở dữ liệu không đủ đáp ứng các yêu cầu từ ứng dụng. Trong
trường hợp đó phân mảnh dọc có thể thực hiện sau một số mảnh ngang hoặc ngược
lại, sinh ra một lối phân hoạch có cấu trúc cây. Bởi vậy, hai chiến lược này được áp
dụng lần lượt, chọn lựa này được gọi là phân mảnh hỗn hợp.


×