Tải bản đầy đủ (.doc) (85 trang)

CÁC CÔNG NGHỆ TRONG VIỆC SỬ DỤNG CƠ SỞ DỮ LIỆU PHÂN TÁN

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 (510.8 KB, 85 trang )

đại học quốc gia hà nội
Trờng Đại Học Khoa Học Tự Nhiên
Khoa Công nghệ Thông tin

Vũ Việt Hà

Các công nghệ sử dụng trong
Cơ sở dữ liệu phân tán và ORACLE
Luận văn tốt nghiệp cử nhân khoa học
Ngành tin học Mã số: 01-02-10

Giáo viên hớng dẫn :

1. Trần Xuân Thuận
2. Vũ Mạnh Cờng
Giáo viên phản biện:

Nguyễn Tuệ

Hà Nội - 1998


Luận văn tốt nghiệp

Các công nghệ sử dụng trong CSDL phân tán

Mục lục
Mục lục..................................................................................................................................2
Lời giới thiệu.......................................................................................................................5
phần I tổng quan về hệ cơ sở dữ liệu phân tán............................................7


I. Giới thiệu chung...........................................................................................7
II. Các đặc điểm chính của hệ phân tán..........................................................7
1. Chia xẻ tài nguyên...................................................................................7
2. Tính mở....................................................................................................9
3. Khả năng song song...............................................................................10
4. Khả năng mở rộng.................................................................................10
5. Khả năng chịu lỗi...................................................................................10
6. Tính trong suốt.......................................................................................11
III. Các lí do sử dụng CSDL phân tán............................................................11
1. Xuất phát từ chính yêu cầu thực tế về tổ chức và kinh tế.....................11
2. Sự liên kết các CSDL đang tồn tại.........................................................12
3. Sự phát triển mở rộng............................................................................12
4. Làm giảm tổng chi phí tìm kiếm...........................................................12
5. Trả lời truy vấn nhanh............................................................................12
6. Độ tin cậy và khả năng sử dụng đợc nâng cao.....................................13
7. Giá thành truyền thông thấp hơn...........................................................13
IV. Hạn chế của CSDL phân tán....................................................................13

phần II....................................................................................................................................14
Các công nghệ sử dụng trong...............................................................................14
hệ Cơ sở dữ liệu phân tán.........................................................................................14

I. Kiến trúc cơ bản của CSDL phân tán.........................................................14
1. Sơ đồ tổng thể........................................................................................14
2. Sơ đồ phân đoạn.....................................................................................14
3. Sơ đồ định vị:.........................................................................................15
4. Sơ đồ ánh xạ địa phơng:........................................................................15
II. Thiết kế hệ thống CSDL phân tán.............................................................15
1. Khung làm việc chung cho thiết kế hệ CSDL phân tán........................15
2. Các phơng pháp thiết kế hệ CSDL phân tán.........................................16

3. Thiết kế CSDL phân đoạn......................................................................18
4. Kết luận..................................................................................................21
III. GIới thiệu về giao tác...............................................................................21
1. Định nghĩa..............................................................................................21
2. Các điều kiện kết thúc của giao tác.......................................................22
3. Các thuộc tính của giao tác...................................................................22
3. Các loại giao tác....................................................................................23
4. Kiến trúc của giao tác............................................................................24
IV. Điều khiển tơng tranh phân tán...............................................................24
1. Khái niệm xung đột và lịch đầy đủ.......................................................25
Trang 2


Luận văn tốt nghiệp

Các công nghệ sử dụng trong CSDL phân tán

2. Các cơ chế điều khiển tơng tranh..........................................................25
3. Quản lý khóa chết..................................................................................26
3. Kết luận..................................................................................................28
V. Lỗi và chịu lỗi trong hệ phân tán..............................................................28
1. Các khái niệm........................................................................................28
2. Các lỗi trong Hệ phân tán.....................................................................30
3. Các cách chịu lỗi trong Hệ phân tán.....................................................31

Phần III cơ sở dữ liệu phân tán trên oraclE................................................33

I. Các khái niệm cơ bản.................................................................................33
1. Snapshot.................................................................................................33
2. Sao bản cơ sở..........................................................................................33

3. Các nhóm sao bản ( Replication Groups).............................................33
4. Các vị trí sao bản (Replication Sites)....................................................33
5. Danh mục sao bản..................................................................................34
6. Database link..........................................................................................34
2. Tạo Read-Only Snapshot.......................................................................34
3. Sửa đổi các Snapshot..............................................................................37
4. Xoá Snapshot.........................................................................................37
5. Index Snapshot......................................................................................38
6. Sử dụng Snapshot...................................................................................38
7. Tạo View và Synonyms dựa trên Snapshot...........................................38
III. Updatable Snapshot..................................................................................38
IV. Các vấn đề cơ bản về Snapshot log..........................................................39
1. Định nghĩa.............................................................................................39
2. Tạo các Snapshot log.............................................................................39
3. Sửa đổi các tham biến của Snapshot log...............................................40
4. Xoá các Snapshot log............................................................................40
5. Quản lý Snapshot log.............................................................................41
V. Giới thiệu về các nhóm làm tơi Snapshot.................................................41
1. Tạo nhóm làm tơi Snapshot...................................................................41
2. Sửa đổi nhóm làm tơi Snapshot.............................................................42
VI. Vấn đề làm tơi các Snapshot...................................................................42
1. Giới thiệu................................................................................................42
2. Các điều kiện để thực hiện làm tơi Snapshot........................................42
3. Tự động làm tơi Snapshot......................................................................43
4. Làm tơi Snapshot bằng tay....................................................................45
VII. Các mô hình phân tán dữ liệu trong Oracle .........................................45
1. Phân tán dữ liệu hoàn toàn....................................................................46
2. Phơng pháp phân tán Partition..............................................................49
3. Phơng pháp phân tán sử dụng các Replicate........................................51
4. Kết hợp các chiến lợc............................................................................53

VIII. giải quyết xung đột trong Oracle..........................................................53
1. Giới thiệu................................................................................................53
2. Xoá các xung đột...................................................................................54

Trang 3


Luận văn tốt nghiệp

Các công nghệ sử dụng trong CSDL phân tán

3. Các nhóm cột.........................................................................................55
4. Giới thiệu một số phơng pháp giải quyết xung đột..............................56
5. Khai báo phơng pháp giải quyết xung đột............................................57

Phần I Cơ Sở Dữ Liệu Phân Tán trong bài toán WSc (water supply
company )............................................................................................................................64

i. Giới thiệu khái quát về hệ thống và các vấn đề liên quan đến hệ thống..64
1. Mô hình tổ chức và mô hình mạng của Công ty WSC.........................64
2. Phạm vi của hệ thống.............................................................................66
II. Mô hình phân tán dữ liệu tại WSC...........................................................66
1. Phân tán chức năng hoạt động giữa trung tâm và chi nhánh tại WSC.
....................................................................................................................66
2. Mô hình dữ liệu chung tại WSC............................................................67
3. Mô hình dữ liệu phân tán tại WSC........................................................67
4. Các chú ý khi tạo các bảng tại các chi nhánh trong cấu hình CSDL
phân tán......................................................................................................68
III. Phân tán dữ liệu khách hàng trong WSC................................................72
1. Giới thiệu các thực thể trong ứng dụng quản lí Khách Hàng..............72

2. Thực hiện phân tán CSDL....................................................................74

