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ĩ)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ĩ)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ĩ)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ĩ)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ĩ)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ĩ)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ĩ)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ĩ)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ĩ)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ĩ)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ĩ)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ĩ)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ĩ)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ĩ)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ĩ)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ĩ)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ĩ)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ĩ)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ĩ)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ĩ)
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
- Xem thêm -