Lí do chọn đề tài Cơ sở dữ liệu phân tán ra đời dựa trên nền tảng chính của cơ sở dữ liệu tập trung với đặcđiểm riêng nổi bật là thiết kế theo phương pháp phân mảnh dữ liệu và sử dụng cá
Trang 1-* -BÀI TẬP LỚN NGUYÊN LÝ VÀ MÔ THỨC PHÁT TRIỂN HỆ PHÂN TÁN
Đề tài: Bài toán tạo và sử dụng hiệu quả bản sao trong
hệ cơ sở dữ liệu phân tán
Giảng viên hướng dẫn:
Năm 2012
Trang 2Nhóm học viên: Trần Đỗ Thu Hà –Nguyễn Đăng Khoa
Trang 3MỤC LỤC
MỞ ĐẦU 2
1 Lí do chọn đề tài 2
2 Mục tiêu và nhiệm vụ nghiên cứu 2
3 Đối tượng và phạm vi nghiên cứu 2
4 Phương pháp nghiên cứu 2
5 Ý nghĩa 2
NỘI DUNG 2
CHƯƠNG I: TỔNG QUAN VỀ HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN 2
1.1 Cơ sở dữ liệu phân tán 2
1.2 Hệ quản trị cơ sở dữ liệu phân tán 4
1.3 Vấn đề phân tán dữ liệu 4
1.3.1 Sự phân mảnh dữ liệu (Fragmentation) 5 1.3.2 Tạo bản sao (Replication) 6 CHƯƠNG II: TẠO BẢN SAO TRONG HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN 6
2.1 Sao lặp dữ liệu 6
2.2 Cơ sở dữ liệu phân tán trong Oracle Express Edition 7
2.2.1 Bản sao cơ sở 7 2.2.2 Bản sao nâng cao 7 2.2.3 Nhóm các bản sao 8 2.2.4 Các vị trí bản sao 8 2.2.5 Database link 9 2.3 Mô hình phân tán sử dụng bản sao 10
CHƯƠNG III: SỬ DỤNG HIỆU QUẢ BẢN SAO TRONG HỆ CƠ SỞ DỮ LIỆU 11
3.1 Quản lí nhiều bản sao 11
3.1.1 Nhân bản một đối tượng thông tin 11 3.1.2 Phương pháp giải quyết mâu thuẫn trong môi trường phân tán 12 3.1.3 Giải thuật quản lí nhiều bản sao 13 3.2 Đồng bộ hóa tiến trình 15
3.3 Xác định trật tự các sự kiện 15
3.3.1 Đồng bộ hóa dựa trên trật tự từng phần 15 3.3.2 Đồng bộ hóa dựa trên trật tự tổng quát chặt chẽ 15 3.4 Sự gắn bó dữ liệu trong hệ thống nhiều bản sao 16
3.5 Giải pháp đảm bảo tính gắn bó dữ liệu trong hệ thống nhiều bản sao 16
3.5.1 Kỹ thuật xác lập trật tự trong hệ thống nhiều bản sao 16 3.5.2 Thuật toán Herman 17 3.5.3 Thuật toán Ellis 17 3.5.4 Giải thuật hai pha tuyến tính (LINEAR 2PC) 17 3.5.5 Giải thuật MAONT (Model Advanced of Open Nested Transaction) 17 KẾT LUẬN 18
1 Kết quả đạt được 18
2 Hướng phát triển 18
TÀI LIỆU THAM KHẢO……… 19
Trang 4MỞ ĐẦU
1 Lí do chọn đề tài
Cơ sở dữ liệu phân tán ra đời dựa trên nền tảng chính của cơ sở dữ liệu tập trung với đặcđiểm riêng nổi bật là thiết kế theo phương pháp phân mảnh dữ liệu và sử dụng các bản sao(replication), dữ liệu phân tán sẽ được cập nhật và lưu tại các trạm, mỗi trạm tương ứng với mộtmáy chủ cơ sở dữ liệu và chỉ thực hiện một số chức năng nhất định Ứng dụng cơ sở dữ liệu phântán có thể khắc phục được các nhược điểm vốn có của cơ sở dữ liệu tập trung như cải thiện năngsuấ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, dễdàng thay đổi, phát triển, … Để quản lý cơ sở dữ liệu phân tán, người ta dùng hệ quản trị cơ sở
dữ liệu phân tán (Distribute Database Management System) Hệ quản trị cơ sở dữ liệu phân tán
là một phần mềm hệ thống cho phép quản lý một cơ sở dữ liệu phân tán và tạo nên sự phân tán
rõ ràng cho người dùng
Trong đề tài này chúng tôi đi sâu tìm hiểu về cách tạo và sử dụng hiệu quả bản sao trong
hệ cơ sở dữ liệu phân tán
2 Mục tiêu và nhiệm vụ nghiên cứu
Mục tiêu nghiên cứu: Nghiên cứu giải pháp sử dụng hiệu quả bản sao trong hệ cơ sở dữ liệu
phân tán
Nhiệm vụ nghiên cứu:
Nghiên cứu hệ sở dữ liệu phân tán
Nghiên cứu tạo và sử dụng hiệu quả bản sao trong hệ cơ sở dữ liệu phân tán
3 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu:
Lý thuyết về hệ cơ sở dữ liệu phân tán
Hệ thống phân tán nhiều bản sao
Các giải thuật đồng bộ và gắn bó dữ liệu giữa các bản sao
Phạm vi nghiên cứu:
Tập trung nghiên cứu việc tạo bản sao trong hệ cơ sở dữ liệu phân tán
Các giải thuật sử dụng hiệu quả bản sao, đồng bộ và gắn bó dữ liệu trong hệ thống nhiềubản sao
4 Phương pháp nghiên cứu
Tìm kiếm và nghiên cứu các tài liệu về lĩnh vực hệ cơ sở dữ liệu phân tán
Dựa trên cơ sở lý thuyết hệ phân tán và các kết quả nghiên cứu được để xây dựng giảipháp sử dụng hiệu quả bản sao
5 Ý nghĩa
Đi sâu về hệ cơ sở dữ liệu phân tán sử dụng bản sao
Đưa ra các giải pháp kỹ thuật cho phép sử dụng hiệu quả bản sao trong hệ cơ sở dữ liệuphân tán
-o0o -NỘI DUNG CHƯƠNG I: TỔNG QUAN VỀ HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN
Khái niệm hệ cơ sở dữ liệu phân tán ở đây bao gồm cả khái niệm cơ sở dữ liệu phân tán
và hệ quản trị cơ sở dữ liệu phân tán
1.1 Cơ sở dữ liệu phân tán
Cơ sở dữ liệu phân tán là một tập hợp các cơ sở dữ liệu có quan hệ logic với nhau, đượcphân phối trên các máy tính khác nhau của một mạng máy tính (được gọi là các nút, trạm hay là
Trang 5site) nhưng vẫn đảm bảo tính nhất quán trên toàn bộ cơ sở dữ liệu và khai thác giống như trên cơ
sở dữ liệu tập trung
Đặc trưng của cơ sở dữ liệu phân tán là các cơ sở dữ liệu được phân bố trên mạng máytính và có quan hệ với nhau về mặt logic
Cấu trúc chung của một cơ sở dữ liệu phân tán có dạng:
Hình 1.1: Cấu trúc mẫu của một cơ sở dữ liệu phân tán Lược đồ toàn cục: Xác định toàn bộ dữ liệu được lưu trữ trong cơ sở dữ liệu phân tán Được định
nghĩa như trong cơ sở dữ liệu tập trung Trong mô hình quan hệ: lược đồ toàn cục là các quan hệ vàmối liên kết giữa chúng
Lược đồ phân đoạn: Mỗi quan hệ tổng thể có thể được chia thành các phần không giao nhau gọi là
phân đoạn (Fragment) Có nhiều cách khác nhau để phân đoạn: Phân đoạn dọc, phân đoạn ngang,phân đoạn hỗn hợp 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 Ví
dụ Ri là đoạn thứ i của quan hệ toàn cục R
thứ i của quan hệ tổng thể R được định vị trên trạm j
Lược đồ ánh xạ địa phương: Ánh xạ các ảnh vật lý và các đối tượng được lưu trữ tại một trạm
Ưu điểm của cơ sở dữ liệu phân tán:
Phù hợp với cấu trúc của tổ chức
Nâng cao khả năng chia sẻ và tính tự trị địa phương
Tính sẵn sàng của hệ thống cao
Nâng cao tính tin cậy
Nâng cao hiệu năng
Dễ mở rộng
Nhược điểm của cơ sở dữ liệu phân tán:
Thiết kế cơ sở dữ liệu phức tạp hơn
Khó điều khiển tính nhất quán dữ liệu
Xử lý: Truy vấn tập trung là đơn giản còn truy vấn phân tán phức tạp, khó phát hiện và khử lỗi
Giá thành cao
Vấn đề về bảo mật cơ sở dữ liệu được lưu trữ ở nhiều nơi nảy sinh vấn đề: đảm bảo an toàn dữ liệu khi truyền qua mạng
Thiếu chuẩn mực
Trang 6 Thiếu kinh nghiệm
1.2 Hệ quản trị cơ sở dữ liệu phân tán
Để quản lý cơ sở dữ liệu phân tán, người ta dùng hệ quản trị cơ sở dữ liệu phân tán
(DDBMS – Distribute Database Management System) Hệ quản trị cơ sở dữ liệu phân tán là hệ
thống phần mềm cho phép quản lý cơ sở dữ liệu phân tán, tạo nên sự phân tán rõ ràng cho ngườidùng và đảm bảo cho sự phân tán đó là trong suốt đối với người sử dụng
Hệ quản trị cơ sở dữ liệu phân tán cung cấp công cụ như tạo lập và quản lý cơ sở dữ liệuphân tán Hệ quản trị cơ sở dữ liệu phân tán có chức năng hỗ trợ việc tạo và bảo trì cơ sở dữ liệuphân tán, chúng có các thành phần tương tự như một hệ quản trị cơ sở dữ liệu tập trung và cácthành phần hỗ trợ trong việc chuyển tải dữ liệu đến các trạm và ngược lại
Hệ quản trị cơ sở dữ liệu thường có các thành phần :
Cơ sở dữ liệu phân tán (distributed database): DDB
Quản trị dữ liệu (database management): DM
Truyền thông dữ liệu (data communication): DC
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
Các dịch vụ của hệ thống trên bao gồm:
• Các ứng dụng truy nhập cơ sở dữ liệu từ xa
• Cung cấp các mức trong suốt phân tán
• Hỗ trợ quản trị và điều khiển cơ sở dữ liệu, bao gồm các bộ công cụ, thu thập thông tin
từ các trình tiện ích, cung cấp cách nhìn tổng quan về các file dữ liệu trên mạng
• Khả năng mở rộng với các hệ thống khác nhau
• Cung cấp khả năng điều khiển đồng thời và phục hồi các giao tác phân tán
Các hệ quản trị cơ sở dữ liệu phân tán thường hỗ trợ về điều khiển tương tranh và khôi phục cáctiến trình phân tán
Hệ quản trị cơ sở dữ liệu phân tán có thể phân làm 2 loại:
Hệ quản trị cơ sở dữ liệu phân tán thuần nhất: cơ sở dữ liệu phân tán có được bằng cách chia một
cơ sở dữ liệu thành một tập các cơ sở dữ liệu cục bộ (Local) và được quản lý bởi cùng một hệ quảntrị cơ sở dữ liệu, cơ sở dữ liệu phân tán có thuần nhất hay không được phụ thuộc bởi các yêu tố phầncứng, hệ điều hành và các hệ quản trị cơ sở dữ liệu cục bộ Tuy nhiên, hạn chế quan trọng tại hệquản trị cơ sở dữ liệu cục bộ, bởi vì nó phụ thuộc vào sự quản lý hệ điều hành mạng truyền thông
Hệ quản trị cơ sở dữ liệu phân tán không thuần nhất: cơ sở dữ liệu phân tán không thuần nhấtđược tích hợp bởi một tập các cơ sở dữ liệu cục bộ được quản lý bởi các hệ quản trị cơ sở dữ liệu
khác nhau Hệ quản trị cơ sở dữ liệu phân tán không thuần nhất thêm việc chuyển đổi các mô hình
dữ liệu của các hệ quản trị cơ sở dữ liệu khác nhau để thống nhất việc quản lý
Nếu việc phát triển cơ sở dữ liệu phân tán theo mô hình Top-down, không phụ thuộc vào
hệ thống trước đó (hệ thống các cơ sở dữ liệu cục bộ), thì việc phát triển một hệ thuần nhất là tốtnhất Tuy nhiên, trong một số trường hợp cần xây dựng cơ sở dữ liệu phân tán từ các cơ sở dữ liệu
đã có thì đòi hỏi phải phát triển một hệ không thuần nhất Phương pháp tốt nhất là tiếp cận từdưới lên (Bottum-up)
1.3 Vấn đề phân tán dữ liệu
Trong nhiều trường hợp các nhà thiết kế ứng dụng không biết dữ liệu phải phân tán ởđâu Trong phần này chúng ta sẽ phác họa một vài vấn đề liên quan đến việc phân tán dữ liệu
Trang 71.3.1 Sự phân mảnh dữ liệu (Fragmentation)
Phần lớn các hệ cơ sở dữ liệu phân tán được thiết kế theo hướng từ trên xuống Thiết
kế phân mảnh dữ liệu là công việc đầu tiên phải thực hiện Mục đích của việc phân mảnh dữ liệu là tạo ra các đơn vị cấp phát logic, sao cho chi phí để thực hiện truy vấn thôngtin là thấp nhất
Trước tiên việc phân tán dữ liệu được thực hiện trên cơ sở cấp phát các tập tin cho các nút trênmột mạng máy tính Các nút mạng thường nằm ở các vị trí địa lý khác nhau trải rộng trên mộtdiện tích lớn Do vậy để tối ưu việc khai thác thông tin thì dữ liệu không thể để tập trung mà phảiphân tán trên các nút của mạng
Hơn nữa một quan hệ không phải là một đơn vị truy xuất dữ liệu tốt nhất Ví dụ như, nếu ứngdụng được thực hiện trên một bộ phận nhỏ các dữ liệu của quan hệ mà quan hệ đó nằm tại các vịtrí khác nhau thì có thể gây ra những truy xuất thừa và hơn thế việc nhân bản các quan hệ làmtốn không gian bộ nhớ Do vậy phân rã một quan hệ thành nhiều mảnh, mỗi mảnh được xử lýnhư một đơn vị sẽ cho phép thực hiện nhiều giao dịch đồng thời Một câu truy vấn ban đầu cóthể được chia ra thành một tập các truy vấn con, các truy vấn này có thể được thực hiện songsong trên các mảnh sẽ giúp cải thiện tốc độ hoạt động của hệ thống
Tuy nhiên chúng ta cũng sẽ gặp những rắc rối của việc phân mảnh, ví dụ nếu các ứng dụng cónhững xung đột sẽ ngăn cản hoặc gây khó khăn cho việc truy xuất dữ liệu Phân rã các mảnh nóichung làm tăng chi phí trong việc truy xuất dữ liệu Một vấn đề nữa liên quan đến việc kiểm soátngữ nghĩa và tính toàn vẹn dữ liệu
Thiết kế phân mảnh bằng cách nhóm một số bộ trong trường hợp phân mảnh ngang haynhóm các thuộc tính trong trường hợp phân mảnh dọc có cùng đặc tính theo quan điểm cấp phát.Các mảnh hình thành bằng các phương pháp phân mảnh tạo ra các đơn vị cấp phát dữ liệu khácnhau
Việc phân tán các mảnh dữ liệu của bảng mang lại nhiều thuận lợi Trong thiết kế cơ sở dữ liệuphân tán, cần thiết phải thực hiện phân mảnh dữ liệu vì những lý do sau đây:
Trong các hệ quản trị cơ sở dữ liệu, các quan hệ được lưu trữ dưới dạng các bảng 2chiều Các thao tác đối với cơ sở dữ liệu được thực hiện trên các bảng
Việc phân rã một quan hệ thành nhiều mảnh, mỗi mảnh được xử lý như một đơn vị dữliệu, sẽ cho phép thực hiện nhiều giao dịch đồng thời
Hơn nữa kỹ thuật phân tán phải có khả năng cải thiện được thời gian và thực hiện đượcviệc truy xuất dữ liệu từ xa Thể hiện của các quan hệ chính là các bảng, vì thế vấn đề là tìmnhững cách khác nhau để chia một bảng thành nhiều bảng nhỏ hơn Có hai phương pháp khácnhau: Chia bảng theo chiều dọc và chia bảng theo chiều ngang Chia dọc ta được các quan hệcon mà mỗi quan hệ chứa một tập con các thuộc tính của quan hệ gốc – gọi là phân mảnh dọc.Chia ngang một quan hệ ta được các quan hệ con mà mỗi quan hệ chứa một số bộ của quan hệgốc – gọi là phân mảnh ngang Ngoài ra còn có một khả năng hỗn hợp, đó là phân mảnh kết hợpcách phân mảnh ngang và dọc
Một phương pháp thiết kế phân mảnh đúng đắn phải thỏa mãn ba ràng buộc sau:
- Tính đầy đủ: Toàn bộ dữ liệu của quan hệ tổng thể phải được ánh xạ vào các đoạn quan hệ và
ngược lại Điều này có nghĩa là, không tồn tại một mục dữ liệu nào thuộc vào quan hệ tổng thể
mà không thuộc vào bất kỳ một đoạn nào
- Xây dựng lại: Quan hệ tổng thể có thể được xây dựng lại từ các đoạn mà nó đã tách ra Điều
kiện này là hiển nhiên, bởi vì trong thực tế chỉ có các đoạn được lưu trữ trong cơ sở dữ liệu phântán, và quan hệ tổng thể phải được xây dựng lại thông qua các đoạn khi cần thiết
Trang 8- Tính rời nhau: các đoạn được tách ra từ quan hệ tổng thể phải là rời nhau Vì vậy, việc tạo các
bản sao phải rõ ràng với các đoạn được chia Tuy nhiên, điều kiện này chỉ áp dụng chính vàoviệc phân đoạn ngang, trong khi việc phân đoạn dọc nhiều khi vẫn được phép vi phạm điều kiệnnày
1.3.2 Tạo bản sao (Replication)
Replication là một trong những kỹ thuật thường dùng nhất trong cơ sở dữ liệu phân tán.
Việc sao chép dữ liệu ở nhiều nơi cung cấp thêm nhiều chức năng bởi vì dữ liệu vẫn có thể đượctruy xuất nếu một nơi nào đó bị hư hỏng Nó có khả năng cải tiến được việc thực thi: Việc truyxuất dữ liệu được thực hiện có hiệu quả hơn vì dữ liệu được lấy tại nơi cục bộ hoặc từ một bảnsao ở gần đó Việc cập nhật dữ liệu thường bị chậm bởi vì ta phải cập nhật dữ liệu ở tất cả các
bản sao Do đó việc thực thi replication này thường được áp dụng cho những ứng dụng mà việc cập nhật xảy ra ít hơn truy vấn.
Cơ sở dữ liệu được sao thành nhiều bản sao từng phần, hay đầy đủ và được đặt ở hai haynhiều vị trí trên mạng Nếu bản sao của cơ sở dữ liệu được lưu trữ tại mọi trạm, ta có trường hợp
sao lặp đầy đủ Phương thức này làm cực đại việc truy nhập tới dữ liệu ở mọi địa phương Tuy
nhiên, phương thức này nảy sinh nhiều vấn đề khi cập nhật dữ liệu (khi có thay đổi dữ liệu ở một
cơ sở thì cần được xử lý lại và đồng bộ hóa dữ liệu cho tất cả các vị trí khác) Một kỹ thuật mớihơn cho phép tạo các bản sao không đầy đủ phù hợp với yêu cầu dữ liệu mỗi trạm lưu trữ và mộtbản sao đầy đủ ở máy dịch vụ Sau mỗi thời gian, các bản sao được làm đồng bộ với bản chính ởmáy dịch vụ bằng một công cụ phần mềm nào đó Việc quản lý dữ liệu bằng phương pháp dùngnhiều bản sao của một đối tượng thông tin trong hệ phân tán giúp rút ngắn được thời gian truycập trung bình vào thông tin
-o0o -CHƯƠNG II: TẠO BẢN SAO TRONG HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN
Trong một hệ thống lớn có nhiều người truy nhập với các quyền sử dụng khác nhau và cóthể ở mội địa điểm, chi nhánh lại truy nhập vào cơ sở dữ liệu với mục đích khác nhau, có thể ởtừng địa điểm có thể không cần phải dùng đến toàn bộ dữ liệu Tạo bản sao có thể giải quyếtđược các vấn đề về hiệu năng (có thể phân tải, giảm băng thông, tăng tốc độ truy cập); Vấn đề vềtính sẵn sàng có thể khắc phục nhanh chóng khi dịch vụ bị lỗi hoặc cơ sở dữ liệu bị lỗi Chính vìvậy ta cần tạo bản sao trong cơ sở dữ liệu nói chung và cơ sở dữ liệu phân tán nói riêng
2.1 Sao lặp dữ liệu
Có 2 cách cơ bản để tạo bản sao trong hệ cơ sở dữ liệu phân tán: Cơ sở dữ liệu được saothành nhiều bản sao, có thể sao các thành phần nào đó trong cơ sở dữ liệu hoặc sao đầy đủ cơ sở
dữ liệu và đặt chúng ở các vị trí khác nhau trên mạng
Dữ liệu có thể được sao thành nhiều bản sao đầy đủ và đặt ở mọi trạm, trường hợp này tagọi là sao lặp đầy đủ Phương thức này làm cực đại việc truy nhập tới dữ liệu ở mọi địa phương.Phương thức này có thể là không cần thiết trong trường hợp ở địa phương nào đó các trạm chỉcần đến một phần nào đó của dữ liệu thì nếu ta tạo bản sao đầy đủ có thể dẫn đến lãng phí vàphương thức này cũng nảy sinh nhiều vấn đề khi cập nhật khi có thay đổi dữ liệu ở một cơ sở thìcần được xử lý lại và đồng bộ hóa dữ liệu cho tất cả vị trí khác
Một kỹ thuật mới hơn cho phép tạo các bản sao không đầy đủ phù hợp với yêu cầu dữliệu tại mỗi nơi lưu trữ và một bản sao đầy đủ ở máy dịch vụ Sau một thời gian định trước nào
đó thì các bản sao sẽ được đồng bộ hóa với bản chính ở máy dịch vụ
Tùy theo yêu cầu của hệ thống và yêu cầu sử dụng mà ra sử dụng cách lưu trữ nào chothích hợp
Có thể phân biệt thành 3 loại bản sao:
Trang 9- Các bản sao thường trực: Trong tiến trình hay trên máy luôn có một bản sao Số lượng các bảnsao thường xuyên này rất ít, thường được tập hợp lại thành nhóm các máy trạm (COWs) hoặctrong các hệ thống phản chiếu (mirrored), thường là các web server hay là các server có chứa cơ
sở dữ liệu dự phòng
- Bản sao khởi đầu từ server: Các bản sao này được sử dụng để làm tăng hiệu năng, được xếp đặtđộng dựa vào yêu cầu của server khác Một ví dụ điển hình là chúng được các công ty webhosting sử dụng để định vị vị trí địa lý của các bản sao gần nhất khi họ cần
- Bản sao khởi đầu từ client: Các bản sao này được tạo ra từ yêu cầu của client, chẳng hạn nhưviệc cache dữ liệu của một trình duyệt Chúng được xếp đặt động dựa vào yêu cầu của client
2.2 Cơ sở dữ liệu phân tán trong Oracle Express Edition
2.2.1 Bản sao cơ sở
Với bản sao cơ bản, bản sao dữ liệu cung cấp truy cập chỉ đọc bảng dữ liệu có nguồn gốc
từ bản chính (master) Các ứng dụng có thể truy vấn dữ liệu từ bản sao dữ liệu địa phương đểtránh truy cập mạng bất kể mạng có sẵn Tuy nhiên, dữ liệu trên các bản sao sẽ được cập nhậtđịnh kỳ
Oracle hỗ trợ môi trường bản sao chỉ đọc sử dụng bảng read-only snapshot
Hình 2.1: Bản sao cơ bản chỉ đọc
2.2.2 Bản sao nâng cao
Oracle nâng cao tính năng bản sao, mở rộng khả năng của bản sao chỉ đọc cơ bản bằngcách cho phép các ứng dụng để cập nhật các bản sao bảng trong một hệ thống cơ sở dữ liệu bảnsao Với bản sao tiên tiến, các bản sao dữ liệu bất cứ nơi nào trong hệ thống có thể cung cấp đọc
và cập nhật truy cập vào dữ liệu của bảng Các máy chủ cơ sở dữ liệu Oracle tự động làm việc đểhội tụ các dữ liệu của tất cả các bản sao, và đảm bảo tính nhất quán giao dịch toàn cục và toànvẹn dữ liệu
Trang 10Hình 2.2: Bản sao nâng cao
2.2.3 Nhóm các bản sao
Một nhóm bản sao là một tập hợp các máy chủ, được gọi là thành viên, tham gia vào sựsao chép của một hoặc nhiều thư mục Một thư mục được tái tạo là một thư mục mà được giữđồng bộ hóa trên mỗi thành viên Trong hình, có hai thư mục bản sao là projects và proposals.Khi thay đổi dữ liệu trong mỗi thư mục bản sao, các thay đổi được thông báo qua kết nối giữacác thành viên của nhóm bản sao Các kết nối giữa tất cả các thành viên tạo thành cấu trúc liênkết bản sao
Hình 2.3: Nhóm bản sao và thư mục bản sao
Mỗi thư mục bản sao cũng đã thiết lập riêng của mình, chẳng hạn như các bộ lọc tập tin
và thư mục con, do đó có thể lọc ra các tập tin và thư mục con khác nhau cho mỗi thư mục bảnsao
Oracle cho phép bản sao:
Các vị trí máy chủ: phải chứa một bản sao đầy đủ của tất cả các đối tượng có trong nhómbản sao Mỗi máy chủ sẽ chuyển các thay đổi của nó tới vị trí máy khách cho các nhóm bản sao
Trang 112.2.5 Database link
Database link là một con trỏ xác định một con đường liên kết một chiều từ một máy chủ
cơ sở dữ liệu Oracle đến một máy chủ cơ sở dữ liệu khác Các cơ sở dữ liệu khác không cần phải
là một hệ thống cơ sở dữ liệu Oracle Tuy nhiên, để truy cập hệ thống Oracle không, bạn phải sửdụng dịch vụ Oracle không đồng nhất Con trỏ liên kết được định nghĩa như là một mục trongmột bảng dữ liệu từ điển Để truy cập vào liên kết, bạn phải được kết nối với cơ sở dữ liệu địaphương có chứa các mục từ điển dữ liệu
Database link kết nối là một đường để client kết nối tới cơ sở dữ liệu địa phương A, cóthể sử dụng một liên kết được lưu trữ trong cơ sở dữ liệu A để truy cập thông tin trong cơ sở dữliệu B từ xa, nhưng người sử dụng kết nối với cơ sở dữ liệu B không có thể sử dụng liên kếtgiống như liên kết để truy cập dữ liệu trong cơ sở dữ liệu A Nếu người dùng địa phương trên cơ
sở dữ liệu B muốn truy cập dữ liệu trên cơ sở dữ liệu A, sau đó họ phải sử dụng một liên kết màđược lưu trữ trong từ điển dữ liệu cơ sở dữ liệu B
Một kết nối liên kết cơ sở dữ liệu cho phép người dùng địa phương truy cập dữ liệu trênmột cơ sở dữ liệu từ xa Mỗi cơ sở dữ liệu trong hệ thống phân tán phải có một tên cơ sở dữ liệuduy nhất toàn cục trong miền network Tên cơ sở dữ liệu toàn cục xác định duy nhất một máychủ cơ sở dữ liệu trong một hệ thống phân tán Nói cách khác, một người dùng địa phương cóthể truy cập vào một liên kết đến một cơ sở dữ liệu từ xa mà không cần phải là một người sửdụng trên cơ sở dữ liệu từ xa Người dùng truy cập một cơ sở dữ liệu từ xa thôngqua các database link
Các loại Database link:
Database link có 3 loại là database link private hoặc database link public, database linkglobal Nếu họ là private chỉ có người tạo ra các liên kết mới có quyền truy cập, nếu public thì tất
cả người dùng cơ sở dữ liệu đều có thể truy cập Database link được hệ thống tạo ra Khi mộtmạng lưới Oracle sử dụng một máy chủ chỉ dẫn, máy chủ chỉ dẫn sẽ tự động tạo ra và quản lýdatabase link global cho mỗi cơ sở dữ liệu Oracle trong mạng Người sử dụng và các chươngtrình con trong cơ sở dữ liệu bất kỳ có thể sử dụng database link để truy cập các đối tượng trong
cơ sở dữ liệu từ xa tương ứng
Người dùng của Database link:
Connected user: Người sử dụng địa phương truy cập vào một liên kết cơ sở dữ liệu trong
đó không có tên người dùng và mật khẩu cố định đã được chỉ định
Ví dụ: CREATE PUBLIC DATABASE LINK hq USING 'hq';
Current user: Người sử dụng phải được chứng thực bởi một chứng chỉ X.509 (một doanh
nghiệp xác thực người sử dụng SSL) hay một mật khẩu, và là một người sử dụng trên cảhai cơ sở dữ liệu liên quan đến liên kết Liên kết người dùng hiện tại là một khía cạnh củacác tùy chọn bảo mật nâng cao của Oracle
Ví dụ: CREATE PUBLIC DATABASE LINK hq CONNECT TO CURRENT_USER using 'hq';
Fixed user: Một người sử dụng có tên người dùng / mật khẩu Nếu một liên kết bao gồm
một người sử dụng cố định, tên người dùng và mật khẩu của người sử dụng cố định được
sử dụng để kết nối với cơ sở dữ liệu từ xa
Ví dụ: CREATE PUBLIC DATABASE LINK hq CONNECT TO jane IDENTIFIED BY doeUSING 'hq';