...................................................................................................................................................83
Kết luận...............................................................................................................................84

Trang 4


Luận văn tốt nghiệp

Các công nghệ sử dụng trong CSDL phân tán

Lời giới thiệu
Ngày nay, khi các thành tựu của ngành Công Nghệ Thông Tin đã trở nên thân
thuộc với đời sống con ngời, thì yêu cầu của ngời sử dụng cũng ngày càng cao hơn,
đòi hỏi các nhà làm tin học phải không ngừng thiết kế và phát triển các hệ thống hớng tới mức ngày càng hoàn thiện.
Có một thực tế là: Một Công ty có nhiều chi nhánh đặt ở nhiều nơi, mỗi chi
nhánh có một nhiệm vụ riêng biệt với một lợng dữ liệu lớn và đa ngời sử dụng. Nếu
dùng Cơ Sở Dữ Liệu (CSDL) tập trung để quản lý hiệu suất công việc thu đợc có
nhiều hạn chế vì: CSDL lu trữ tại từng điểm làm việc quá lớn, d thừa dữ liệu cao,
việc mở rộng CSDL khi có thêm các chi nhánh mới là tơng đối khó khăn ... Và
CSDL phân tán ra đời dựa trên nền tảng chính của CSDL tập trung nhng với đặc
điểm riêng nổi bật là thiết kế theo phơng pháp phân đoạn và sử dụng các sao bản
(Replication), dữ liệu phân tán sẽ đợc cập nhật và lu tại các chi nhánh, mỗi chi
nhánh thực hiện một số chức năng nhất định, tại trung tâm là Cơ Sở Dữ Liệu tổng
hợp.
Việc kết nối giữa các CSDL từ xa đợc thực hiện qua CSDL kết nối (Database
link) và dữ liệu đợc truyền qua đờng điện thoại hoặc đờng truyền trực tiếp đã đáp
ứng đợc một số tiêu chuẩn cơ bản là:
- Cải thiện năng suất thực hiện công việc.

- Đảm bảo an toàn dữ liệu.
- Giảm giá thành truyền thông.
- Bảo mật cao.
- Khi cần thay đổi sẽ dễ dàng...
Tuy nhiên CSDL phân tán cũng không tránh khỏi đợc những hạn chế về: Sự
toàn vẹn dữ liệu, tiến trình kết nối các vị trí dữ liệu cục bộ khó, giá thành và sự
phức tạp của phần mềm cao ...
Luận văn trình bày các nội dung chính nh sau:
1. Khái quát về đặc điểm, các công nghệ sử dụng trong CSDL phân tán.
2. Cơ sở dữ liệu phân tán trên ORACLE .
3. Phân tán cơ sở dữ liệu cho bài toán Quản lý Khách Hàng và xử lý Hoá đơn
tiền nớc của Công ty cấp nớc Thành phố Hồ Chí Minh (WSC:Water Supply

Trang 5


Luận văn tốt nghiệp

Các công nghệ sử dụng trong CSDL phân tán

Company).
Trong đó việc phân tán Cơ sở dữ liệu cho bài toán WSC là những tìm tòi có đợc
của luận văn. Các giải pháp công nghệ là những nội dung đề xuất của luận văn.
Luận văn đợc trình bày với mục đích thiết thực là đa ra các mô hình phân tán
thích hợp cho từng ứng dụng cụ thể trong thực tế. Giúp ngời dùng tiết kiệm thời
gian, kinh phí, cải thiện đợc năng suất lao động ... trong quá trình sử dụng các Hệ
phân tán.
Cuối cùng tôi chân thành cảm ơn sự hỗ trợ và hớng dẫn tận tình của thầy giáo
Hà Quang Thụy, thầy giáo Nguyễn Tuệ, thầy giáo Trần Xuân Thuận, anh Lê Huy,
anh Vũ Mạnh Cờng cùng toàn thể các thầy giáo, cô giáo khoa Công Nghệ Thông

Tin, các anh chị nhân viên Công ty CSE và các bạn đã giúp đỡ tôi rất nhiều trong
suốt quá trình học tập, thực hành, và nghiên cứu đề tài.
Luận văn đã hoàn thành với sự giúp đỡ, động viên của thầy cô và bạn bè. Một
lần nữa tôi xin đợc bày tỏ lòng biết ơn tới tất cả các thầygiáo, cô giáo khoa Công
Nghệ Thông Tin, Công ty CSE, và bè bạn.

Hà Nội ngày 6/5/1998
Sinh viên: Vũ Việt Hà

Trang 6


Luận văn tốt nghiệp

Các công nghệ sử dụng trong CSDL phân tán

phần I

tổng
quan về hệ cơ sở dữ liệu phân tán

I. Giới thiệu chung.
Định nghĩa: Hệ CSDL phân tán là một tập hợp dữ liệu mà về mặt logic tập dữ
liệu này thuộc về một hệ thống, nhng đợc trải trên các vị trí khác nhau và chúng có
thể kết nối với nhau thông qua một mạng thông tin dữ liệu.
Có hai điểm quan trọng đợc nêu ra trong định nghĩa là:
- Phân tán: Dữ liệu không c trú trên một vị trí, mà đợc phân bố rộng khắp trên
nhiều máy tính đặt tại nhiều vị trí khác nhau.
- Tơng quan logic: Dữ liệu 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 CSDL phân tán với một tập hợp CSDL

cục bộ, các tệp c trú tại các vị trí khác nhau, hay hệ thống CSDL phân quyền trong
một mạng máy tính.
Hệ thống mạng thông tin cho phép ngời dùng chia sẻ dữ liệu, vì vậy ngời sử
dụng hoặc ứng dụng ở vị trí A đều có thể truy cập hay cập nhật dữ liệu tại vị trí B.
Các vị trí của một hệ thống phân tán có thể trải rộng trên một khu vực lớn (toàn
thế giới) hoặc một phạm vi hẹp (toà nhà). Cũng nh vậy máy tính ở các vị trí phân
tán có thể là bất cứ loại nào, từ micro-computer cho đến supercomputer.
II. Các đặc điểm chính của hệ phân tán.
Hệ phân tán có các đặc điểm:
1. Chia xẻ tài nguyên.
Thuật ngữ tài nguyên dùng để chỉ tất cả mọi thứ có thể chia xẻ bởi Hệ phân tán,
bao gồm các thiết bị phần cứng: Đĩa, máy in ... tới các đối tợng nh file, các cửa sổ,
CSDL và các đối tợng dữ liệu khác.
Việc chia xẻ tài nguyên trên hệ phân tán - nơi mà các tài nguyên bị lệ thuộc về
mặt vật lý với một máy tính nào đó - đợc thực hiện thông qua truyền thông. Để chia
xẻ tài nguyên một cách hiệu quả mỗi tài nguyên cần phải đợc quản lý bởi một chơng trình có giao diện truyền 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 ở đây là lập kế hoạch dự phòng,
đặt tên cho các lớp tài nguyên, cho phép tài nguyên đợc truy nhập từ nơi khác, ánh
xạ tên tài nguyên vào địa chỉ truyền thông ...
Mô hình mạng máy tính thờng đợc sử dụng là: Mô hình xử lý Client-Server.

Trang 7


Luận văn tốt nghiệp

Các công nghệ sử dụng trong CSDL phân tán

Mô hình xử lý Client-Server:
Là một mô hình trong đó có việc xử lý hợp tác đối với các yêu cầu của Client

