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 1NGUYỄ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 2NGUYỄ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 4trự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 5MỤC LỤC
Trang
Trang 6Lờ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 71.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 82.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 93.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 11DBMS Database Management System
DDBMS Distributed database management system
SQL Structured Query Language
CPU Central Processing Unit
Tiếng việt
Trang 12DANH 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 131.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 14MỞ ĐẦ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 15quả 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 16phân tán vào thiết kế hệ thống, sử dụng công cụ Oracle để quản trị cơ sở dữ liệu phân tán và công cụ thiết kế giao diện và cuối cùng là đánh giá kết quả đạt được.
Đề tài đã đạt được một số kết quả như sau: đề tài đã trình bày một cách hệthống, chi tiết theo hướng thực nghiệm là một tài liệu cần thiết, bổ ích cho nhữngngười muốn tìm hiểu, thiết kế cơ sở dữ liệu phân tán và triển khai ứng dụng phântán Qua kết quả thực nghiệm, bước đầu cài đặt ứng dụng đã cho kết quả khả quan.Trong tương lai dựa vào lý thuyết thiết kế cơ sở dữ liệu phân tán này có thể ứngdụng vào các hệ thống lớn và có đối tượng sử dụng rộng
Vớ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 17CHƯƠ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 181.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 19quan 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 20e 1
Sit
e 2
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 22Mộ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 23Hoạt động của các trình ứng dụng có thể bị tăng lên khi dữ liệu được sao lạitất cả các vị trí nơi trình ứng dụng cần nó.
Tính thường trực của hệ thống sẽ tăng lên bởi vì khi có lỗi xảy ra ở một trạmnào đó sẽ không dừng việc thực hiện các ứng dụng của trạm khác nếu dữ liệu đãđược sao chép lại
Vấ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 24Hì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 251.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
Trang 27Bả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 28Chứ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 291.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 30Đá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 31Hì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 32Sơ đồ 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 33Hiệ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ục
Trang 34Ký 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 35Ba 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 36xâ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 371.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
Trang 38năngthứ lỗi các
hệ thốn
g máy tính dựa trên hai giải pháp
Trang 391.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 40DAI_LY mà không cần biết quan hệ DAI_LY có phân tán hay không.
SELECT *
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