DBMS phân tán - Chiến lược thiết kế

Trong chương trước, chúng tôi đã giới thiệu các phương án thiết kế khác nhau. Trong chương này, chúng ta sẽ nghiên cứu các chiến lược hỗ trợ việc áp dụng các thiết kế. Các chiến lược có thể được chia thành nhân rộng và phân mảnh. Tuy nhiên, trong hầu hết các trường hợp, sự kết hợp của cả hai được sử dụng.

Sao chép dữ liệu

Sao chép dữ liệu là quá trình lưu trữ các bản sao riêng biệt của cơ sở dữ liệu tại hai hoặc nhiều trang web. Đây là một kỹ thuật chịu lỗi phổ biến của cơ sở dữ liệu phân tán.

Ưu điểm của sao chép dữ liệu

  • Reliability - Trong trường hợp bất kỳ trang nào bị lỗi, hệ thống cơ sở dữ liệu vẫn tiếp tục hoạt động kể từ khi có bản sao ở (các) trang khác.

  • Reduction in Network Load- Vì có sẵn các bản sao dữ liệu cục bộ, nên việc xử lý truy vấn có thể được thực hiện với việc giảm mức sử dụng mạng, đặc biệt là trong giờ cao điểm. Cập nhật dữ liệu có thể được thực hiện vào các giờ không phải chính.

  • Quicker Response - Tính sẵn có của các bản sao dữ liệu cục bộ đảm bảo xử lý truy vấn nhanh chóng và do đó thời gian phản hồi nhanh chóng.

  • Simpler Transactions- Các giao dịch yêu cầu ít hơn số lượng kết hợp của các bảng đặt tại các trang web khác nhau và sự phối hợp tối thiểu trên toàn mạng. Do đó, chúng trở nên đơn giản hơn trong tự nhiên.

Nhược điểm của sao chép dữ liệu

  • Increased Storage Requirements- Việc duy trì nhiều bản sao dữ liệu có liên quan đến việc tăng chi phí lưu trữ. Không gian lưu trữ cần thiết là bội số của dung lượng lưu trữ cần thiết cho một hệ thống tập trung.

  • Increased Cost and Complexity of Data Updating- Mỗi khi một mục dữ liệu được cập nhật, bản cập nhật cần được phản ánh trong tất cả các bản sao của dữ liệu tại các trang web khác nhau. Điều này đòi hỏi các kỹ thuật và giao thức đồng bộ phức tạp.

  • Undesirable Application – Database coupling- Nếu các cơ chế cập nhật phức tạp không được sử dụng, việc loại bỏ sự không nhất quán của dữ liệu đòi hỏi sự phối hợp phức tạp ở cấp ứng dụng. Điều này dẫn đến việc ghép nối cơ sở dữ liệu - ứng dụng không mong muốn.

Một số kỹ thuật sao chép thường được sử dụng là -

  • Sao chép ảnh chụp nhanh
  • Sao chép gần thời gian thực
  • Kéo sao chép

Phân mảnh

Phân mảnh là nhiệm vụ chia một bảng thành một tập hợp các bảng nhỏ hơn. Các tập hợp con của bảng được gọi làfragments. Phân mảnh có thể có ba loại: ngang, dọc và kết hợp (kết hợp giữa chiều ngang và chiều dọc). Phân mảnh ngang có thể được phân loại thành hai kỹ thuật: phân mảnh ngang sơ cấp và phân mảnh ngang có nguồn gốc.

Việc phân mảnh nên được thực hiện theo cách để có thể tái tạo lại bảng gốc từ các mảnh. Điều này là cần thiết để bảng gốc có thể được tạo lại từ các mảnh bất cứ khi nào cần thiết. Yêu cầu này được gọi là "tính tái tạo".

Ưu điểm của phân mảnh

  • Do dữ liệu được lưu trữ gần nơi sử dụng nên hiệu quả của hệ thống cơ sở dữ liệu được tăng lên.

  • Các kỹ thuật tối ưu hóa truy vấn cục bộ là đủ cho hầu hết các truy vấn vì dữ liệu có sẵn cục bộ.

  • Vì dữ liệu không liên quan không có sẵn tại các trang web nên có thể duy trì tính bảo mật và quyền riêng tư của hệ thống cơ sở dữ liệu.

Nhược điểm của phân mảnh

  • Khi dữ liệu từ các đoạn khác nhau được yêu cầu, tốc độ truy cập có thể rất cao.

  • Trong trường hợp phân mảnh đệ quy, công việc tái tạo sẽ cần những kỹ thuật đắt tiền.

  • Thiếu các bản sao dự phòng của dữ liệu ở các trang web khác nhau có thể làm cho cơ sở dữ liệu không hiệu quả trong trường hợp trang web bị lỗi.

Phân mảnh theo chiều dọc

Trong phân mảnh theo chiều dọc, các trường hoặc cột của bảng được nhóm thành các đoạn. Để duy trì tính tái tạo, mỗi phân đoạn phải chứa (các) trường khóa chính của bảng. Phân mảnh dọc có thể được sử dụng để thực thi quyền riêng tư của dữ liệu.

Ví dụ, chúng ta hãy xem xét rằng cơ sở dữ liệu trường Đại học lưu giữ hồ sơ của tất cả sinh viên đã đăng ký trong bảng Sinh viên có lược đồ sau.

SINH VIÊN

Regd_No Tên Khóa học Địa chỉ Học kỳ Phí Điểm

Bây giờ, chi tiết phí được duy trì trong phần tài khoản. Trong trường hợp này, nhà thiết kế sẽ phân mảnh cơ sở dữ liệu như sau:

CREATE TABLE STD_FEES AS 
   SELECT Regd_No, Fees 
   FROM STUDENT;

Phân mảnh theo chiều ngang

Phân mảnh theo chiều ngang nhóm các bộ giá trị của một bảng theo các giá trị của một hoặc nhiều trường. Sự phân mảnh theo chiều ngang cũng nên xác nhận quy tắc tái tạo. Mỗi phân mảnh ngang phải có tất cả các cột của bảng cơ sở ban đầu.

Ví dụ, trong lược đồ sinh viên, nếu thông tin chi tiết của tất cả sinh viên Khóa Khoa học Máy tính cần được duy trì tại Trường Khoa học Máy tính, thì người thiết kế sẽ phân mảnh cơ sở dữ liệu theo chiều ngang như sau:

CREATE COMP_STD AS 
   SELECT * FROM STUDENT  
   WHERE COURSE = "Computer Science";

Phân mảnh hỗn hợp

Trong phân mảnh lai, sự kết hợp của kỹ thuật phân mảnh ngang và phân mảnh dọc được sử dụng. Đây là kỹ thuật phân mảnh linh hoạt nhất vì nó tạo ra các phân mảnh với thông tin ngoại lai tối thiểu. Tuy nhiên, việc tái tạo lại bảng gốc thường là một nhiệm vụ tốn kém.

Phân mảnh kết hợp có thể được thực hiện theo hai cách khác nhau:

  • Lúc đầu, tạo một tập hợp các đoạn ngang; sau đó tạo các đoạn thẳng đứng từ một hoặc nhiều đoạn ngang.

  • Lúc đầu, tạo một tập hợp các đoạn thẳng đứng; sau đó tạo các đoạn ngang từ một hoặc nhiều đoạn dọc.