nêu ra với máy Server. Máy Server tiến hành xử lý và gửi trả kết quả về cho Client.
Việc xử lý hợp tác Client-Server thực tế là một dạng riêng của xử lý phân tán
với tài nguyên (và nhiệm vụ ảnh hởng tới tài nguyên) đợc trải qua hai hay nhiều hệ
thống tính toán rời rạc.
Mô hình xử lý Client-Server đã nổi lên nh một mức cao hơn của việc xử lý dùng
chung thiết bị đã có trong mang cục bộ (LAN). Trong môi trờng xử lý dùng chung
thiết bị, các máy tính cá nhân (PC) đợc gắn với thiết bị hệ thống để cho phép các PC
này dùng chung tài nguyên tệp trên đĩa cứng và máy in là các thí dụ tiêu biểu. Theo
thuật ngữ LAN, các thiết bị dùng chung nh vậy đợc gọi là các Server (phục vụ).
Tên phục vụ là thích hợp hơn cả vì các thiết bị dùng chung này dùng để nhận các
yêu cầu cần phục vụ từ các PC. Trong xử lý dùng chung thiết bị trên LAN, các yêu
cầu của PC này thờng bị giới hạn về các dịch vụ liên quan tới tệp dùng chung hay
tệp xử lý in. Nhợc điểm hiển nhiên của cách tiếp cận nh vậy là ở chỗ mọi xử lý ứng
dụng đều đợc thực hiện trên các PC riêng lẻ, và chỉ một chức năng nào đó (in, vào
ra tệp) mới là phân tán. Do đó, toàn bộ tệp phải đợc gửi cho một PC đã ban ra yêu
cầu READ tệp đó. Nếu tệp đợc cập nhật thì toàn bộ tệp đó bị khoá bởi PC đã tạo ra
yêu cầu cập nhật tệp đó.
Chính vì các lý do trên mà mô hình xử lý Client-Server là việc mở rộng tự nhiên
của việc dùng chung thiết bị và vai trò của các trạm làm việc trở thành khách của
máy chủ. Phần có ý nghĩa nhất của mô hình này là xử lý ứng dụng đợc phân chia
(không nhất thiết phải chia đều) giữa Client và Server. Xử lý thực tế đợc khởi đầu và
kiểm soát một phần bởi nơi yêu cầu dịch vụ là Client nhng không phải theo kiểu
chủ-khách. Thay vì điều đó, cả Client và Server đều hợp tác để thực hiện thành công
ứng dụng. Chẳng hạn nếu PC chạy chơng trình cần một bản ghi đặc biệt nào đó từ
một tệp dùng chung thì nó sẽ chuyển yêu cầu cho Server CSDL tiến hàng xử lý cục
bộ rồi nhận lại đúng bản ghi đã yêu cầu.
Nh vậy về mặt kiến trúc xử lý Client-Server cho thấy:
- Đờng liên lạc tin cậy, chắc chắn giữa Client và Server.
- Các trờng hợp tơng tác Client-Server do Client khởi xớng.
- Phân tán xử lý ứng dụng giữa Client và Server.

- Server kiểm soát các dịch vụ mà Client yêu cầu.
- Server làm trọng tài cho các yêu cầu tranh chấp.

Trang 8


Luận văn tốt nghiệp

Các công nghệ sử dụng trong CSDL phân tán

Với Hệ CSDL phân tán, mô hình Client-Server có các u điểm:
- Các công ty lợi dụng đợc công nghệ tính toán của PC. PC ngày nay cung cấp
một năng lực tính toán đáng kể (mà trớc đây chỉ các máy tính lớn mới có đợc) nhng
lại với một giá thành nhỏ.
- Cho phép xử lý đợc thực hiện tại gần nguồn dữ liệu cần xử lý (các CSDL trên
Server). Do đó lu lợng và thời gian đáp ứng của mạng giảm đi rất nhiều, hiệu năng
và khả năng chuyển tải của mạng đợc tăng lên.
- Tạo điều kiện cho việc dùng giao diện đồ hoạ (GUI) có sẵn trên các trạm làm
việc hiện có.
- Cho phép và hỗ trợ hệ thống mở: Client và Server có thể chạy trên các nền
phần cứng và phần mềm khác nhau.
Tuy nhiên không phải là mô hình Client-Server đã hoàn chỉnh, nó vẫn còn các
nhợc điểm sau đây:
- Nếu có khá nhiều thành phần logic của ứng dụng đợc chuyển về Server thì
Server sẽ trở thành cổ chai y nh máy tính lớn (main frame) mô hình thiết bị đầu
cuối. Các tài nguyên hạn chế của Server sẽ ở trạng thái bị đòi hỏi làm việc ở mức
cao hơn do việc tăng số ngời tiêu thụ tài nguyên (End User).
- Các ứng dụng phân tán, đặc biệt là những ứng dụng đợc thiết kế cho xử lý hợp
tác thờng phức tạp hơn các ứng dụng không phân tán. Tuy nhiên có thể giảm bớt độ
phức tạp bằng cách thu nhỏ vấn đề lớn thành một tập hợp vấn đề nhỏ hơn, có thể đợc tính độc lập nhau, tơng tự nh trong hệ thiết kế đơn thể.

2. Tính mở.
Tính mở của một hệ thống máy tính là tính dễ dàng mở rộng phần cứng (thêm
các thiết bị ngoại vi, bộ nhớ, các giao diện truyền thông ... ) và phần mềm (Các mô
hình hệ điều hành, các giao thức truyên thông, các dịch vụ dùng chung tài
nguyên ...) của nó.
Một Hệ phân tán có tính mở là hệ có thể đợc tạo nên từ nhiều loại phần cứng và
phần mềm của nhiều nhà cung cấp khác nhau với điều kiện là các thành phần này
phải theo một tiêu chuẩn chung.
Tính mở của Hệ phân tán đợc xem xét theo mức độ bổ sung vào các dịch vụ
dùng chung tài nguyên mà không phá hỏng hay nhân đôi các dịch vụ đang tồn tại.
Tính mở đợc hoàn thiện bằng cách xác định hay phân định rõ các giao diện chính
của một hệ và làm cho nó tơng thích với các nhà phát triển phần mềm (hay các giao
diện chính là phổ dụng).

Trang 9


Luận văn tốt nghiệp

Các công nghệ sử dụng trong CSDL phân tán

Tính mở của Hệ phân tán dựa trên việc cung cấp cơ chế truyền thông giữa các
tiến trình và công khai các giao diện dùng để truy nhập các tài nguyên chung.
3. Khả năng song song.
Hệ phân tán hoạt động trên một mạng truyền thông có nhiều máy tính, mỗi
máy tính có thể có một hay nhiều CPU. Trong cùng một thời điểm nếu có N tiến
trình cùng tồn tại, ta nói chúng đợc thực hiện đồng thời. Việc thực hiện các tiến
trình theo cơ chế phân chia thời gian (một CPU) hay song song (nhiều CPU).
Khả năng làm việc song song trong Hệ phân tán đợc thực hiện do hai tình
huống sau:

