Cơ sở dữ liệu phân tán
2. các quy tắc của Date và các vấn đề quản lí dữ liệu phân tán năm 1987, C.J.Date, một trong những ngời đầu thiên thiết kế csdlqh, đã đa ra 12 quy tắc cho các hệ thống quản lí csdl phân tán hoàn toàn.các quy tắcnày không đòi hỏi thể hiện tuyệt đối. Chúng đợc chấp nhận rộng rãi trong phân định các csdl phân tán.2.1 quy tắc 1- tự trị địa phơng quy tắc phát biểu là trong một môi trờng csdl phân tán thực sự, các site (khu trú hqtcsdl) sẽ là tự quản, hay độc lập với những site khác. quy tắc này giả thiết rằng mỗi site chứa csdl phân tán đợc đặc trng hoá bởi các điểm sau:- một csdl địa phơng (đối với site đã cho) đợc cất giữ bởi chính hqtcsdl của nó.- Hqtcsdl ở mỗi site chuyển bảo mật, tích hợp dữ liệu, chắc chắn dữ liệu, khoá, và phục hồi cho chính csdl của nó.- Các hoạt động truy nhập dữ liệu địa phơng sử dụng chỉ tài nguyên địa ph-ơng (tức là hqtcsdl địa phơng)- Mặc dù mỗi site là độc lập nhau trong các hoạt động địa phơng, nhng tất cả các site hợp tác trong truy nhập dữ liệu phân tán từ nhiều site trong 1 giao dịchQuy tắc đầu của Date hoàn toàn logic trong kiến trúc csdl phân tán. thí dụ, môi trờng csdl phân tán theo kiến trúc c/s trong hình 11.1. gồm 3 client nối với 2 server csdl. Các site Client là các chi nhánh B1,B2,B3. Mỗi chi nhánh duy trì một csdl khách hàng địa phơng, cùng với các dữ liệu tài khoản saving, checking, tất cả đợc quản lí bằng hqtcsdl. Server S1 và S2 là các trung tâm xử lí của hệ thống ngân hàng, duy trì các csdl tài khoản checking, saving của tất cả các khách hàng,và các bản copy (sao) của tất cả các khách hàng.Quy tắc này cho phép, thí dụ nh, một chi nhánh mở các tài khoản khách hàng khi chi nhánh kia đóng cửa, ngay cảa nếu một hay cả 2 trung tâm xử lí dữ liệu không hoạt động (thí dụ tạm ngừng để duy trì cuối tuần.). hơn nữa, các giao dịch địa phơng có tất cả các thuộc tính tự chủ, chắc chắn, cô lập, và bền của giao dịch dữ liệu.Ngợc lại, vi phạm quy tắc này, thì các chi nhánh và các trung tâm dịch vụ phải là online, ngay cả khi một khách hàng sử dụng máy truy nhập tiền mặt ở chi nhánh.2.2. quy tắc 2 không dựa (reliance) ở một site trung tâmquy tắc này bổ xung cho quy tắc 1. Quy tắc này phát biểu rằng hệ thống csdl phân tán thực sự không tin/dựa (rely)vào một site trung tâm. điều này có nghĩa là không 1 site hqtcsdl (Server hqtcsdl) nào là quan trọng và cần thiết hơn các site khác.quy tắc này chỉ ra rằng một môi trờng hqtcsdl phân tán sẽ không xây dựng dựa vào 1 (và chỉ một ) site riêng biệt nào. phụ thuộc vào 1 site trung tâm có thể thành một cổ chai cho toàn bộ sự lu thông và thực hiện của hệ thống. Cũng vậy, một site trung tâm có thể sẽ là một điểm đơn thất bại của toàn bộ hệ thống phân tán.quy tắc này cũng cho thấy rằng một hqtcsdl phân tán không nên có 1 site tập trung, ngay cả trên quan điểm điều khiển troàn cục. Trái lại, ngay cả thí dụ về khẳng định 2 bớc trong môi trờng giao dịch phân tán cũng cần có một điều phối viên trung tâm để quản lí quá trình khẳng định phân tán. nhng điểm trung tâm một cách logic này cũng chỉ tồn tại trong khoảng thời gian giao dịch phân tán chứ không phải có cố định. Nh một nhóm ngời họp để bỏ phiếu làm quyết định về chính sách nào đó thì cũng phải bầu một ngời điều khiển cuộc họp và thông báo kết quả cuối cùng.Trong 1 môi trờng csdl phân tán, quy tắc này có thể đợc thể hiện nh sau:- mỗi site sẽ nắm quyền điều khiển tập trung của mình, xử lí csdl địa phơng, và quản lí từ điển dữ liệu. điều cuối này sẽ kéo theo từ điển đợc phân tán, có thể là bản sao đầy đủ, để các đối tợng dữ liệu, cả địa phơng lẫn từ xa, đợc biết ở mỗi site. Vì thế, để xử lí ứng dụng, các hqtcsdl phân tán phải giữ từ điểnpt ở các site.- Không site tập trung phải đợc bao gồm trong mọi giao dịch phân tán. nói cách khác, nếu Server S1 đợc chọn làm site trung tâm, thì nó không phải tham gia trong một truy vấn khách hàng đợc xuất phát và thực hiện ở Client chi nhánh B1.- Một hqtcsdl ở bất kì vị trí nào (bất kì Server hqtcsdl trong kiến trúc c/s) có thể hoạt động nh ngời quản lí csdl phân tán (tức là ngời điều phối khẳng định 2 bớc).2.3. quy tắc 3 thực hiện liên tụcquy tắc 3 chỉ ra rằng hqtcsdl phân tán không nên tắt. quy tắc này có nghĩa là không hoạt động csdl có kế hoạch nào bao gồm cả cất giữ hay sao lu phục hồi các csdl đòi hỏi phải ngắt hệ thống.thí dụ, xét hệ thống ngân hàng. ta giả thiết rằng một trong các chi nhánh của ngân hàng ở London, anh. ngân hàng quyết định thực hiện bảo trì thờng kì csdl của nó (thí dụ dự phòng và tổ chức lại) ở trung tâm xử lí dữ liệu ở New York (Server S1) vào ngày thứ 6 của 1 kỳ nghỉ cuối tuần. hoạt động nh vậy không ngân cản chi nhánh London khỏi công việc bình thờng của nó.về mặat kĩ thuật, hoạt động liên tục trong môi trờng csdl phân tán có thể đợc thực hiện bởi các nét hqtcsdl phân tán nh:- hỗ trợ dự phòng và thêm vào on-line đầy đủ và tăng cờng/lớn lên (dữ liệu đã đợc thay đổi từ lần dự phòng trớc). nói cách khác, mỗi Server csdl sẽ có khả năng dự phòng csdl của nó on-line (trực tuyến), trong khi xử lí các giao dịch khác.- hỗ trợ cho phục hồi csdl nhanh chóng (tốt nhất là online). một cách làm nhanh phục hồi là giữ ảnh gơng của csdl có thể (mirror image). Một số Server csdl có khả năng mirror đĩa trong kiến trúc phần cứng của nó. Một số hqtcsdl dùng mirror đĩa băng phần mềm để chống lỗi.- Hỗ trợ cho thứ lỗi hqtcsdl (thứ lỗi của hqtcsdl thờng yêu cầu thứ lỗi của phần cứng)2.4. quy tắc 4 - độc lập địa phơng dữ liệu quy tắc này mô tả mong muốn cao của hqtcsdl phân tán thực sự. Quy tắc xác định một môi trờng trong đó dữ liệu phân tán trên nhiều site, nhng nsd và các ứng dụng không cần biết dữ liệu phân tán và ở đâu.1 hqtcsdl phân tán thoả mãn quy tắc 4 của Date sẽ cung cấp cho nsd và các ứng dụng một hình ảnh đơn csdl, mà nó là địa phơng với nsd và ứng dụng mà nó xuất hiện. Vì thế, quy tắc 4 thỉnh thoảng đợc gọi là quy tắc trong suốt địa phơng dữ liệu. Trong kiến trúc c/s, một ứng dụng Client từ xa tiêu biểu đối với Server csdl, mà Server csdl này hỗ trợ cho quy tắc độc lập địa phơng dữ liệu là cực kì quan trọng.Một số thể hiện của quy tắc này đã đợc mô tả trong các phơng pháp phân tán dữ liệu. Thử xem nếu quy tắc này không có trong thí dụ ngân hàng. Nếu một khách hàng chuyển toàn bộ tài khoản của mình từ chi nhánh này đến chi nhánh khác, các chúng tôi liên quan đến các tài khoản của khách hàng này phải đợc thay đổi để phù hợp với vị trí dữ liệu mới.Hơn nữa, không trong suốt địa phơng dữ liệu sẽ yêu cầu mọi ứng dụng phải biết rõ vị trí của ứng dụng. Thiếu trong suốt địa phơng dữ liệu , dữ liệu địa ph-ơng phải đợc phân biệt với dữ liệu từ xa. Vì thế nếu 1 ứng dụng phải di chuyển từ nơi này đến nơi khác thì nó phải thay đổi lại cho phù hợp.Vì thế từ điển/chỉ dẫn dữ liệu đóng vai trò quan trọng. để thực hiện trong suốt địa phơng dữ liệu, ngời thiết kế của hqtcsdl phân tán phải tiếp cận đợc các mục tiêu sau:- nsd và các ứng dụng sẽ thích sử dụng dữ liệu bằng tên hiệu hơn.- từ điển dữ liệu phân tán phải duy trì một bảng các phần từ dữ liệu, tên hiệu của nó, và vị trí của nó.- Hqtcsdl phân tán sẽ có thể duy trì tự động và sử dụng từ điển dữ liệu này ngay cả khi một đối tợng dữ liệu nào đó đã bị chuyển đến vị trí khác.- để mọi nsd và ứng dụng thấy đợc csdl phân tán nh csdl địa phơng đơn thì hqtcsdl phân tán phải phân tán (sao) từ điển dữ liệu đến mọi site, duy trì các bản sao của từ điển dữ liệu và đồng dạng của chúng qua các hệ thống phân tán địa phơng.Thờng trong suốt địa phơng dữ liệu đợc a thích hơn bởi các thực thể dữ liệu. Trong trờng hợp mh csdlhq, quy tắc trong suốt địa phơng đợc làm chủ đạo với các csdl và các bảng.Thật vậy, thí dụ các khách hàng ở NY đợc giữ trong bảng Customer t chi nhánh NY, trong khi chi nhánh London giữ các khách hàng địa phơng của nó. Trong kịch bản này, hoạt động truy nhập dữ liệu chủ yếu đợc phân cho các địa phơng băng các giao dịch từ xa, hay yêu cầu từ xa, hiếm khi có yêu cầu các bảng phân tán kêt hợp nhau lại một cách logic.Nhiều nhà cung cấp hqtcsdl ngày nay thể hiện ít nhất một số mức độ trong suốt địa phơng dữ liệu bằng cách hỗ trợ các giao dịch/yêu cầu từ xa sử dụng các biến thể khác nhau của tiếp cận từ điển dữ liệu.2.5. quy tắc 5 - độc lập phân mảnh dữ liệu nh đã nói trong các phơng pháp phân tán dữ liệu, dữ liệu có thể đợc phân chia thành các mảnh. Và chúng có thể đợc phân tán trên nhiều site. Quy tắc thứ 5 của Date nói rằng: trong 1 csdl phân tán thực sự, 1 bảng bị phân mảnh phải xuất hiện nh 1 bảng đơn đối với nsd và các ứng dụng. Nói cách khác, phân mảnh phải đợc trong suốt đối với nsd và các ứng dụng.Trong suốt phân mảnh dữ liệu có liên quan chặt chẽ với quy tắc 4 về trong suốt vị trí dữ liệu. Tuy nhiên, quy tắc trong suốt vị trí dữ liệu nói chủ yếu đến các đối tợng nh các csdl và các bảng. Trong khi trong suốt phân mảnh dữ liệu nói về, thí dụ nh, tình trạng khi 1 bảng đơn bị phân mảnh thành nhiều phần, mỗi phần đặt ở 1 site khác nhau (h.11.2). Khó khăn của hỗ trợ trong suốt phân mảnh dữ liệu là việc xây dựng lại bảng nguyên thuỷ từ các mảnh. truy nhập dữ liệu phân mảnh nào đó có thể yêu cầu kết hợp logic dữ liệu từ 2 mảnh thành 1 bảng không phân mảnh. Thí dụ, nếu 1 bảng Employee bị phân mảnh thành 2 mảnh: cá nhân và thuốc (mỗi mảnh ở 1 Server của nó) thì thông tin đầy đủ về 1 nhân viên cần phải kết hợp 2 mảnh này. thí dụ nh:Begin workSelect *FromCommit workKhi dữ liệu từ 1 bảng bị phân tán thành các mảnh, truy nhập dữ liệu đến các mảnh có thể yêu cầu xây dựng lại bảng quan niệm. Tuỳ theo kiểu phân mảnh (dọc hay ngang), ứng dụng có thể yêu cầu các hqtcsdl nhập 2 bảng (nh trong trờng hợp phân mảnh dọccủa bảng Employee trong h.11.2). các bảng bị phân mảnh theo chiều ngang có thể xây dựng lại băng cách sử dụng 1 toán tử SQL UNION. Thí dụBegin workSelect *FromCommit workTrong suốt phân mảnh dữ liệu yêu cầu thể hiện trong suốt địa phơng dữ liệu trong phạm vi đợc mô tả. nhng nếu chỉ sử dụng 1 từ điển dữ liệu thì không đầy đủ để thực hiện trong suốt phân mảnh dữ liệu. Không để ý đến kiểu phân mảnh dữ liệu, truy nhập dữ liệu phân mảnh có thể yêu cầu dữ liệu từ nhiều vị trí trong 1 giao dịch đơn. truy nhập dữ liệu có thể là giao dịch phân tán hay 1 yêu cầu phân tán. và cũng cần phải đồng bộ hoá các từ điển csdl phân tán.Giao dịch và các yêu cầu phân tán đa lại nhiều vấn đề nghiêm trọng nh: điều phối cập nhật phân tán, tích hợp dữ liệu phân tán, tính vững chắc. chỉ 1 số ít các nhà cung cấp hqtcsdl là có thể nhắm đến hỗ trợ trong suốt phân mảnh dữ liệu (thí dụ inforix).2.6. Quy tắc 6 - độc lập nhân bản (sao) dữ liệu. . kiểu phân mảnh dữ liệu, truy nhập dữ liệu phân mảnh có thể yêu cầu dữ liệu từ nhiều vị trí trong 1 giao dịch đơn. truy nhập dữ liệu có thể là giao dịch phân. hqtcsdl phân tán phải phân tán (sao) từ điển dữ liệu đến mọi site, duy trì các bản sao của từ điển dữ liệu và đồng dạng của chúng qua các hệ thống phân tán