Chính vì những lý do trên, chúng ta cần phải nghiên cứu về cơ sở dữ liệu làm thế nào để phân tán dữliệu ra nhiều nơi dựa vào tần suất sử dụng và khoảng cách địa lý của các đối tượngkhai
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
NGUYỄN QUỐC VƯƠNG
NGHIÊN CỨU CƠ SỞ DỮ LIỆU PHÂN TÁN
VÀ ỨNG DỤNG THIẾT KẾ HỆ THỐNG BÁN
VÉ MÁY BAY
LUẬN VĂN THẠC SĨ KỸ THUẬT
Đà Nẵng - 2010
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
NGUYỄN QUỐC VƯƠNG
NGHIÊN CỨU CƠ SỞ DỮ LIỆU PHÂN TÁN
VÀ ỨNG DỤNG THIẾT KẾ HỆ THỐNG BÁN
VÉ MÁY BAY
Chuyên ngành: KHOA HỌC MÁY TÍNH
LUẬN VĂN THẠC SĨ KỸ THUẬT
Người hướng dẫn khoa học: PGS.TSKH Trần Quốc Chiến
Đà Nẵng - 2010
Trang 3Tôi xin cam đoan: LỜI CAM ĐOAN
1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của PGS.TSKH Trần Quốc Chiến.
2 Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng và trung thực tên tác giả, tên công trình, thời gian, địa điểm công bố.
3. Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm.
Tác giả
Nguyễn Quốc Vương
Trang 4MỤC LỤC
Trang
Lời cam đoan……… i
Mục lục……… ii
Danh mục các từ viết tắt……… vi
Danh mục các bảng biểu……….… vii
Danh mục các hình vẽ……… … viii
Mở đầu:……….… 1
CHƯƠNG 1 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN 4
1.1 Cơ sở dữ liệu phân tán 4
1.1.1.Định nghĩa 4
1.1.2 Các đặc trưng của cơ sở dữ liệu phân tán 5
1.2 Hệ quản trị cơ sở dữ liệu phân tán 6
1.2.1.Định nghĩa 6
1.2.2.Các thành phần của hệ quản trị cơ sở dữ liệu phân tán 6
1.3 So sánh cơ sở dữ liệu phân tán và cơ sở dữ liệu tập trung 7
1.3.1.Điều khiển tập trung 7
1.3.2.Độc lập dữ liệu 8
1.3.3 Giảm dư thừa dữ liệu 8
1.3.4.Biệt lập và bảo mật 9
1.4 Các hình thức tổ chức hệ thống phân tán 9
1.4.1.Mô hình Peer-to-peer 9
1.4.2.Mô hình File Server 10
1.4.3.Mô hình Client/Server 11
1.5 Các đặc trưng của các loại hình hệ thống phân tán 11
1.5.1 Đặc trưng của hệ thống File server và kiến trúc Client/Server 11
1.5.2.Các chức năng của kiến trúc Client/Server 12
1.5.2.1.Trình diễn thông tin phân tán 12
1.5.2.2.Trình diễn từ xa 13
Trang 51.5.2.3.Quản lý dữ liệu từ xa 13
1.5.2.4.Phân tán chức năng 14
1.6 Ưu và nhược điểm của hệ phân tán 14
1.7 Các loại truy xuất CSDL phân tán 15
1.7.1.Truy xuất từ xa thông qua các tác vụ cơ bản 15
1.7.2 Truy xuất từ xa thông qua chương trình phụ trợ 15
1.8 Các mức trong suốt của cơ sở dữ liệu phân tán 16
1.8.1.Kiến trúc cơ bản của một cơ sở dữ liệu phân tán 16
1.8.1.1.Sơ đồ tổng thể (Global Schema) 17
1.8.1.2.Sơ đồ phân đoạn (Fragment schema) 17
1.8.1.3.Sơ đồ định vị (Allocation schema) 18
1.8.1.4 Sơ đồ ánh xạ địa phương (Local mapping schema) 18
1.8.2.Các đặc điểm chính của hệ phân tán 20
1.8.2.1.Chia sẻ tài nguyên 20
1.8.2.2.Tính mở 20
1.8.2.3.K h ả năng song song 21
1.8.2.4.Khả năng mở rộng 21
1.8.2.5.Khả năng thứ lỗi 21
1.8.2.6.Đảm bảo tin cậy và nhất quán 22
1.8.3.Tính trong suốt phân tán 22
CHƯƠNG 2 THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN 26
2.1 Nội dung thiết kế một hệ thống phân tán 26
2.1.1.Các công việc cần phải làm để thiết kế hệ thống phân tán 26
2.1.2.Các sản phẩm yêu cầu sau khi phân tích thiết kế 27
2.2 Các chiến lược phân tán dữ liệu 27
2.2.1.Tập trung dữ liệu 27
2.2.2.Chia nhỏ dữ liệu 28
2.2.3.Sao lặp dữ liệu 28
2.2.4 Phương thức lai 28
Trang 62.3 Phương pháp thiết kế CSDL phân tán 28
2.3.1.Sơ đồ thiết kế tổng thể cơ sở dữ liệu phân tán 28
2.3.2 Các phương pháp thiết kế CSDL phân tán 29
2.3.2.1 Phương pháp thiết kế từ trên xuống (top- down) 29
2.3.2.2 Phương pháp thiết kế từ dưới lên (bottom - up) 32
2.4 Các vấn đề thiết kế phân tán 33
2.4.1.Các lý do phân mảnh 33
2.4.2.Các kiểu phân mảnh 34
2.4.3.Mức độ phân mảnh 34
2.4.4.Các quy tắc phân mảnh 35
2.4.5.Các kiểu cấp phát 36
2.4.6.Các yêu cầu thông tin 37
2.5 Phương pháp phân mảnh 37
2.5.1.Phân mảnh ngang 38
2.5.1.1.Phân mảnh ngang nguyên thủy 40
2.5.1.2.Phân mảnh ngang dẫn xuất 40
2.5.2.Phân mảnh dọc 41
2.5.3.Phân mảnh hỗn hợp 42
2.6 Cấp phát 43
2.6.1.Bài toán cấp phát 43
2.6.2.Yêu cầu về t h ô n g tin 45
2.6.3.Mô hình cấp phát 47
CHƯƠNG 3 THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN CHO HỆ THỐNG BÁN VÉ MÁY BAY VÀ TRIỂN KHAI ỨNG DỤNG 51
3.1 Phát biểu bài toán 51
3.2 Phân tích hệ thống thông tin 51
3.2.1.Mức ra quyết định 52
3.2.2.Mức trung gian (mức xử lý, trung chuyển thông tin) 53
3.2.3.Mức tác nghiệp (mức thực hiện) 53
Trang 73.3 Phân tích chức năng 53
3.3.1.Phân hệ quản lý chuyến bay 53
3.3.2.Phân hệ quản lý vé 54
3.3.3.Phân hệ quản lý đại lý 54
3.3.4.Phân hệ quản lý hành khách 54
3.4 Phân tích thực thể 54
3.5 Thiết kế cơ sở dữ liệu phân tán cho hệ thống bán vé máy bay 57
3.5.1.Thiết kế sơ đồ tổng thể của hệ thống 57
3.5.2.Thiết kế phân mảnh 58
3.5.3.Thiết kế định vị 61
3.5.4 Thiết kế sơ đồ ánh xạ địa phương 62
3.5.5.Thiết kế vật lý tại các trạm 62
3.6 Quản trị cơ sở dữ liệu phân tán cho hệ thống bán vé máy bay 67
3.6.1.Xây dựng hệ thống mạng cho hệ thống 67
3.6.2.Khả năng quản trị cơ sở dữ liệu phân tán của Oracle 69
3.6.2.1.Quản lý tên cơ sở dữ liệu toàn cục trong cơ sở dữ liệu phân tán 69
3.6.2.2.Tạo các liên kết cơ sở dữ liệu trong hệ thống CSDL phân tán 69
3.6.2.3.Giải quyết vấn đề trong suốt vị trí trong ORACLE 72
3.6.2.4.Bản sao trong cơ sở dữ liệu phân tán của Oracle 80
3.7 Triển khai ứng dụng 83
3.7.1 Cài đặt chương trình 83
3.7.2.Đánh giá kết quả 84
KẾT LUẬN 85
TÀI LIỆU THAM KHẢO 87
Trang 8DANH MỤC CÁC TỪ VIẾT TẮT
Tiếng anh
DBMS Database Management System
DDBMS Distributed database management system
SQL Structured Query Language
CPU Central Processing Unit
Tiếng việt
Trang 9DANH MỤC CÁC BẢNG BIỂU
Số hiệu
1.1 Đặc trưng của File Server và Client/Server 121.2 Trình diễn thông tin phân tán ở Client và Server 12
1.4 Quản lý dữ liệu từ ở Client và Server 131.5 Phân tán chức năng ở Client và Server 143.1 Bảng phân tích tần suất và nhu cầu khai thác dữ liệu 583.2 Danh mục các bảng dữ liệu của hệ thống bán vé máy bay 63
Trang 101.6 Sơ đồ truy xuất từ xa thông qua các tác vụ cơ bản 151.7 Sơ đồ truy xuất từ xa thông qua chương trình phụ trợ 16
1.9 Các đoạn và hình ảnh vật lý của một quan hệ tổng thể 19
3.7 Giao diện thao tác với người sử dụng cuối trên Internet 84
Trang 11MỞ ĐẦU
Trong thời đại của xã hội công nghệ thông tin và nền kinh tế tri thức, mọi hoạtđộng của các tổ chức muốn đạt hiệu quả cao, giành được thắng lợi trong thế cạnhtranh gay gắt thì nhất thiết phải có những phương pháp để có được những thông tin,tri thức cần thiết một cách nhanh và chính xác nhất
Đối với các hệ thống lớn thì vấn đề xử lý thông tin nhanh cho kết quả chínhxác là vấn đề được quan tâm Quá trình xử lý thông tin trong các hệ thống lớn hoạtđộng trên hệ thống mạng, để tăng tốc độ xử lý thì không những xây dựng hạ tầngmạng có đường truyền lớn, mà chúng ta cần phải nghĩ đến việc phân tán dữ liệu nhưthế nào trong hệ thống bởi vì nó quyết rất lớn đến kết quả xử lý thông tin Do vậyvới cùng một hạ tầng mạng có tốc độ đường truyền như nhau nếu hệ thống đặt cơ sơ
dữ liệu phân tán thành nhiều nơi thì quá trình xử lý thông tin cho kết quả nhanh hơnquá trình xử lý thông tin mà hệ thống đặt cơ sở dữ liệu tại một nơi Chính vì những
lý do trên, chúng ta cần phải nghiên cứu về cơ sở dữ liệu làm thế nào để phân tán dữliệu ra nhiều nơi dựa vào tần suất sử dụng và khoảng cách địa lý của các đối tượngkhai thác dữ liệu để hệ thống xử lý thông tin cho kết quả nhanh đáp ứng được sựchờ đợi của người sử dụng
Trong thời gian qua Tôi đã nghiên cứu các hệ thống, đặc biệt là hệ thống bán
vé máy bay đây là hệ thống lớn vì có đối tượng sử dụng rộng, do vậy vấn đề phântán cơ sở dữ liệu là vấn đề cấp bách cần được nghiên cứu và triển khai
Từ những lý do trên cùng với thời gian tìm hiểu về hệ thống bán vé máy baycủa hãng hàng không Việt nam Airlines khi khách hàng xem thông tin về chuyếnbay cũng như mua vé thì phải chờ đợi hệ thống xử lý rất lâu và thường xảy ra nghẽnmạng
Xuất phát từ ý tưởng là muốn tìm hiểu về cơ sở dữ liệu phân tán làm cơ sở lýthuyết để xây dựng một hệ thống bán vé máy bay phục vụ cho việc xem thông tin
về chuyến bay cũng như việc mua vé của hành khách một cách thuận lợi và cho kết
Trang 12quả nhanh nhất Đó là lý do mà tôi chọn đề tài này
Mục tiêu mà đề tài hướng đến là trình bày được tổng quan về cơ sở dữ liệuphân tán, thiết kế phân cơ sở dữ liệu phân tán đặc biệt ứng dụng được thiết kế sơ sở
dữ liệu phân tán cho hệ thống bán vé máy bay và triển khai ứng dụng trên hệ thốngmạng Để đáp ứng được mục tiêu đặt ra, thì đề tài cần giải quyết những vấn đềchính sau: tìm hiểu về lý thuyết cơ sở dữ liệu phân tán, thiết kế cơ sở dữ liệu phântán; thu thập thông tin và nghiên cứu quy trình hoạt động của hệ thống bán vé máybay của hãng hàng không Việt Nam Airlines để phân tích thiết kế hệ thống; thiết kế
cơ sở dữ liệu phân tán cho hệ thống, nghiên cứu công cụ để quản trị cơ sở dữ liệuphân tán, nghiên cứu các công cụ để thiết kế giao diện và triển khai được trên môitrường mạng phục vụ cho nhiều đối tượng sử dụng của hệ thống một cách hiệu quảnhất
Đối tượng nghiên cứu của đề tài gồm: Nghiên cứu về cơ sở dữ liệu phân tán;thiết kế cơ sở dữ liệu phân tán như: các vấn đề về thiết kế phân tán, các phươngpháp thiết kế phân tán, phương pháp phân mảnh, cấp phát cho các mảnh, … Tìmhiểu hệ thống bán vé máy bay của hãng hàng không Việt Nam Airlines Ứng dụng
lý thuyết thiết kế cơ sở dữ liệu phân tán vào hệ thống Ứng dụng khả năng quản trị
cơ sở dữ liệu phân tán của Oracle vào hệ thống
Để thực hiện được mục tiêu và nhiệm vụ đặt ra trong đề tài này, tôi áp dụng haiphương pháp nghiên cứu đó là: phương pháp nghiên cứu lý thuyết và phương phápnghiên cứu thực nghiệm Đối với phương pháp nghiên cứu lý thuyết: Tôi tiến hànhnghiên cứu và thu thập các tài liệu liên quan đến cơ sở dữ liệu phân tán, thiết kế cơ
sở dữ liệu phân tán, các công cụ có thể triển khai quản trị cơ sở dữ liệu phân tán,các công cụ thiết kế giao diện chạy được trên hệ thống mạng Tiếp đến Tôi thu thậpcác tài liệu liên quan đến các hệ thống bán vé máy bay tại Việt Nam Đối vớiphương pháp nghiên cứu thực nghiệm: Tôi phân tích yêu cầu thực tế của hệ thống
và để xác định được các chức năng, quy trình hoạt động của hệ thống Tiếp theo vậndụng các cơ sở lý thuyết liên quan như cơ sở dữ liệu phân tán, thiết kế cơ sở dữ liệu
Trang 13Với những mục tiêu nhiệm vụ và ý nghĩa đã được nêu ra ở trên, tôi đặt tên cho
sở dữ liệu phân tán cho hệ thống bán vé máy bay; trình bày công cụ quản trị cơ sở
dữ liệu phân tán, công cụ thiết kế giao diện triển khai được trên hệ thống mạng
Trang 14CHƯƠNG 1 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN
Trong chương này Tôi sẽ trình bày những vấn đề liên quan đến cơ sở dữ liệuphân tán Nội dung của chương bao gồm giới thiệu cơ sở dữ liệu phân tán, hệ quảntrị cơ sở dữ liệu phân tán, các đặc trưng của cơ sở dữ liệu phân tán, so sánh cơ sở dữliệu phân tán với cơ sở dữ liệu tập trung, các hình thức tổ chức hệ thống phân tán,các đặc trưng của các loại hình hệ thống phân tán, ưu điểm, nhược điểm, các loạitruy xuất, các mức trong suốt của cơ sở dữ liệu phân tán
1.1.Cơ sở dữ liệu phân tán
1.1.1 Định nghĩa
Cơ sở dữ liệu (CSDL) phân tán là một tập hợp nhiều cơ sở dữ liệu có liên quanlogic và được phân bố trên một mạng máy tính
Trong cơ sở dữ liệu phân tán có hai vấn đề quan trọng và tương đương nhau là:
Việc phân tán: Trong thực tế dữ liệu không đặt trên cùng một vị trí vì vậy đây
là đặc điểm để phân biệt cơ sở dữ liệu phân tán với cơ sở dữ liệu tập trung
Liên quan logic: Trong cơ sở dữ liệu phân tán dữ liệu có một số đặc tính liên
kết chặt chẽ với nhau như tính kết nối, tính liên quan logic Trong cơ sở dữ liệuphân tán mỗi vị trí chỉ quản lý một cơ sở dữ liệu và người sử dụng phải truy cập đến
cơ sở dữ liệu ở những vị trí khác để lấy thông tin tổng hợp
Trang 151.1.2 Các đặc trưng của cơ sở dữ liệu phân tán
Đặc tính vô hình là sự tách biệt về ngữ nghĩa ở mức độ cao của hệ thống với
các vấn đề cài đặt ở cấp độ thấp Ưu điểm của hệ cơ sở dữ liệu vô hình là không chongười dùng “nhìn thấy” các chi tiết cài đặt, hỗ trợ phát triển cho các ứng dụng phứctạp
Độc lập dữ liệu là dạng vô hình cơ bản cần có trong một hệ cơ sở dữ liệu Sự
độc lập dữ liệu liên quan đến khả năng “miễn nhiễm” của các ứng dụng đối vớinhững thay đổi trong định nghĩa, tổ chức dữ liệu và ngược lại
Vô hình kết mạng: Trong môi trường phân tán, hệ thống mạng là một loại tài
nguyên quan trọng cần quản lý Thông thường, người dùng cần được tách khỏi mọichi tiết hoạt động của mạng, thậm chí người ta mong muốn che dấu sự tồn tại củamạng nếu được Khi đó đối với người dùng sẽ không thấy sự khác biệt giữa các ứngdụng chạy trên cơ sở dữ liệu tập trung và các ứng dụng chạy trên cơ sở dữ liệu phân
tán Kiểu vô hình này gọi là vô hình kết mạng (network transparency) hoặc vô hình phân bổ (distribution transparency).
Vô hình nhân bản: Vì những lý do về hiệu năng (performance), độ tin cậy
(reliability) và tính sẵn sàng (availability), người ta mong muốn có thể nhân dữ liệuthành nhiều bản (nhân bản) trên các máy mạng Việc nhân bản giúp tăng hiệu năng
vì những yêu cầu sử dụng có xung đột và nằm rải rác có thể đáp ứng kịp thời Ví dụ,
dữ liệu thường được một người truy xuất có thể được đặt tại máy của người đó vàtrên máy của những người khác có cùng nhu cầu truy xuất, như thế sẽ làm tăng khuvực truy xuất Ngoài ra nếu một máy phải ngưng hoạt động, một bản sao khác của
dữ liệu vẫn có sẵn trên máy khác của mạng Tuy nhiên việc nhân bản sẽ gây khókhăn khi cập nhật cơ sở dữ liệu Vì vậy việc nhân bản và qui mô nhân bản do cácứng dụng quyết định
Vô hình phân mảnh: Phân hoạch dữ liệu cho các vị trí khác nhau là yêu cầu tất yếu của hệ phân tán, quá trình này gọi là quá trình phân mảnh (fragmentation) Có hai kiểu phân mảnh: Phân mảnh ngang (horizontal fragmentation), trong đó mỗi
Trang 16quan hệ được phân hoạch thành tập các quan hệ con, mỗi quan hệ con này chứa một
tập con các bộ của quan hệ ban đầu Phân mảnh dọc (vertical fragmentation), trong
đó mỗi quan hệ được phân hoạch thành tập các quan hệ con, mỗi quan hệ con nàyđược định nghĩa trên một tập con các thuộc tính của quan hệ ban đầu
Khi các đối tượng cơ sở dữ liệu bị phân mảnh, chiến lược xử lý vấn tin là dựa
trên các mảnh chứ không phải quan hệ Như vậy câu vấn tin toàn cục (global query) phải được dịch thành câu vấn tin theo mảnh (fragment query) [1].
1.2 Hệ quản trị cơ sở dữ liệu phân tán
1.2.1 Định nghĩa
Hệ quản trị cơ sở dữ liệu phân tán (Distributed database management system DDBMS) là một hệ thống phần mềm cho phép quản lý các hệ cơ sở dữ liệu phântán và làm cho việc phân tán trở nên vô hình đối với người sử dụng
-1.2.2 Các thành phần của hệ quản trị cơ sở dữ liệu phân tán
Trong một hệ quản trị cơ sở dữ liệu phân tán thương mại phải có các thànhphần sau:
Phần quản trị dữ liệu ( Database management – DB)
Phần truyền thông dữ liệu (Data Communication – DC)
Phần 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
Phần cơ sở dữ liệu phân tán (Distributed Database - DDB)
Trang 17e 1
Sit
e 2
7
DDBDD
Hình 1.2 Các thành phần của một DDBMS thương mại
1.3 So sánh cơ sở dữ liệu phân tán và cơ sở dữ liệu tập trung
Nhận xét: CSDL phân tán không đơn giản là những sự thực hiện phân tán củaCSDL tập trung, bởi vì chúng cho phép thiết kế các đặc trưng khác với CSDL tậptrung truyền thống
Các đặc điểm tiêu biểu của CSDL truyền thống gồm: Điều khiển tập trung,độc lập dữ liệu, giảm dư thừa dữ liệu, biệt lập và bảo mật dữ liệu [3]
1.3.1 Điều khiển tập trung
Trong CSDL tập trung: Khả năng điều khiển tập trung trên toàn nguồn tàinguyên thông tin của tổ chức, được xem là động cơ mạnh nhất cho việc ra đờiCSDL Chúng được phát triển như là sự tiến hoá của hệ thống thông tin mà trong đómỗi ứng dụng có các tập tin riêng của nó
Trong CSDL phân tán: Ý niệm về điều khiển tập trung ít được nhấn mạnh
Local Database 1
Local Database 2
Trang 188hơn, điều này phụ thuộc vào kiến trúc của CSDL phân tán.
Trang 19Một cách tổng quát, CSDL phân tán được điều khiển với cấu trúc phân lớpdựa vào một hệ quản trị CSDL toàn cục (có trách nhiệm trên toàn bộ CSDL phântán) và hệ quản trị CSDL địa phương (có trách nhiệm với CSDL địa phương riêng).Điều này cho thấy rằng hệ quản trị CSDL địa phương có thể có một mức tự trị cao.Các CSDL phân tán có thể rất khác nhau về mức độ tự trị: từ hoàn toàn tự trị, không
có bất cứ một hệ quản trị CSDL tập trung nào, đến hầu như hoàn toàn điều khiểntập trung
1.3.2 Độc lập dữ liệu
Độc lập dữ liệu cũng là một trong những động lực cho việc mở đầu sự tiếp cận
dữ liệu phân tán Thuận lợi chính của độc lập dữ liệu là các chương trình không bịảnh hưởng bởi sự thay đổi trong cấu trúc vật lý của dữ liệu
Trong CSDL phân tán, độc lập dữ liệu cũng quan trọng giống như trong CSDLtruyền thống Tuy nhiên, một khía cạnh mới được thêm vào trong ý niệm của độc
lập dữ liệu là trong suốt phân tán.
Với trong suốt phân tán chúng ta hiểu rằng các chương trình ứng dụng có thể
sử dụng CSDL như là nó không được tổ chức phân tán Vì thế sự chính xác củachương trình không bị ảnh hưởng bởi việc dịch chuyển dữ liệu từ trạm này đến trạmkhác, tuy nhiên tốc độ thực hiện của chúng bị ảnh hưởng
1.3.3 Giảm dư thừa dữ liệu
Trong CSDL truyền thống, dữ liệu dư thừa được giảm đến mức tối thiểu bởi
hai lý do:
Sự không tương thích giữa nhiều bản sao của cùng một tập dữ liệu
Tiết kiệm không gian lưu trữ bằng cách loại bỏ các dư thừa Việc giảm dưthừa dữ liệu có thể đạt được bằng cách chia sẻ dữ liệu cho phép nhiều ứng dụng truycập cùng các bản tin và bản ghi
Trong CSDL phân tán, việc giảm dư thừa phức tạp hơn vì ngoài hai lý do trên
còn nhiều lý do để giảm dư thừa như:
Trang 20Vấn đề bảo mật là bản chất trong hệ phân tán nói chung, vì các mạng truyềnthông diện rộng cho phép nhiều người cập nhật và khai thác dữ liệu nên cần đượcbảo vệ.
Đây là mô hình mạng đơn giản, phù hợp với những hệ thống mạng nhỏ không
có yêu cầu cao về bảo mật
Trang 21Hình 1.3 Mô hình Peer-to-peer
1.4.2 Mô hình File Server
File server một số máy dịch vụ file được gán trực tiếp vào mạng LAN
File server là một thiết bị quản lý các hoạt động file và phục vụ các máy tính
cá nhân được kết nối trong mạng LAN
Mỗi máy cá nhân được phân chia một dung lượng cố định trên ổ cứng của Fileserver, chương trình ở các máy tính cá nhân có thể tham chiếu đến các file trên phầnđĩa tương ứng của nó bằng một đặc tả đường dẫn
Những hạn chế của File server như: Dữ liệu di chuyển trên mạng quá nhiều, việc kiểm soát dữ liệu là phi tập trung, các máy trạm phải đủ mạnh
Hình 1.4 Mô hình File Server
Trang 221.4.3 Mô hình Client/Server
Một số máy dịch vụ file được gán trực tiếp vào mạng LAN:
Server có chức năng điều khiển, lưu trữ CSDL, xử lý các truy vấn và quản lýviệc khai thác tài nguyên trên mạng của các máy tính khác
Thuật ngữ client được sử dụng để chỉ người khai thác tài nguyên mạng
Hình 1.5 Mô hình Client Server
1.5.Các đặc trưng của các loại hình hệ thống phân tán
Việc chuyển các ứng dụng trên máy tính cá nhân cũng như các ứng dụng trêncác hệ thống máy lớn trung tâm sang mô hình phân tán là một xu hướng phát triểnmạnh
Vấn đề đặt ra là cần lựa chọn hình thức phân tán thích hợp nào cho mỗi môhình được chuyển đổi [3]
1.5.1 Đặc trưng của hệ thống File server và kiến trúc Client/Server
sau:
Đặc trưng của hệ thống File server và kiến trúc Client/Server được so sánh như
Trang 23Bảng 1.1 Đặc trưng của File Server và Client/Server
chủTruy nhập dữ liệu
đồng thời
Thấp, mỗi máy khách
An toàn và toàn
vẹn CSDL Thấp, máy khách quản lý Cao, Server đảm nhiệm
Sử dụng mạng File lớn, chuyển cả file Truyền dữ liệu nhiều
mứcBảo trì phần mềm Thấp, chỉ ở máy Server
Hỗn hợp một số phần mềm có thể gửi đến máy khách
Ghép nối máy khách và Server để có thể phối hợp
1.5.2 Các chức năng của kiến trúc Client/Server
1.5.2.1 Trình diễn thông tin phân tán
Mục đích: Làm mới các ứng dụng trên các máy khách và để định dạng lại dữ liệu do server quản lý
Bảng 1.2 Trình diễn thông tin phân tán ở Client và Server
Trang 24Chức năng Client Server
Trình diễn dữ liệu
Dữ liệu trình diễn trên server được định dạng đểtrình diễn cho các clients
Sử dụng công nghệ trìnhdiễn của server để gửi dữliệu gửi cho các clients
Bảng 1.3 Trình diễn từ xa ở Client và Server
Trình diễn dữ liệu
Dữ liệu phân tích trênserver được định dạng đểtrình diễn cho người dùng
1.5.2.3 Quản lý dữ liệu từ xa
Mục đích: Giúp client phân tích được dữ liệu thô lấy từ Server
Bảng 1.4 Quản lý dữ liệu từ ở Client và Server
Phân tích dữ liệu Dữ liệu thô được lấy từ server và được phân tích
Trình diễn dữ liệu Trình diễn tất cả dữ liệu
Trang 251.5.2.4 Phân tán chức năng
Các chức năng phân tán được đặt trên cả máy khách lẫn máy chủ
Toàn bộ chức năng trình diễn dữ liệu được đặt trên máy khách và toàn bộ chức năng quản lý dữ liệu được đặt trên máy chủ
Bảng 1.5 Phân tán chức năng ở Client và Server
Đá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à CSDL mà khô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ự dư thừa dữ liệu
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
Trang 26Đá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.7.Các loại truy xuất CSDL phân tán
1.7.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ầunà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ệnxong sẽ gửi kết quả về [3]
Hình 1.6 Sơ đồ truy xuất từ xa thông qua các tác vụ cơ bản
1.7.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ợ đặt tại vị trí từ xa.Chương trình phụ trợ này sẽ truy xuất CSDL từ xa và trả lại kết quả cho ứng dụngđang yêu cầu [3]
Trang 27Hình 1.7 Sơ đồ truy xuất từ xa thông qua chương trình phụ trợ
1.8.Các mức trong suốt của cơ sở dữ liệu phân tán
1.8.1 Kiến trúc cơ bản của một cơ sở dữ liệu phân tán
Trong hệ CSDL phân tán những người thiết kế hệ thống đã xây dựng lên một
hệ các phần mềm phục vụ yêu cầu người dùng trên CSDL đã có sẵn Hình 1.8.Trình bày kiến trúc cơ bản của cơ sở dữ liệu phân tán Tất nhiên kiến trúc nàykhông biểu diễn tường minh cho mọi hệ cơ sở dữ liệu phân tán Các mức của cơ sở
dữ liệu phân tán được trình bày mang tính khái niệm thích hợp để dễ hiểu về tổchức của các cơ sở dữ liệu phân tán nói chung
Trang 28Sơ đồ tổng thể (Global Schema)
Sơ đồ phân đoạn (Fragmentation Schema)
Sơ đồ định vị (Allocation Schema)
Các Sơ đồđộc lập vịtrí
Hình 1.8 Kiến trúc cơ bản của CSDL phân tán
1.8.1.1 Sơ đồ tổng thể (Global Schema)
Xác định tất cả các dữ liệu sẽ được lưu trữ trong cơ 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
Sơ đồ tổng thể được định nghĩa theo cách như trong CSDL tập trung
Trong mô hình quan hệ, sơ đồ tổng thể bao gồm định nghĩa của tập các quan
hệ tổng thể (Global relation)
1.8.1.2 Sơ đồ phân đoạn (Fragment schema)
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 đoạn (fragment)
Hệ quản trị
CSD
L tại
vị trí
1 (DBM
S 1)
Hệ quản trị
CSD
L tại
vị trí
n (DBM
S n)
n (Loc
al Database n)
Trang 29Hiện nay có nhiều cách khác nhau để thực hiện việc phân chia này.
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 mô 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, Ri được hiểu là đoạn thứ i của quan hệ R
1.8.1.3 Sơ đồ định vị (Allocation schema)
Các đoạn là các phần logic của một quan hệ tổng thể được định vị vật lý trên một hay nhiều trạm
Sơ đồ đị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.Tất cả các đoạn được liên kết với cùng một quan hệ tổng thể R và được định vịtại cùng một trạm j cấu thành ả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ổngthể, trạm)
Các ảnh vật lý có thể chỉ ra bằng tên của một quan hệ tổng thể và một chỉ mụctrạm
Ký hiệu Ri để chỉ đoạn thứ i của quan hệ tổng thể R
Ký hiệu Rj để 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à Rij .
1.8.1.4 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ý
Trang 30Quan hệ tổng thể Các đoạn Hình ảnh vật lý
Hình 1.9 Các đoạn và hình ảnh vật lý của một quan hệ tổng thể
Ba yếu tố được suy ra từ kiểu kiến trúc này là: 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; biết được dữ liệu dư thừa; độc lập vớicác hệ quản trị CSDL địa phương
Ba yếu tố này tương ứng với ba mức trong suốt tương ứng
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 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
Thông qua tính trong suốt phân đoạn (fragmentation transparency) người lậptrì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 tại 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
Trang 31Biế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ý R2 và
R3 có trùng lặp dữ liệu Do đó các đoạn dữ liệu trùng nhau có thể tránh được khixây dựng các khối ảnh vật lý
Độ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ácvấ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ủaDBMS địa phương đang sử dụng
1.8.2 Các đặc điểm chính của hệ phân tán
1.8.2.1 Chia sẻ tài nguyên
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ầnphải được quản lý bởi một chương trình có 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 và nhất quán
Quản lý tài nguyên bao gồm: Lập kế hoạch dự phòng, đặt tên cho các lớp tàinguyê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àinguyên vào địa chỉ truyền thông
Trang 32Tí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 cáctiến trình và công khai các giao diện dùng để truy nhập các tài nguyên chung.
1.8.2.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ỗimáy có thể có một hay nhiều CPU
Hệ phân tán có thể thực hiện nhiều tiến trình trong cùng một thời điểm Việcthực hiện tiến trình theo cơ 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ìnhhuố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
Ví dụ: Tần suất sử dụng trên mạng đột ngột, để tránh tình trạng tắc nghẽn xảy
ra khi chỉ có một Server và phải đáp ứng các yêu cầu truy nhập các file đó Người tanhân bản các file trên một Server khác và hệ thống được thiết kế sao cho việc thêmServer được dễ dàng Một số giải pháp khác là sử dụng Cache và các bản sao dữliệu
1.8.2.5 Khả năng thứ lỗi
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
Trang 33Dùng khả năng thay thế để đảm bảo sự hoạt động liên tục và hiệu quả Dùng các chương trình hồi phục dữ liệu khi xảy ra sự cố.
1.8.2.6 Đảm bảo tin cậy và nhất quán
Hệ phân tán phải đảm bảo về khả năng bảo mật của dữ liệu, các chức năngkhôi phục hư 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 như: không
có mâu thuẩn trong nội dung cơ sở dữ liệu
1.8.3 Tính trong suốt phân tá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ácthà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 ứngdụng
Các loại trong suốt trong hệ phân tán:
Trong suốt phân đoạn (fragmentation transparency)
Trong suốt về vị trí (location transparency)
Trong suốt ánh xạ địa phương (local mapping transparency)
Không trong suốt (no transparency)
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ệnbì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ụ 1.1 Xét quan hệ tổng thể DAI_LY ( ID, Họ tên, Tài khoản, Điện thoại,Địa chỉ) và các phân đoạn được tách ra từ nó:
DAI_LY 1 (ID, Họ tên, Tài khoản, Điện thoại, Địa chỉ )
DAI_LY 2 (ID, Họ tên, Tài khoản, Điện thoại, Địa chỉ )
DAI_LY 3 (ID, Họ tên, Tài khoản, Điện thoại, Địa chỉ )
Trang 34Giả 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ể DAI_LY mà không cần biết quan hệ DAI_LY có phân tán hay không
SELECT *
FROM DAI_LY
WHERE ID=
“Id1”
Hình 1.10 Trong suốt phân đoạn
Tính trong suốt về vị trí (Location transparency):
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 truycập đến CSDL 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ệnbở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, nó cho phép người sử dụng bỏ qua cácbản sao dữ liệu đã tồn tại ở mỗi vị trí Do đó có 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 và cho phép tạo các bản sao mới mà không ảnhhưởng đến các ứng dụng
Ví dụ 1.2 Với quan hệ tổng thể R và các phân đoạn như đã nói ở trên nhưnggiả 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
Trang 35Xét câu truy vấn tìm người có Id= “Id1”
SELECT *
FROM DAI_LY 1
WHERE Id= “Id1”
IF NOT # FOUND THEN
SELECT *
FROM DAI_LY 2
WHERE Id= “Id1”
Đầu tiên hệ thống sẽ thực hiện tìm kiếm ở phân đoạn DAI_LY 1 và nếuDDBMS trả về biến điều khiển # FOUND thì một câu lệnh truy vấn tương tự đượcthực hiện trên phân đoạn DAI_LY 2 ,
Ở đây quan hệ DAI_LY 2 được sao làm hai bản trên hai vị trí 2 và vị trí 3, tachỉ cần tìm thông tin trên quan hệ DAI_LY 2 mà không cần quan tâm nó ở vị trínào
Hình 1.11 Sự trong suốt về vị trí
Trong suốt ánh xạ địa phương (Location 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ốngcục bộ địa phương
Trang 36Ứ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.
Hình 1.12 Sự trong suốt ánh xạ địa phươngTóm lại, trong chương này tôi đã trình bày được các vấn đề liên đến cơ sở dữliệu phân tán Từ những lý thuyết trên giúp người sử dụng biết được cơ sở dữ liệu,
hệ quản trị cơ sở dữ liệu là gì? Và cũng cho chúng ta biết được các đặc trưng của cơ
sở dữ liệu phân tán, điểm khác với cơ sở dữ liệu tập trung, các ưu điểm của cơ sở dữliệu phân tán, các hình thức tổ chức hệ thống phân tán và các loại truy xuất cơ sở dữliệu phân tán
Đặc biệt đối với các mức trong suốt của CSDL phân tán giúp người sử dụngbiết được kiến trúc cơ bản của CSDL phân tán và đây cũng là điều kiện tốt để Tôinghiên cứu lý thuyết thiết kế cơ sở dữ liệu phân tán ở chương sau
Trang 37CHƯƠNG 2 THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN
Thiết kế một hệ thống máy tính 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 và rất có thể phải kể luôn cả việc thiết
cơ sở lý thuyết vững chắc để thiết kế cơ sở dữ liệu phân tán cho hệ thống phân tán
2.1.Nội dung thiết kế một hệ thống phân tán
Thiết kế cơ sở dữ liệu phân tán có 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 cơ bản đối với hệ thống tập trung là 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: máy trạm, máy chủ, hệ thống mạng và hạ tầng mạng[3],…
2.1.1 Các công việc cần phải làm để thiết kế hệ thống 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 địaphươ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
Trang 38Thiết kế các chương trình ứng dụng.
2.1.2 Các sản phẩm yêu cầu sau khi phân tích thiết kế
Mô tả các trạm, gồm các thông tin địa lý, thông tin hạ tầng, đặc trưng về con
người (trình độ, kỹ năng,….)
Mô tả về sử dụng dữ liệu cho mỗi trạm, gồ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ử
Có cần hay không về các trợ giúp không phải kỹ thuật
Có cần hay không về hệ thống địa phương, về nối
mạng Có cần hay không về các cấu hình phân tán
khác
2.2.Các chiến lược phân tán dữ liệu
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
Có 4 chiến lược phân tán dữ liệu cơ bản: Tập trung dữ liệu, chia nhỏ dữ liệu,sao lặp dữ liệu, phương thức lai
2.2.1 Tập trung dữ liệu
Tất cả các dữ liệu được tập trung tại một chỗ, cách này đơn giản nhưng có 3nhượ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 cơ sở dữ liệu bị sự cố
Trang 39CSDL được phân thành 2 phần: quan trọng và ít 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
2.3.Phương pháp thiết kế CSDL phân tán
2.3.1 Sơ đồ thiết kế tổng thể cơ sở dữ liệu phân tán
Trong thực trạng hiện nay chưa có một kỹ thuật cụ thể nào nói một cách chitiế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 có thểthiết kế CSDL phân tán theo các bước sau [3]:
Trang 40Hình 2.1 Sơ đồ thiết kế tổng thể
Thiết kế lược đồ quan hệ tổng thể: Thiết kế các quan hệ tổng thể và mô tả toàn
bộ dữ liệu sẽ được dùng trong hệ thống
Thiết kế phân đoạn: Thực hiện chia nhỏ dữ liệu thành các phần.
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
trạm
Thiết kế cơ sở dữ liệu vật lý: Thiết kế dữ liệu vật lý cho các quan hệ tại các
2.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 - down) và phương pháp tiếp cận từ dưới lên (bottom – up).
2.3.2.1 Phương pháp thiết kế từ trên xuống (top- down)
Phương pháp thiết kế từ trên xuống được thể hiện bởi hình 2.1 là phương phápthiết kế từ tổng thể đến riêng biệt, phân ra một hệ thống lớn thành các hệ thống con
và các công việc được tiến hành như sau:
Phân tích các yêu cầu nhằm định nghĩa môi trường hệ thống và thu thập cácyêu cầu về dữ liệu, cũng như các nhu cầu xử lý của các trạm có sử dụng CSDL.Phân tích yêu cầu cũng xác định xem hệ thống cuối cùng sẽ như thế nào so với các