- Nhiều ngời sử dụng đồng thời đa ra các lệnh hay 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 đáp ứng yêu cầu từ các
tiến trình Client.
4. Khả năng mở rộng.
Hệ phân tán có khả năng hoạt động tốt và hiệu quả ở nhiền mức khác nhau.
Một Hệ phân tán nhỏ nhất có thể hoạt động chỉ cần hai trạm làm việc và một File
Server. Các hệ lớn hơn thì gồm có hàng nghìn máy, nhiều File Server, Printer Server.
Khả năng mở rộng của một hệ phân tán đặc trng bởi tính không thay đổi phần
mềm hệ thống và phần mềm ứng dụng khi hệ đợc mở rộng. Điều này chỉ đạt ở mức
độ nào đó đối với các Hệ phân tán hiện tại. Yêu cầu cho việc mở rộng không chỉ là
sự mở rộng về phần cứng hay về mạng mà nó trải rộng trên tất cả các khía cạnh khi
thiết kế hệ phân tán. Một ví dụ đơn giản là tần suất sử dụng một file lớn tơng đơng
với việc tăng thêm số ngời sử dụng trên mạng. Để tránh tình trạng tắc nghẽn xảy ra
khi chỉ có một Server đáp ứng các yêu cầu truy nhập file đó, ngời ta nhân bản file
đó trên một vài Server và hệ thống đợc thiết kế sao cho việc thêm Server 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.
5. Khả năng chịu lỗi.
Việc thiết kế khả năng chịu lỗi của các hệ thống máy tính dựa trên hai giải pháp
sau:
- Dùng khả năng thay thế để đảm bảo sự hoạt động liên tục và hiệu quả.
- Dùng các chơng trình phục hồi dữ liệu, thông tin khi xảy ra sự cố.
Để xây dựng một hệ thống có thể khắc phục sự cố theo cách thứ nhất thì ngời ta
nối hai máy tính với nhau để thực hiện một chơng trình, một trong hai máy chạy ở

Trang 10


Luận văn tốt nghiệp


Các công nghệ sử dụng trong CSDL phân tán

chế độ Standby (không tải hay chờ). Giải pháp này khá tốn kém vì phải nhân đôi
phân cứng của hệ thống. Một giải pháp để giảm phí tổn là các Server riêng lẻ đợc
cung cấp các ứng dụng quan trọng để có thể thay thế nhau khi có sự cố xuất hiện.
Khi không có sự cố các Server hoạt động bình thờng (nghĩa là vẫn phục vụ các yêu
cầu từ Client). Khi có sự cố trên một Server nào đó, các ứng dụng Client tự chuyển
hớng sang các Server còn lại.
Với cách thứ hai thì các phần mềm phục hồi đợc thiết kế sao cho trạng thái dữ
liệu hiện thời (trạng thái trớc khi xảy ra sự cố) có thể đợc khôi phục khi lỗi đợc phát
hiện.
Các hệ phân tán cung cấp khả năng sẵn sàng cao để đối phó với các sai hỏng
phần cứng. Khả năng sẵn sàng của hệ thống đợc đo bằng tỷ lệ thời gian mà hệ
thống sẵn sàng làm việc so với thời gian có sự cố. Khi một máy trên mạng bị sai
hỏng thì chỉ có công việc liên quan đến các thành phần sai hỏng bị ảnh hởng. Ngời
sử dụng có thể chuyển đến một trạm khác nếu máy họ đang sử dụng bị hỏng, một
tiến trình Server có thể đợc khởi động lại trên một máy khác.
6. Tính trong suốt.
Tính trong suốt của hệ phân tán đợc hiểu nh là sự che khuất đi các thành phần
riêng biệt của hệ đối với ngời sử dụng và những ngời lập trình ứng dụng. Ngời sử
dụng có quyền truy cập đến dữ liệu nằm tại bất cứ vị trí nào. Các thao tác để lấy
hoặc cập nhật dữ liệu tại một điểm dữ liệu ở xa đợc tự động thực hiện bởi hệ thống
tại điểm đa ra yêu cầu. Ngời sử dụng không cần biết đến sự phân tán của tất cả dữ
liệu trên mạng dờng nh nằm ở máy tính cục bộ của ngời sử dụng.
III. Các lí do sử dụng CSDL phân tán.
Tuy việc quản trị một hệ thống CSDL phân tán gặp nhiều khó khăn hơn so với
hệ CSDL tập trung nhng xu hớng xây dựng các hệ CSDL phân tán ngày càng phát
triển và có nhiều ứng dụng trong thực tế vì các nguyên nhân sau:
1. Xuất phát từ chính yêu cầu thực tế về tổ chức và kinh tế.
Trên thực tế nhiều tổ chức là không tập trung, dữ liệu 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 CSDL 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 đó. Đây là một trong các yếu tố quan trọng thúc
đẩy việc phát triển CSDL phân tán.
Một ví dụ minh hoạ cho vấn đề này là hệ thống bán vé máy bay thống nhất trên
toàn thế giới. Mỗi hãng hàng không có một hệ CSDL riêng, có sự quản lý riêng và
không thể có lý do nào để CSDL này tập trung ở một chỗ đợc. Tuy vậy các hãng

Trang 11


Luận văn tốt nghiệp

Các công nghệ sử dụng trong CSDL phân tán

hàng không lại có quan hệ với nhau trong việc bán vé hành khách cho những tuyến
đờng thuộc phạm vi quản lý của nhiều hãng. Do vậy hệ thống dữ liệu về chuyến bay
của các hãng hàng không chính là một hệ CSDL phân tán đợc quản lý thống nhất
tại trung tâm điều khiển bay đặt tại một địa điểm nào đó.
2. Sự liên kết các CSDL đang tồn tại.
CSDL phân tán là giải pháp tự nhiên khi có các CSDL đang tồn tại và sự cần
thiết thực hiện xây dựng một ứng dụng toàn cục. Trong trờng hợp này CSDL phân
tán đợc tạo từ dới lên (bottom-up) từ các CSDL đã tồn tại trớc đó. Tiến trình này có
thể đòi hỏi cấu trúc lại cục bộ ở một mức độ nhất định. Dù sao, những sửa đổi này
là nhỏ hơn rất nhiều so với việc tạo lập một CSDL tập trung hoàn toàn mới.
3. Sự phát triển mở rộng.
Các tổ chức có thể mở rộng bằng cách thêm các đơn vị mới, vừa có tính tự trị
vừa có quan hệ tơng đối với các tổ chức khác. Khi đó CSDL phân tán hỗ trợ một sự
mở rộng uyển chuyển với một mức độ ảnh hởng tối thiểu tới các đơn vị đang tồn
tại.
Với CSDL tập trung, cũng có thể khởi tạo kích thớc lớn cho việc mở rộng trong

tơng lai. Điều đó rất khó tiên định và chịu một phí tổn lớn, mặt khác sự mở rộng
này có ảnh hởng lớn không chỉ trên các ứng dụng mới mà còn trên các ứng dụng
đang tồn tại.
4. Làm giảm tổng chi phí tìm kiếm.
Việc phân tán dữ liệu cho phép các nhóm làm việc cục bộ có thể kiểm soát toàn
bộ dữ liệu của họ. Tuy vậy tại cùng thời điểm, ngời sử dụng có thể truy cập đến dữ
liệu ở xa nếu cần thiết. Tại các vị trí cục bộ, thiết bị phần cứng có thể đợc chọn sao
cho phù hợp với công việc xử lý dữ liệu cục bộ tại điểm đó.
5. Trả lời truy vấn nhanh.
Dựa trên cách thức dữ liệu đợc phân tán, hầu hết các yêu cầu truy vấn dữ liệu từ
ngời dùng tại bất kỳ vị trí cục bộ nào đều đợc thoả mãn bởi dữ liệu ngay tại thời
điểm đó. Điều này làm tăng đáng kể tiến trình xử lý các yêu cầu truy vấn dữ liệu
của ngời dùng. Hệ thống CSDL phân tán còn cho phép các bảng truy vấn phức tạp
có thể chia thành nhiều bảng nhỏ để có thể thực hiện tiến trình xử lý song song
cùng lúc trên nhiều vị trí cục bộ khác nhau. Kỹ thuật này cũng nâng cao tốc độ xử
lý dữ liệu trên hệ thống.

Trang 12


Luận văn tốt nghiệp

Các công nghệ sử dụng trong CSDL phân tán

6. Độ tin cậy và khả năng sử dụng đợc nâng cao.
Khi hệ thống CSDL tập trung bị hỏng, toàn bộ CSDL trở nên vô dụng với tất cả
ngời sử dụng. Còn đối với hệ thống CSDL phân tán, 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 tuy nhiên cũng không
thể hiệu quả nh khi nó còn hoàn hảo. Dù sao, việc thu đợc mục đích này không phải
không rắc rối và đòi hỏi sử dụng các kỹ thuật vẫn cha đợc hiểu biết hoàn chỉnh.

Khả năng xử lý tự trị của các vị trí khác nhau tự nó không đảm bảo một tính tin cậy
toàn bộ cao của hệ thống, nhng nó đảm bảo một thuộc tính graceful degration. Nói
một cách khác, sự cố trong CSDL phân tán có thể thờng xuyên hơn một CSDL tập
trung vì có số lợng thành phần lớn hơn, nhng hậu quả của sự cố đợc hạn chế chỉ tới
các ứng dụng sử dụng dữ liệu của vị trí có sự cố, đổ vỡ hoàn toàn của hệ thống là
điều hiếm xảy ra.
7. Giá thành truyền thông thấp hơn.
Với CSDL phân tán, dữ liệu có thể đặt gần nơi nó đợc sử dụng nhiều nhất. Đặc
điểm này đã làm giảm chi phí chuyền tải dữ liệu rất lớn so với hệ CSDL tập trung.
IV. Hạn chế của CSDL phân tán.
Hệ thống CSDL phân tán bên cạnh những u điểm nh trên cũng có những mặt
hạn chế nh sau:
- Giá thành và sự phức tạp của phần mềm: Các phần mềm sử dụng trong môi trờng CSDL phân tán rất phức tạp, đặc biệt là phần mềm sử dụng cho việc quản trị
môi trờng CSDL phân tán.
- Khó khăn trong tiến trình kết nối các vị trí dữ liệu cục bộ: Các vị trí cục bộ
phải trao đổi thông điệp với nhau và thực hiện thêm các tính toán phức tạp để đảm
bảo sự kết nối đúng đắn giữa các vị trí đó.
- Sự toàn vẹn dữ liệu: Một sản phẩm mang nhiều tính phức tạp sẽ làm gia tăng
khả năng xáo trộn trong việc bảo đảm tính toàn vẹn dữ liệu.
- Tốc độ truy cập sẽ trở nên rất chậm: Nếu dữ liệu không đợc phân tán theo
đúng yêu cầu sử dụng hoặc các bảng truy vấn đợc thiết lập không đúng đắn thì việc
tìm kiếm và xử lý dữ liệu sẽ rất chậm.

Trang 13


Luận văn tốt nghiệp

Các công nghệ sử dụng trong CSDL phân tán


phần II
Các công nghệ sử dụng trong
hệ Cơ sở dữ liệu phân tán
I. Kiến trúc cơ bản của CSDL phân tán.
Tuy không là kiến trúc tờng minh cho tất cả các CSDL phân tán, nhng kiến trúc
dới đây thể hiện cách thức tổ chức chung của một CSDL phân tán:
Sơ đồ tổng thể
Sơ đồ phân đoạn
Sơ đồ định vị
Sơ đồ ánh xạ địa ph ơng 1

Sơ đồ ánh xạ địa ph ơng 2

DBMS của vị trí 1

DBMS của vị trí 2

CSDL địa ph ơng
tại vị trí 1

CSDL địa ph ơng
tại vị trí 2

Các vị trí khác

:
:

...
...


:
:

Hình 1.II: Kiến trúc Hệ CSDL phân
tán
1. Sơ đồ tổng thể.
Định nghĩa tất cả dữ liệu sẽ đợc lu trữ trong CSDL phân tán. 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ể.
2. Sơ đồ phân đoạn.
Mỗi quan hệ tổng thể có thể chia thành một vài phần tơng đối độc lập với nhau
đợc gọi là fragments (đoạn). Có nhiều cách khác nhau để thực hiện việc phân chia
này: Phân đoạn ngang, phân đoạn dọc, phân đoạn hỗn hợp sẽ đợc trình bày trong
các phần sau.

Trang 14


Luận văn tốt nghiệp

Các công nghệ sử dụng trong CSDL phân tán

3. Sơ đồ định vị:
Fragments (các đoạn) là các phần logic của quan hệ tổng thể đợc định vị vật lý
tại một hoặc nhiều vị trí trên mạng. Sơ đồ định vị định nghĩa đoạn định vị tại từng
vị trí. Lu ý rằng kiểu ánh xạ đợc định nghĩa trong sơ đồ định vị quyết định CSDL
phân tán là d thừa hay không.
4. Sơ đồ ánh xạ địa phơng:
Thực hiện ánh xạ các ảnh vật lý và các đối tợng đợc lu trữ tại một trạm lên các
CSDL địa phơng.

II. Thiết kế hệ thống CSDL phân tán
Thiết kế một hệ thống phân tán là việc sắp đặt dữ liệu và chơng trình tới các
trạm làm việc của mạng máy tính. Trong trờng hợp thiết kế DBMS (Distibute
database managment system) có hai vấn đề chính là:
- Sự phân bố dữ liệu của DBMS.
- Sự phân bố các chơng trình ứng dụng chạy trên nó.
Phần sau đây trình bày khái quát cách thức chung để thiết kế một hệ thống
CSDL phân tán.
1. Khung làm việc chung cho thiết kế hệ CSDL phân tán.
Từ sơ đồ kiến trúc của Hệ CSDL phân tán, ngời ta đa ra sơ đồ thiết kế chung
cho Hệ CSDL phân tán nh sau:
Thiết kế lợc đồ quan niệm: Mô tả toàn bộ dữ liệu sẽ đợc dùng trong ứng dụng.
Thiết kế CSDL vật lí: Là quá trình thực hiện ánh xạ lợc đồ quan niệm vào các
vùng chứa và xác định cách thức truy nhập thích hợp cho chúng.
Thiết kế phân đoạn: Thực hiện việc phân chia dữ liệu thành các phần, kèm theo
cách thức truy nhập thích hợp.
Thiết kế sự phân phối các phần: Các đoạn dữ liệu đợc đa vào các vị trí lu trữ
thích hợp với yêu cầu hoạt động thực tế của hệ thống.
Ví dụ: Ta không thể đa dữ liệu về Cán bộ cho phòng quản lý Sinh viên và ngợc
lại.

Trang 15


Luận văn tốt nghiệp

Các công nghệ sử dụng trong CSDL phân tán
Thiết kế các l ợc đồ quan niệm
Thiết kế CSDL vật lí
Thiết kế phân đoạn

Thiết kế sự phân phối các thành phần

Hình 2.II: Sơ đồ thiết kế chung cho CSDL phân tán
2. Các phơng pháp thiết kế hệ CSDL phân tán.
Theo khung làm việc chung cho thiết kế hệ CSDL phân tán, đến nay có hai phơng pháp thiết kế điển hình là: TOP-DOWN và BOTTOM-UP.
A. Phơng pháp TOP-DOWN:
TOP-DOWN: Là phơng pháp thiết kế từ trên xuống và đợc chia ra làm nhiều
giai đoạn, mỗi giai đoạn đều có nhiệm vụ riêng, giai đoạn này nối tiếp giai đoạn
kia, đầu ra của giai đoạn trớc đợc làm đầu vào cho giai đoạn kế tiếp sau nó.
Sơ đồ thiết kế CSDL phân tán theo mô hình TOP_DOWN (Hình 3.II):
Các định nghĩa: Định nghĩa môi trờng hệ thống, dữ liệu và các tiến trình cho tất
cả những khả năng về dữ liệu của ngời sử dụng.
Tài liệu về những điều kiện cần thiết nằm trong hai tham số: Thiết kế View và
Thiết kế mức quan niệm.
Thiết kế View: Hoạt động phân phối với sự định nghĩa những cái chung cho ngời sử dụng.
Thiết kế mức quan niệm: Là một tiến trình kiểm tra và xác định rõ hai nhóm
quan hệ Phân tích thực thể và Phân tích chức năng:
a. Phân tích thực thể: Liên quan tới sự xác định các loại thực thể, các thuộc tính
và các mối quan hệ giữa chúng.
b. Phân tích chức năng: Xác định các chức năng cơ sở.
Lợc đồ tổng thể mức quan niệm, mẫu truy nhập thông tin và External Schema
Definition: Tập hợp kết quả của các bớc trên, sắp xếp các thực thể trên các vị trí của
hệ thống phân tán và chuyển tới bớc tiếp theo.

Trang 16


Luận văn tốt nghiệp

Các công nghệ sử dụng trong CSDL phân tán

Các
định nghĩa
System Requirements
(Objectives)
Thiết kế mức
quan niệm

L ợc đồ tổng thể
mức quan niệm

User Input
View Integration
Truy nhập
thông tin

Thiết kế
view

External Schema
Definitions

Thiết kế
phân tán

User
input

L ợc đồ logic
mức quan niệm


Thiết kế
vật lý
L ợc đồ
vật lý

Trao đổi

Bộ
kiểm tra

Trao đổi

Hình 3.II: Sơ đồ thiết kế CSDL phân tán theo mô hình TOP-DOWN

Thiết kế phân tán: Thiết kế phân tán bao gồm hai phần phân đoạn và định vị
CSDL.
Lợc đồ mức quan niệm: Tạo ra các lợc đồ CSDL mức quan niệm.
Thiết kế vật lý: Thực hiện ánh xạ các lợc đồ CSDL mức quan niệm ra các đơn vị
lu trữ vật lí có giá trị tại các vị trí tơng ứng.
Bộ kiểm tra: Kiểm tra các giai đoạn của quá trình thiết kế CSDL. Nếu một giai
đoạn bị sai sẽ tiến hành thiết kế lại.
Phơng pháp TOP-DOWN là có hiệu quả khi một hệ thống CSDL đợc thiết kế từ
đầu. Tuy nhiên trong thực tế có một số hệ CSDL đã tồn tại thì nhiệm vụ của ngời
thiết kế là liên kết chúng lại thành một thể thống nhât trong CSDL mới, khi đó ngời
thiết kế thờng sử dụng phơng pháp BOTTOM_UP.

Trang 17


Luận văn tốt nghiệp


Các công nghệ sử dụng trong CSDL phân tán

B. Phơng pháp BOTTOM-UP.
BOTTOM-UP: Là phơng pháp ngợc lại với phơng pháp TOP_DOWN. Trong
thiết kế CSDL phân tán BOTTOM-UP sẽ bắt đầu thiết kế những lợc đồ ở mức quan
niệm sao cho chúng độc lập với nhau. Sau đó chúng đợc kết hợp lại trong một sơ đồ
tổng thể ( Global Conceptual schema ).
3. Thiết kế CSDL phân đoạn.
Thiết kế phân đoạn là một trong những đặc trng cơ bản trong thiết kế CSDL
phân tán. Mục đích của thiết kế phân đoạn là phân chia CSDL tổng thể thành các
phần không giao nhau, mỗi phần đó đợc gọi là một đoạn.
a. Các điều kiện cho thiết kế phân đoạn.
Phơng pháp thiết kế phân đoạn đúng đắn phải thoả mãn ba điều kiện ràng buộc
sau:
- Tính đầy đủ: Toàn bộ dữ liệu thuộc quan hệ tổng thể phải thuộc các đoạn quan
hệ và ngợc lại.
- Tính tháo rời đợc: Các đoạn phải tối thiểu hoá sự giao nhau.
- Xây dựng lại: CSDL của quan hệ tổng thể có thể xây dựng lại từ các đoạn.
b. Các phơng pháp phân đoạn.
Có hai phơng pháp chính là: Phân đoạn ngang và phân đoạn dọc. Phân đoạn
hỗn hợp là phơng pháp kết hợp của hai phơng pháp trên.
+ Phân đoạn ngang:
Phân đoạn ngang cơ sở: Phân đoạn ngang cơ sở tập trung ở các hàng của
bảng. Quan hệ tổng thể sẽ đợc chia thành các quan hệ con có cùng tập thuộc tính
nhng số lợng các hàng là nhỏ hơn.
Chú ý là mỗi hàng của quan hệ thuộc một và chỉ một đoạn.
Ví dụ: Cho quan hệ KHACH_HANG có cấu trúc nh sau:
KHACH_HANG:
MAKH

J1
J2
J3
J4

TENKH
Jonh
Mary
Bill
Clark

DIACHI
21 Ly Nam De
16 Tran Phu
106 Ton Duc Thang
12 Ba Trieu

CHINHANH
SaiGon
ChoLon
SaiGon
ChoLon

Trang 18


Luận văn tốt nghiệp

Các công nghệ sử dụng trong CSDL phân tán


Thực hiện phân đoạn ngang cơ sở thành hai quan hệ KHACH_HANG1 và
KHACH_HANG2:
KHACH_HANG1:
MAKH
J1
J3

TENKH
Jonh
Bill

DIACHI
21 Ly Nam De
106 Ton Duc Thang

CHINHANH
SaiGon
SaiGon

DIACHI
16 Tran Phu
12 Ba Trieu

CHINHANH
ChoLon
ChoLon

KHACH_HANG2:
MAKH
J2

J4

TENKH
Mary
Clark

Nh vậy thực chất của quá trình phân đoạn ngang là thực hiện câu lệnh SELECT
với các điều kiện cụ thể. Trong ví dụ trên có hai câu lệnh SELECT đợc thực hiện là:
KHACH_HANG1:
Create table KHACH_HANG1 as
Select MAKH, TENKH, DIACHI, CHINHANH from KHACH_HANG
where CHINHANH = 'SAIGON";
KHACH_HANG2:
Create table KHACH_HANG2 as
Select MAKH, TENKH, DIACHI, CHINHANH from KHACH_HANG
where CHINHANH = 'CHOLON";
Phân đoạn ngang suy diễn: Bắt nguồn từ kết quả của quá trình phân đoạn
ngang cơ sở, phân đoạn ngang suy diễn đợc sử dụng để kết nối các đoạn, tạo ra
CSDL thích hợp cho các ứng dụng. Quá trình kết nối yêu cầu phải có thuộc tính kết
nối.
Ví dụ:
Cho quan hệ DIENTHOAI có cấu trúc nh sau:
DIENTHOAI:
MAKH
J1
J2
J3
J4

DIENTHOAI

8.243.654
9.564.734
8.777.253
8.372.564

Trang 19


Luận văn tốt nghiệp

Các công nghệ sử dụng trong CSDL phân tán

Thực hiện phân đoạn ngang suy diễn giữa các quan hệ: KHACH_HANG1,
KHACH_HANG2 và DIENTHOAI với trờng liên kết là MAKH kết quả cho ta hai
quan hệ sau:
KH-DT1:
MAKH
J1
J3

TENKH
Jonh
Bill

DIACHI
21 Ly Nam De
106 Ton Duc Thang

CHINHANH
SaiGon

SaiGon

DIENTHOAI
8.243.654
8.777.253

TENKH
Mary
Clark

DIACHI
16 Tran Phu
12 Ba Trieu

CHINHANH
ChoLon
ChoLon

DIENTHOAI
9.564.734
8.372.564

KH-DT2:
MAKH
J2
J4

Nh vậy thực chất của quá trình phân đoạn ngang suy diễn là thực hiện phép nửa
kết nối từ kết quả của quá trình phân đoạn ngang cơ sở cùng quan hệ mà ta cần kết
nối. Trong ví dụ trên quan hệ KH_DT1 và KH_DT2 là kết quả của hai phép thực

hiện sau:
KH-DT1:
Create table KH-DT1 as
select KHACH-HANG1.MAKH, TENKH, DIACHI, CHINHANH,
DIENTHOAI from KHACH_HANG1,DIENTHOAI
where KHACH_HANG1.MAKH = DIENTHOAI.MAKH;
KH-DT2:
Create table KH-DT2 as
select KHACH-HANG2.MAKH, TENKH, DIACHI, CHINHANH,
DIENTHOAI from KHACH_HANG2,DIENTHOAI
where KHACH_HANG2.MAKH = DIENTHOAI.MAKH;
+ Phân đoạn dọc: Phân đoạn tập chung ở các thuộc tính, trong các thuộc tính
của quan hệ chọn ra thuộc tính kết nối. Kết quả thu đợc là một tập các quan hệ con,
chúng có thể kết nối lại tạo thành quan hệ tổng thể.
Ví dụ: Thực hiện phân đoạn dọc với thuộc tính liên kết là MAKH từ quan hệ
KH-DT2, ta thu đợc hai quan hệ QH1 và QH2 nh sau:
QH1:
MAKH
J2
J4

TENKH
Mary
Clark

DIACHI
16 Tran Phu
12 Ba Trieu

Trang 20



Luận văn tốt nghiệp

Các công nghệ sử dụng trong CSDL phân tán

QH2:
MAKH
J2
J4

CHINHANH
ChoLon
ChoLon

DIENTHOAI
9.564.734
8.372.564

Quá trình phân đoạn dọc thực chất là thực hiện phép chiếu (Project) các thuộc
tính của quan hệ tổng thể thành các quan hệ con. Trong ví dụ trên có hai câu lệnh đợc thực hiện là:
QH1:

Create table QH1
as select MAKH, TENKH, DIACHI from KH-DT2;

QH2:

Create table QH2
as select MAKH, CHINHANH,DIENTHOAI from KH-DT2;


+ Phân đoạn hỗn hợp:
Phân đoạn hỗn hợp là sự kết hợp giữa phân đoạn ngang và phân đoạn dọc. Có
hai phơng pháp phân đoạn hỗn hợp là:
1. Thực hiện phân đoạn ngang trớc sau đó phân đoạn dọc.
2. Thực hiện phân đoạn dọc trớc sau đó phân đoạn ngang.
Quá trình đợc thực hiện tuần tự, kết quả thu đợc từ phép phân đoạn cuối cùng
4. Kết luận.
Các vấn đề đợc trình bày trên đây chỉ là những khái niệm chung nhất để thiết kế
một Hệ CSDL phân tán, tuy nhiên việc thiết kế một Hệ CSDL phân tán trên thực tế
còn phải phụ thuộc rất nhiều vào các điều kiện khách quan khác của nơi cần các
ứng dụng phân tán nh: Thực trạng mô hình mạng, khả năng đầu t cho dự án... , đó
là những điều kiện góp phần rất lớn nâng cao hiệu quả của các ứng dụng phân tán.
Vấn đề này sẽ đợc trình bày trong phần về các mô hình phân tán CSDL .
III. GIới thiệu về giao tác.
1. Định nghĩa.
Giao tác là một dãy các hành động đợc thực hiện bởi một chơng trình ứng dụng
hay bởi một ngời sử dụng, mà hoặc phải đợc thực hiện hoàn toàn hoặc là không đợc
thực hiện một hành động nào.
Khái niệm giao tác đợc sử dụng trong lĩnh vực CSDL nh đơn vị cơ bản của tính
toán nhất quán và đáng tin cậy.

Trang 21


Luận văn tốt nghiệp

Các công nghệ sử dụng trong CSDL phân tán

Trong quá trình thực hiện giao tác CSDL có thể tạm thời không nhất quán nh ng

CSDL phải nhất quán khi giao tác kết thúc. Tính tin cậy dựa vào hai khả năng sau:
- Khả năng phục hồi: Hệ thống phục hồi nhanh khi có nhiều kiểu lỗi xảy ra.
Khi các lỗi xảy ra, hệ thống có thể chịu đựng đợc và tiếp tục cung cấp các dịch vụ.
- Khôi phục: Hệ thống đạt đợc trạng thái nhất quán sẽ trở về trạng thái nhất
quán trớc đó hoặc tiếp tới trạng thái nhất quán mới sau khi xảy ra lỗi. Nhất quán
giao tác liên quan tới sự thực hiện các truy nhập trùng nhau.
Việc quản lý giao tác tiếp xúc với các vấn đề : Giữ cho CSDL trong trạng thái
nhất quán khi xảy ra các truy nhập trùng nhau và các lỗi.
2. Các điều kiện kết thúc của giao tác.
Giao tác kết thúc khi toàn bộ công việc của nó thành công, hay nói một cách
khác là giao tác chuyển giao (Commit), ngợc lại nếu một giao tác dừng lại trong khi
cha hoàn thành các công việc của nó chúng ta nói giao tác bị loại bỏ (Abort).
Giao tác bị loại bỏ vì một số nguyên nhân sau:
- Một điều kiện không thoả mãn không cho giao tác hoàn thành các công việc
của nó.
- DBMS loại bỏ giao tác, ví dụ khoá chết hoặc các điều kiện khác.
Khi một giao tác bị loại bỏ, quá trình thực hiện của nó bị dừng lại và toàn bộ
công việc đã làm đợc loại bỏ để đa CSDL về trạng thái trớc khi thực hiện giao tác,
điều này cũng đợc hiểu nh Rollback.
Cũng có trờng hợp ngời sử dụng do một số thông tin đầu vào bị sai, một số điều
kiện không đợc thoả mãn và có thể do yêu cầu của hệ thống nh quá tải, tắc nghẽn.
3. Các thuộc tính của giao tác.
Tính nguyên tố:
Tính nguyên tố của giao tác quy định hoặc là tất cả các hành động, hoặc là
không một hành động nào của giao tác đợc thực hiện.
Nếu một giao tác bị ngắt bởi một sự cố nào đó thì kết quả các lệnh thực hiện
giao tác đó bị loại bỏ.
Nhất quán:
Có bốn mức nhất quán theo trình tự từ cao xuống thấp nh sau:
Mức 3: Giao tác T nhìn mức nhất quán 3 nếu:


Trang 22


Luận văn tốt nghiệp

Các công nghệ sử dụng trong CSDL phân tán

- T không ghi đè dữ liệu nháp của giao tác khác
- T không chuyển giao bất cứ một việc ghi nào đến khi nó hoàn thành hoàn
toàn việc ghi của nó.
- T không đọc dữ liệu nháp từ các giao tác khác.
- Các giao tác khác không nháp vào bất cứ dữ liệu nào đọc bởi T trớc khi T hoàn
thành.
Mức 2: Giao tác T nhìn mức nhất quán 2 nếu:
- T không ghi đè lên dữ liệu nháp của giao tác khác.
- T không chuyển giao bất kỳ việc ghi nào trớc EOT.
- T không đọc dữ liệu nháp từ giao tác khác.
Mức 1: Giao tác T nhìn mức nhất quán 1 nếu:
- T không ghi đè lên dữ liệu nháp của giao tác khác.
- T không chuyển giao bất kỳ việc ghi nào trớc EOT.
Mức 0: Giao tác T nhìn mức nhất quán 0 nếu:
- T không ghi đè lên dữ liệu nháp của giao tác khác.
Tính trình tự:
Nếu nhiều giao tác đợc thực hiện đồng thời thì kết quả của mỗi giao tác đó đợc
thực hiện một cách tuần tự. Các hành động đảm bảo tính trình tự của các giao tác đợc gọi là điều khiển tơng tranh.
Tính biệt lập:
Một giao tác khi đang đợc thực hiện thì các giao tác khác không thể sử dụng
các kết quả trung gian của các giao tác này.
Tính bền vững:

Mỗi khi giao tác đợc chuyển giao thì hệ thống phải đảm bảo chắc chắn là kết
quả sẽ không bị ảnh hởng bởi các lỗi đến sau.
3. Các loại giao tác.
Giao tác đợc phân loại theo một số tiêu chuẩn sau:
Phân loại theo vùng ứng dụng:
Giao tác thông thờng: Cập nhật dữ liệu trên một vị trí.
Giao tác phân tán: Thao tác trên dữ liệu phân tán.

Trang 23


Luận văn tốt nghiệp

Các công nghệ sử dụng trong CSDL phân tán

Phân loại theo khoảng thời gian làm việc:
Giao tác trực tuyến: Thời gian trả lời rất ngắn.
Giao tác gói: Thời gian trả lời dài.
Giao tác đàm thoại: Thực hiện bởi tác động qua lại với ngời sử dụng.
4. Kiến trúc của giao tác.
+ Bộ quản lý giao tác: Thực hiện các thao tác CSDL thay cho ứng dụng.
+ Bộ lập lịch (SC): Thực hiện một thuật toán điều khiển tơng tranh để đồng bộ
các truy nhập vào CSDL.
Tham dự việc quản lý giao tác là hệ quản lý phục hồi giao tác địa phơng trên
mỗi vị trí.
+ 5 lệnh của một giao tác:
Begin_Transaction, Read, Write, Commit và Abort.

Begin_transaction,
Read, Write,

Commit, Abort Các kết quả
Bộ giám sát thực
hiện phân tán
Bộ quản lý
giao tác (TM)
Các yêu cầu
lập lịch/huỷ lịch
Các TM khác

Các SC khác
Các bộ xử lý dữ
liệu khác

Bộ lập lịch (SC)

Tới các bộ xử lý dữ liệu
Hình 4.II: Mô hình chi tiết bộ giám sát thực hiện phân tán

IV. Điều khiển tơng tranh phân tán.
Điều khiển tơng tranh liên quan tới tính độc lập và nhất quán của giao tác với
mục tiêu chính là đảm bảo tính nhất quán của CSDL.
Các thuật toán điều khiển tơng tranh chia làm hai loại: Pessimistic và
Optimistic.

Trang 24


Luận văn tốt nghiệp

Các công nghệ sử dụng trong CSDL phân tán


1. Khái niệm xung đột và lịch đầy đủ.
Quy ớc: Oij(x) là thao tác Oj của giao tác Ti trên mục dữ liệu x. Oj={Read,
Write}. Okl(x) cũng đợc quy ớc tơng tự.
Xung đột: Oij(x) và Okl(x) đợc gọi là xung đột nếu tối thiểu một trong hai thao
tác là viết (W),và không nhất thiết i phải khác k.
Lịch đầy đủ: Định nghĩa thứ tự thực hiện của các thao tác.
2. Các cơ chế điều khiển tơng tranh.
a. Cơ chế Optimistic:
áp dụng cơ chế này khi số giao tác xung đột không nhiều lắm.
Cơ chế Optimistic qua định: Trong khi một giao tác đang thực hiện, nếu xuất
hiện xung đột cơ chế này sẽ đợi cho giao tác kết thúc sau đó mới xử lý các xung đột
(Trễ việc đồng bộ các giao tác đến khi kết thúc chúng).
b. Cơ chế Pessimistic:
Cơ chế này đợc áp dụng khi môi trờng có nhiều giao tác xung đột.
Cơ chế Pessimistic thực hiện xử lý các xung đột ngay sau khi chúng đợc phát
hiện ( đồng bộ việc thực hiện các giao tác tơng tranh sớm trong chu kỳ thực hiện
chúng ).
c. Cơ chế dựa vào khoá:
Việc đồng bộ các giao tác đạt đợc bằng cách dùng khoá trên từng phần của
CSDL. Kích thớc của các phần CSDL đợc khoá này là một vấn đề quan trọng cần
phải đợc tính toán hợp lý. Tuy nhiên, chúng ta sẽ bỏ qua điều này và coi phần đợc
chọn là một đơn vị khoá.
Có các kiểu khoá nh sau:
+ Khoá tập trung: Trên mạng có một vị trí đợc thiết kế để lu giữ các bảng khoá
cho toàn bộ CSDL. Vị trí đó có nhiệm vụ nhiệm vụ phân phối khoá cho các giao
tác và chỉ các giao tác có khoá mới đợc truy nhập vào CSDL.
+ Khoá bản sao chính: Trong môi trờng phân tán có nhiều bản sao của cùng
một dữ liệu thì một bản sao (đóng vai trò là bản sao chính ) sẽ lu giữ khoá chung
cho các bản sao. Có nghĩa là muốn truy nhập vào bất kỳ bản sao nào của đơn vị

khoá này phải có khoá của bản sao chính.
+ Khoá không tập trung: Nhiệm vụ khoá đợc chia sẻ cho toàn bộ các vị trí trong
mạng. Trong trờng hợp này, việc thực hiện một giao tác đợc phối hợp với các bộ lập

Trang 25


×