1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình Cơ sở dữ liệu phân bổ - CĐN Công nghiệp Hà Nội

93 14 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 93
Dung lượng 0,96 MB

Nội dung

Giáo trình gồm 4 chương với những nội dung: Tổng quan về cơ sở dữ liệu và mạng máy tính và cơ sở dữ liệu phân bố; thiết kế cơ sở dữ liệu phân bố; xử lý vấn tin; quản lý giao dịch;... mời các bạn cùng tham khảo!

TRƯỜNG CAO ĐẲNG NGHỀ CÔNG NGHIỆP HÀ NỘI Tác giả Bùi Quang Ngọc Nguyễn Thị Nhung GIÁO TRÌNH CƠ SỞ DỮ LIỆU PHÂN BỔ (Lưu hành nội bộ) Hà Nội năm 2011 Tuyên bố quyền Giáo trình sử dụng làm tài liệu giảng dạy nội trường cao đẳng nghề Công nghiệp Hà Nội Trường Cao đẳng nghề Công nghiệp Hà Nội không sử dụng không cho phép cá nhân hay tổ chức sử dụng giáo trình với mục đích kinh doanh Mọi trích dẫn, sử dụng giáo trình với mục đích khác hay nơi khác phải đồng ý văn trường Cao đẳng nghề Công nghiệp Hà Nội CHƯƠNG TỔNG QUAN 1.1.Tổng quan sở liệu mạng máy tính 1.1.1.Tổng quan Cơ sở liệu 1.1.2 Tổng quan mạng máy tính 1.2 Tổng quan sở liệu phân bố 1.2.1 Khái niệm Cơ sở liệu phân bố 1.2.2 Các đặc điểm Cơ sở liệu phân bố so với Cơ sở liệu tập trung 1.2.3 Hệ quản trị Cơ sở liệu phân bố CHƯƠNG CÁC PHƯƠNG PHÁP PHÂN Bố DỮ LIỆU 10 2.1.Thiết kế sở liệu phân bố 10 2.1.1 Các mục tiêu thiết kế phân bố liệu 10 2.1.2 Cách tiếp cận từ xuống cách tiếp cận từ lên để thiết kế phân bố liệu 11 2.2 Các vấn đề thiết kế 14 2.2.1 Lý phân mảnh 14 2.2.2 Các kiểu phân mảnh 14 2.2.2.1 Phân mảnh ngang 15 2.2.2.2 Phân mảnh dọc 29 2.2.2.3 Phân mảnh hỗn hợp 39 2.2.3 Cấp phát 40 2.2.3.1 Bài toán cấp phát 40 2.2.3.2 Yêu cầu thông tin 40 2.2.3.3 Mơ hình cấp phát 41 CHƯƠNG XỬ LÝ VẤN TIN 44 3.1 Bài toán xử lý vấn tin 44 3.2 Phân rã vấn tin 48 3.3 Cục hóa liệu phân bố 56 3.4 Tối ưu hoá vấn tin phân bố 61 3.4.1 Không gian tìm kiếm 62 3.4.2 Chiến lược tìm kiếm 65 3.4.3 Mơ hình chi phí phân bố 66 3.4.4 Xếp thứ tự nối vấn tin theo mảnh 71 CHƯƠNG QUẢN LÝ GIAO DỊCH 78 4.1 Các khái niệm 78 Mơ hình khố 85 4.3 Mơ hình khố đọc khố ghi 89 4.4 Thuật toán điều khiển tương tranh nhãn thời gian 91 CHƯƠNG TỔNG QUAN 1.1.Tổng quan sở liệu mạng máy tính 1.1.1.Tổng quan Cơ sở liệu Cơ sở liệu (Database, viết tắt CSDL) lĩnh vực nghiên cứu mơ hình, ngun lý, phương pháp tổ chức liệu vật mang tin Phần mềm dùng quản lý xử lý thông tin cấu trúc thông tin gọi hệ DBMS (Hệ thống quản lý sở liệu- DataBase Mangement System) Cơ sở liệu thành phần hệ DBMS Bạn nghĩ hình dung đơn giản CSDL danh sách thông tin trang niên giám điện thoại chẳng hạn, trang danh sách chứa mục thông tin – gồm tên, địa chỉ, sdt – mô tả người thuê bao điện thoại vùng ( thơng tin mô tả đối tượng) Tất thông tin người thuê bao dùng chung mẫu (cấu trúc) Theo thuật ngữ CSDL trang niên giám tương đương với bảng (table) liệu mà thơng tin người thuê bao đại diện hay biểu diễn ghi (record) hay bạn gọi “mẩu tin” Thông tin ghi mô tả người thuê bao chứa mục :tên, địa sdt Các ghi xếp theo thứ tự abc gọi khóa dùng để tìm kiếm cần Để dễ dàng cho việc giải thích khái niệm, trước hết xem xét hệ thống bán vé máy bay máy tính Dữ liệu lưu trữ máy tính bao gồm thơng tin hành khách, chuyến bay, đường bay v v Mọi thông tin mối quan hệ biểu diễn máy thông qua việc đặt chỗ khách hàng Vậy làm để biểu diễn liệu đảm bảo cho hành khách chuyến Dữ liệu nêu lưu máy theo quy định gọi sở liệu Như vậy, CSDL hệ thống thông tin cú cấu trúc lưu trữ thiết bị lưu trữ thông tin thứ cấp (như băng từ, đĩa từ) để cú thể thỏa mãn yêu cầu khai thác thông tin đồng thời nhiều người sử dụng hay nhiều chương trỡnh ứng dụng với nhiều mục đích khác (hay CSDL tập hợp thơng tin có quan hệ với lưu trữ máy tính theo qui định định nhằm phục vụ cho mục đích đó.) 1.1.2 Tổng quan mạng máy tính Mạng máy tính tập hợp máy tính nối với môi trường truyền (đường truyền) theo cấu trúc thơng qua máy tính trao đổi thơng tin qua lại cho Môi trường truyền hệ thống thiết bị truyền dẫn có dây hay khơng dây dùng để chuyển tín hiệu điện tử từ máy tính đến máy tính khác Các tín hiệu điện tử biểu thị giá trị liệu dạng xung nhị phân (on – off) Tất tín hiệu truyền máy tính thuộc dạng sóng điện từ Tùy theo tần số sóng điện từ dùng mơi trường truyền vật lý khác để truyền tín hiệu Ở mơi trường truyền kết nối dây cáp đồng trục, cáp xoắn, cáp quang, dây điện thoại, sóng vô tuyến … Các môi trường truyền liệu tạo nên cấu trúc mạng Hai khái niệm môi trường truyền cấu trúc đặc trưng mạng máy tính Hình 1.2: Một mơ hình liên kết máy tính mạng Tốc độ truyền liệu đường truyền cịn gọi thơng lượng đường truyền – thường tính số lượng bit truyền giây (bps) 1.2 Tổng quan sở liệu phân bố 1.2.1 Khái niệm Cơ sở liệu phân bố Vì yêu cầu công ty, doanh nghiệp, đơn vị kinh doanh vấn đề tổ chức cho kinh doanh có hiệu nắm bắt thơng tin nhanh sở công ty địa điểm xa xây dựng hệ thống làm việc sở liệu phân bố phù hợp xu hướng hệ thống thoả mãn yêu cầu tổ chức đơn vị Lợi điểm tổ chức kỹ thuật xu hướng phát triển sở liệu phân bố là: giải hạn chế sở liệu tập trung phù hợp xu hướng phát triển tự nhiên với cấu không tập trung tổ chức, công ty doanh nghiệp Nói cách đơn giản, sở liệu phân bố tập hợp liệu logic thuộc hệ thống trải rộng nhiều điểm mạng máy tính Như có hai vấn đề sở liệu phân bố với tầm quan trọng tương đương nhau: Việc phân bố: Trong thực tế liệu khơng đặt vị trí đặc điểm để phân biệt sở liệu phân bố với sở liệu tập trung sở liệu đơn lẻ Liên quan logic: Trong sở liệu phân bố, liệu có số đặc tính liên kết chặt chẽ với tính kết nối, tính liên quan logíc Trong sở liệu tập trung, vị trí quản lý sở liệu người sử dụng phải truy cập đến sở liệu vị trí khác để lấy thơng tin tổng hợp 1.2.2 Các đặc điểm Cơ sở liệu phân bố so với Cơ sở liệu tập trung Cơ sở liệu tập trung với sở liệu khơng qua thiết kế hình thành trước có sở liệu phân bố Hai hình thức phát triển sở tự phát hệ thống tập trung Như hai hình thức khơng đáp ứng yêu cầu tổ chức công việc phạm vi lớn Cơ sở liệu phân bố thiết kế khác sở liệu tập trung Do cần đối sánh đặc trưng sở liêu phân bố với sở liệu tập trung để thấy lợi ích sở liệu phân bố Đặc trưng mô tả sở liệu tập trung điều khiển tập trung, độc lập liệu, giảm bớt dư thừa, cấu vật lý phức tạp khả truy cập, toàn vẹn, hồi phục, điều khiển tương tranh, biệt lập an toàn liệu Điều khiển tập trung: Điều khiển tập trung nguồn thông tin công việc hay tổ chức Có người quản trị đảm bảo an tồn liệu Trong sở liệu phân bố: không đề cập đến vấn đề điều khiển tập trung Người quản trị sở liệu chung phân quyền cho người quản trị sở liệu địa phương Độc lập liệu: nhân tố tác động đến cấu trúc sở liệu để tổ chức liệu chuyển cho chương trình ứng dụng Tiện lợi độc lập liệu chương trình ứng dụng không bị ảnh hưởng thay đổi cấu trúc vật lý liệu Trong sở liệu phân bố, độc lập liệu có tầm quan trọng sở liệu truyền thống Khái niệm sở liệu suốt mô tả hoạt động chương trình sở liệu phân bố viết làm việc sở liệu tập trung Hay nói cách khác tính đắn chương trình khơng bị ảnh hưởng việc di chuyển liệu từ nơi sang nơi khác mạng máy tính Tuy nhiên tốc độ làm việc bị ảnh hưởng có thời gian di chuyển liệu Giảm dư thừa liệu: Trong sở liệu tập trung, tính dư thừa hạn chế nhiều tốt vì: -Dữ liệu khơng đồng có vài sở liệu logic; để tránh nhược điểm giải pháp có -Giảm khơng gian lưu trữ Giảm dư thừa có nghĩa cho phép nhiều ứng dụng truy cập đến sở liệu mà không cần đến nhiều nơi chương trình ứng dụng cần Trong sở liệu truyền thống tính dư thừa liệu cần quan tâm vì: -Tính cục chương trình ứng dụng tăng liệu đặt nơi mà chương trình ứng dụng cần -Khả sẵn sàng hệ thống cao có lỗi nơi hệ thống khơng cản trở hoạt động chương trình ứng dụng Nói chung, nguyên nhân đối lập với tính dư thừa đưa mơi trường truyền thống cịn cho hệ thống phân bố cơng việc định giá mức độ tốt tính dư thừa địi hỏi định giá lại công việc lựa chọn mức độ dư thừa liệu Cơ sở liệu phân bố khắc phục hai nhược điểm liệu chia thành nhiều phần nhỏ có logic tổng thể để tiện cho việc truy cập liệu Cấu trúc vật lý khả truy cập: người sử dụng truy cập đến sở liệu tập trung phải thông qua cấu trúc truy cập phức tạp: định vị sở liệu, thiết lập đường truyền Trong sở liệu phân bố, cấu trúc truy cập phức tạp cơng cụ để truy cập hiệu đến sở liệu Hiệu có nghĩa thời gian tìm kiếm chuyển liệu nhỏ nhất, chi phí truyền thơng thấp Mỗi cách thức truy cập sở liệu phân bố viết người lập trình tạo tối ưu Công việc viết cách thức truy cập sở liệu phân bố giống viết chương trình duyệt sở liệu tập trung Cơng việc mà chương trình duyệt làm xác định xem truy cập đến sở liệu Tính tồn vẹn, hồi phục điều khiển tương tranh: Mặc dù sở liệu, tính tồn vẹn, hồi phục điều khiển đồng thời liên quan nhiều vấn đề liên quan lẫn Mở rộng vấn đề việc cung cấp giao tác Giao tác đơn vị việc thực hiện: giao tác cụ thể bó cơng việc thực tồn khơng thực Trong sở liệu phân bố, vấn đề điều khiển giao tác tự trị có ý nghĩa quan trọng: hệ thống điều phối phải chuyển đổi quỹ thời gian cho giao tác liên tiếp Như giao tác tự trị phương tiện đạt tồn vẹn sở liệu Có hai mối nguy hiểm giao tác tự trị lỗi tương tranh Tính biệt lập an tồn: sở liệu truyền thống, người quản trị hệ thống có quyền điều khiển tập trung, người sử dụng có chắn phân quyền truy cập vào liệu Điểm quan trọng cách tiếp cận sở liệu tập trung, không cần thủ tục điều khiển chuyên biệt Trong sở liệu phân bố, người quản trị địa phương phải giải vấn đề tương tự người quản trị sở liệu truyền thống Tuy nhiên, hai vấn đề đặc biệt sau sở liệu phân bố có ý nghĩa quan trọng đề cập đến: -Thứ sở liệu phân bố với cấp độ tự trị cao điểm, người có liệu địa phương cảm thấy an tồn họ tự bảo vệ liệu thay phụ thuộc vào người quản trị hệ thống tập trung -Thứ hai, vấn đề an toàn thực chất với hệ thống phân bố không giống hệ thống thơng thường khác mà cịn liên quan đến mạng truyền thông Như sở liệu phân bố vấn đề an toàn sở liệu phức tạp đòi hỏi nhiều kỹ thuật bảo vệ Nguyên nhân gây hệ thống có tính mở nhiều người dùng hệ thống sử dụng nhiều sở liệu 1.2.3 Hệ quản trị Cơ sở liệu phân bố Hệ quản trị sở liệu phân bố cung cấp công cụ tạo lập quản lý sở liệu phân bố Phân tích đặc điểm hệ thống quản trị sở liệu phân bố để phân biệt hệ thống phát triển theo kiểu thương mại có sẵn kiểu mẫu phân bố Hệ thống phát triển theo kiểu thương mại có sẵn phát triển người cung cấp hệ sở liệu tập trung Hệ sở liệu tập trung mở rộng cách thêm vào phần bổ xung qua cách cung cấp thêm đường truyền điều khiển hệ quản trị sở liệu tập trung cài đặt điểm khác mạng máy tính Những phần mềm cần thiết cho việc xây dựng sở liệu phân bố là: Phần quản lý sở liệu (Database Management - DB) Phần truyền thông liệu (Data Communication - DC) Từ điển liệu mở rộng để thể thông tin phân bố liệu mạng máy tính (Data Dictionary - DD) Phần sở liệu phân bố (Distributed Database DDB) Mơ hình thành phần hệ quản trị sở liệu phát triển theo kiểu thương mại (Truy cập từ xa trực tiếp) Cơ sở liệu địa phương DB DDB DC Những dịch vụ hệ quản trị sở liệu cung cấp: -Cách thức truy cập liệu từ xa: chương trình ứng dụng -Lựa chọn cấp độ suốt phân bố thích hợp: cho phép mở rộng hệ thống theo nhiều cách khác theo hoàn cảnh (phải cân nhắc cấp độ suốt phân bố phân chia công việc thực để công việc quản trị hệ thống đơn giản hơn) -Quản trị điều khiển sở liệu bao gồm công cụ quản lý sở liệu, tập hợp thông tin thao tác sở liệu cung cấp thông tin tổng thể file liệu đặt nơi hệ thống -Điều khiển tương tranh điều khiển hồi phục liệu giao tác phân bố Cách thức truy cập sở liệu từ xa qua chương trình ứng dụng theo hai cách bản: Truy cập từ xa trực tiếp gián tiếp Mơ hình truy cập từ xa qua phương thức sở hệ quản trị sở liệu Theo mơ hình trực tiếp trên, chương trình ứng dụng đưa yêu cầu truy cập đến sở liệu từ xa, yêu cầu hệ quản trị sở liệu tự động tìm nơi đặt liệu thực yêu cầu điểm Kết trả lại cho chương trình ứng dụng Đơn vị chuyển đổi hai hệ trị sở liệu phương thức truy cập sở liệu kết nhận (thông qua việc thực phương thức truy cập này) Với cách thức truy cập từ xa cấp độ suốt phân bố xây dựng cách tạo tên file tồn để đánh địa thích hợp cho điểm lưu trữ liệu xa Mô hình mơ tả cách thức truy cập phức tạp (truy cập gián tiếp): Theo mơ hình truy cập này, chương trình ứng dụng thực yêu cầu qua chương trình phụ điểm khác Chương trình phụ người lập trình ứng dụng viết để truy cập từ xa đến sở liệu trả kết chương trình ứng dụng yêu cầu Hệ quản trị sở liệu phân bố cung cấp hai kiểu truy cập bỏi cách truy cập có ưu điểm CHƯƠNG CÁC PHƯƠNG PHÁP PHÂN Bố DỮ LIỆU 2.1.Thiết kế sở liệu phân bố 2.1.1 Các mục tiêu thiết kế phân bố liệu Thuật ngữ thiết kế sở liệu phân bố có nghĩa rộng khơng xác Thiết kế sở liệu tập trung gồm có cơng việc sau: -Thiết kế sơ đồ khái niệm: mô tả sở liệu hợp (mọi liệu sử dụng ứng dụng sở liệu) -Thiết kế sở liệu vật lý: tham chiếu từ lược đồ khái niệm tới vùng lưu trữ xác định cách thức truy cập khác Trong sở liệu phân bố, có hai vấn đề xảy thiết kế sơ đồ toàn thiết kế sở liệu vật lý địa phương (ở vị trí) Những kỹ thuật ứng dụng cho hai vấn đề giống sở liệu phân bố Trong sở liệu phân bố bổ xung vào hai vấn đề nữa: -Thiết kế phân đoạn: xác định cách thức phân chia quan hệ toàn thành đoạn liệu theo chiều dọc ,chiều ngang kiểu hỗn hợp -Thiết kế cấp phát đoạn liệu: xác định cách thức đoạn liệu tham khảo đến ảnh vật lý xác định đoạn liệu Thiết kế phân đoạn nghiên cứu gần đây, nhiên công việc phân đoạn trở thành đặc trưng sở liệu phân bố Bên cạnh vấn đề cấp phát 10 cho việc truy xuất liệu có hiệu Chẳng hạn mơ hình liệu quan hệ, chọn mục lớn quan hệ, mục nhỏ hay thành phần Kích thước mục liệu hệ thống sử dụng gọi độ mịn (granularity) hệ thống Một hệ thống gọi mịn (fine-grained), sử dụng mục liệu nhỏ hệ thống thơ (coarse-grained), sử dụng mục liệu lớn Độ thơ giảm chi phí quản lý việc truy cập mục, ngược lại độ mịn lại cho phép nhiều hoạt động đồng thời Phương pháp thông dụng để điều khiển việc truy cập mục sử dụng khoá chốt (lock) Bộ quản lý khoá chốt (lock manager) thành phần DBMS trịu trách nhiệm theo dõi mục I có giao dịch đọc ghi vào thành phần I hay khơng Nếu có quản lý khố chốt cản trở ngăn cản khơng cho giao dịch khác truy cập I trường hợp truy cập xảy xung đột, chẳng hạn việc bán ghế chuyến máy bay hai lần  Bộ xếp lịch giao thức Để ngăn ngừa bế tắc người ta sử dụng lập lịch (scheduler) giao thức Bộ lập lịch thành phần hệ thống sở liệu, có vai trị làm trọng tài phân xử yêu cầu có xung đột, chịu trách nhiệm xếp lịch biểu cho thao tác giao dịch Chẳng hạn biết cách loại bỏ khoá sống lập lịch “đến trước phục vụ trước” Một lập lịch xử lý khố gài tính bất khả cách: Nó buộc giao dịch phải đợi khoá mà giao dịch yêu cầu giải phóng Buộc giao dịch phải huỷ bỏ tái thực Giao thức theo nghĩa tổng quát nhất, hạn chế chuỗi bước nguyên tử mà giao dịch thực hiện, qui tắc mà giao dịch phải tuân theo Chẳng hạn, chiến lược tránh khoá gài cách yêu cầu khoá chốt mục theo thứ tự cố định giao thức  Các tính chất giao dịch 1) Tính nguyên tử Quản lý giao dịch cố gắng làm cho thao tác phức tạp xuất dạng nguyên tử (atomic) Nghĩa thao tác xảy trọn vẹn khơng xảy Nếu 79 xảy ra, khơng có biến cố hay giao dịch xảy suốt thời gian tồn Cách thơng dụng nhằm đảm bảo tính nguyên tử giao dịch phương pháp hoá (serialization) Phương pháp làm cho giao dịch thực Một giao dịch khơng có tính ngun tử nếu: - Trong hệ thống phân chia thời gian, lát thời gian cho giao dịch T kết thúc T tính tốn hoạt động giao dịch khác thực trước T hồn tất Hoặc - Một giao dịch khơng thể hồn tất Chẳng hạn phải chấm dứt chừng, thực phép tính khơng hợp lệ, địi hỏi liệu không quyền truy xuất Bản thân hệ thống CSDL buộc giao dịch ngừng lại nhiều lý Chẳng hạn giao dịch bị kẹt khoá gài Trong thực tế, giao dịch có chuỗi bước như: đọc hay ghi mục liệu (item) vào CSDL thực phép tính tốn số học đơn giản vùng làm việc, bước sơ đẳng khác bước khố chốt, giải phóng khố, uỷ thác (hồn tất) giao dịch có bước khác Chúng ta giả sử bước sơ đẳng nguyên tử Thậm chí thao tác kết thúc lát thời gian xảy tính tốn xem ngun tử Bởi xảy vùng làm việc cục khơng có ảnh hưởng đến vùng làm việc giao dịch thực dở phép tính số học tái hoạt động trở lại 2)Tính quán (consistency) Tính quán giao dịch đơn giản tính đắn Nói cách khác, giao dịch chương trình đắn, ánh xạ sở liệu từ trạng thái quán sang trạng thái quán khác Việc xác nhận giao dịch quán vấn đề điều khiển liệu ngữ nghĩa Cơ sở liệu tạm thời không quán giao dịch thực hiện, phải trở trạng thái quán kết thúc giao dịch Tính qn giao dịch muốn nói đến hành động giao dịch đồng thời Chúng ta mong CSDL quán có số yêu cầu người sử dụng đồng thời truy nhập đến CSDL Tính chất phức tạp nảy sinh xét đến CSDL có nhân Nếu sở liệu nhân bản, tất phải có trạng thái giống vào lúc kết thúc giao dịch Điều gọi tính tương đương bản, trạng thái quán gọi trạng thái quán tương hỗ 80 3) Tính biệt lập Tính biệt lập tính chất giao dịch, địi hỏi giao dịch phải ln nhìn thấy sở liệu quán Nói cách khác, giao dịch thực thi khơng thể làm lộ kết cho giao dịch khác hoạt động trước uỷ thác Có số lý cần phải nhấn mạnh đến tính biệt lập: Một phải trì tính qn qua lại giao dịch Nếu hai giao dịch đồng thời truy xuất đến mục liệu chúng cập nhật khơng thể bảo đảm giao dịch thứ hai đọc giá trị Hai là, tính biệt lập cho phép khắc phục tượng huỷ bỏ dây chuyền (cascading abort) Bởi giao dịch cho phép giao dịch khác đọc mục mà thay đổi trước có uỷ thác, bị huỷ bỏ, thao tác đọc giá trị mục phải huỷ bỏ theo Điều gây chi phí đáng kể cho DBMS Vấn đề biệt lập có liên quan trực tiếp đến tính quán CSDL đề tài điều khiển đồng thời 4) Tính bền vững Tính bền vững muốn nói đến tính chất giao dịch bảo đảm giao dịch uỷ thác, kết trì cố định khơng bị xố khỏi CSDL Vì DBMS bảo đảm kết giao dịch tồn dù có xảy cố hệ thống Đây lý mà nhấn mạnh giao dịch uỷ thác trước thơng báo cho người sử dụng biết hồn tất thành cơng, tính bền vững đưa vấn đề khơi phục liệu, nghĩa cách khôi phục CSDL trạng thái quán mà hành động uỷ thác phản ánh  Tính khả lịch biểu việc sử dụng chúng Mục đích giao thức điều khiển tương tranh xếp lịch thực cho không xảy tác động lẫn chúng Có giải pháp đơn giản: Chỉ cho phép giao dịch thực thời điểm Nhưng mục đích hệ quản trị sở liệu đa người dùng lại tối đa hoá thực đồng thời hệ thống cho giao dịch thực đồng thời không ảnh hưởng lẫn Lịch biểu dãy (có thứ tự) thao tác tập giao dịch tương tranh mà thứ tự mỗt thao tác giao dịch bảo toàn Đây vấn đề xử lý hoạt động đồng thời có liên quan đến nhà thiết kế CSDL nhà thiết kế hệ thống đồng thời tổng quát 81 Giả sử có tập giao dịch S={T1, T2, T3, } Lịch biểu tuần tự: Chúng ta thấy giao dịch thực theo thứ tự đó, thao tác giao dịch thực nhau, khơng có thao tác giao dịch khác xen kẽ vào cố tranh chấp chắn khơng xảy CSDL có kết Chúng ta định nghĩa lịch biểu cho tập giao dịch S thứ tự (có thể xen kẽ) bước của giao dịch (khoá, đọc, ghi, ) thực Các bước giao dịch cho phải xuất lịch biểu theo thứ tự xảy giao dịch Lịch biểu khơng tuần tự: Là lịch mà thao tác tập giao dịch tương tranh xen kẽ vào Bởi ln có lịch biểu cho tập giao dịch S giả sử hoạt động giao dịch đồng thời đắn tác dụng giống tác dụng có lịch biểu Lịch biểu gọi khả (serializable) tác dụng giống với tác dụng lịch biểu Lịch biểu gọi bất khả tác dụng khơng giống với tác dụng lịch biểu Mục tiêu xếp lịch với tập giao dịch đồng thời, đưa lịch biểu khả Trong việc hoá, thứ tự thao tác đọc ghi quan trọng: - Nếu hai thao tác đọc mục liệu chúng khơng ảnh hưởng đến thứ tự chúng không quan trọng - Nếu hai thao tác đọc hay ghi hai mục liệu hồn tồn khác chúng khơng ảnh hưởng đến thứ tự chúng không quan trọng - Nếu thao tác ghi mục liệu thao tác khác đọc hay ghi mục liệu thứ tự chúng quan trọng Xét lịch biểu Lịch biểu Lịch biểu khả Lịch biểu bất khả T1 T1 T1 Read A A:=A-10 T2 T2 ReadA T2 ReadA ReadB A:=A-10 82 WriteA A:=A-10 Read B ReadB B:=B –20 B:=B+10 WriteA WrieA WriteB B:=B-20 WriteB ReadB ReadB B:=B-20 WriteB B:=B+10 B:=B+10 ReadC C:=C+20 WriteB WriteB Write C (a) WriteB Read C Read C C:=C+20 ReadB C:=C+20 WriteC (b) Write C (c) Hình 4.1 Một số lịch biểu Hình 4.1 (a) lịch biểu Hình 4.1 (b) lịch biểu khả Hình 4.1 (c) lịch biểu bất khả Trong thực tế, qua tính chất đại số đơn gặp lịch biểu bất khả cho kết so với lịch biểu  Các kỹ thuật điều khin tng tranh bng khoỏ Các thuật toán điều Các tht to¸n C¸c tht to¸n  Khố Kho¸ Lai Kho¸ Nh·n Nh·n Khoá (Lock) đặc quyền giao dịch quản thêi thêilý khoá trao cho để truy cập mục liệu Hay khoá biến gắn với mục liệu sở liệu để biểu diễn trạng thái mục liệu mối liên quan đến thao tác thực Bộ quản lý khố thu hồi lại khố Tại thời điểm, mục liệu X có trạng thái: 83 - Có khố đọc (read-lock)( cịn gọi khố chia sẻ – shared lock): cho phép giao dịch đọc mục không cập nhật mục - Có khố ghi (wrire-lock) ( cịn gọi khố độc quyền – exclusive lock): cho phép thực hai thao tác đọc ghi - Khơng có khố Các khố sử dụng theo cách sau: + Bất kỳ giao dịch cần truy cập vào mục liệu trước hết phải khố mục liệu lại Giao dịch yêu cầu khoá đọc cần đọc liệu yêu cầu khoá ghi vừa cần đọc cần ghi liệu + Nếu mục liệu chưa bị khố giao dịch khác khố cấp phát theo u cầu + Nếu mục liệu bị khố, HQT CSDL xác định xem khố u cầu có tgương thích với khố hành hay khơng Khi giao dịch u cầu cấp khố đọc cho mục liệu mà mục có khố đọc (của giao dịch khác) khố yêu cầu cấp phát Trong trường hợp khoá u cầu khố ghi giao dịch u cầu khoá phải chờ khoá hành giải phóng cấp khố + Một giao dịch tiếp tục giữ khoá thời điểm khố giải phóng, thời điểm nằm trình thực giao dịch thời điểm giao dịch chuyển giao hay bị huỷ bỏ Chỉ khố ghi giải phóng kết cua thao tác ghi thấy giao dịch khác Một số hệ thống cho phép giao dịch đưa khoá đọc mục liệu sau nâng cấp khố lên thành khố ghi Điều cho phép giao dịch kiểm tra liệu trước, sau định có cập nhật hay khơng Bộ quản lý khố lưu khố bảng khoá (lock table) Khi điều khiển hoạt động tương tranh khố, xảy tình huống: Khố sống (live-lock) tình mà giao dịch yêu cầu khoá mục mà chẳng nhận khố ln có giao dịch khác giữ khoá mục (khoá sống mục A giao dịch T khoá khơng khố A A ln bị khố giao dịch khác), có số lần giao dịch có hội nhận khố mục Rất nhiều giải pháp nhà thiết kế hệ điều hành đề xuất vấn đề 84 giải khố sống Có thể sử dụng chiến lược đơn giản “đến trước, phục vụ trước” để loại bỏ khoá sống Bế tắc hay khoá gài (deadlock) tình mà giao dịch tập hay nhiều giao dịch đợi nhận khoá mục bị khoá giao dịch khác tập giao dịch ngược lại (một mục giao dịch bị gài giao dịch khác ngược lại) Ví dụ Giả sử có hai giao dịch đồngthời T1 T2 sau: T1 : Lock A ; Lock B ; Unlock A ; Unlock B; T2 : Lock B ; Lock A ; Unlock B ; Unlock A; T1 T2 thực số tác vụ A B Giả sử T1 T2 thực lúc T1 yêu cầu trao khoá A, cịn T2 u cầu trao khố B Do T1 u cầu khố B phải đợi T2 khố B Tương tự T2 u cầu khố A phải đợi T1 khố A Kết không giao dịch tiếp tục hoạt động được: giao dịch phải đợi giao dịch mở khoá, chúng phải đợi chẳng nhận khoá yêu cầu Để tránh bế tắc sử dụng giải pháp: (i) Buộc giao dịch phải đưa tất yêu cầu khoá lúc quản lý khoá trao tất khố cho chúng được, khơng trao cho giao dịch đợi hay nhiều khoá yêu cầu bị giữ giao dịch khác (ii) Gán thứ tự tuyến tính cho mục yêu cầu tất giao dịch phải xin khoá theo thứ tự (iii) Một cách khác để xử lý bế tắc định kỳ kiểm tra u cầu khố phát có xảy bế tắc không Bằng cách dùng đồ thị chờ, với nút biểu diễn giao dịch cung Ti  Tj biểu thị Tj đợi nhận khoá mục Ti giữ Nếu đồ thị có chu trình, bế tắc xảy ra, khơng có chu trình kết luận khơng có khố gài hay bế tắc Nếu khố gài bị phát hiện, hệ thống buộc giao dịch bị bế tắc phải khởi động lại tác dụng giao dịch sở liệu phải hoàn toàn trả lại Mơ hình khố Khố (Lock) đặc quyền truy cập mục liệu mà quản lý khố (lock manager) trao cho giao dịch thu hồi lại Trong mơ hình giao dịch có sử dụng khố khơng có thao tác đọc ghi mục mà cịn có thao tác 85 khố (lock) mở khoá (unlock) chúng Mỗi mục khoá phải mở khố sau Với mục A, bước lock A unlock A giao dịch, giao dịch phải coi giữ khố A Trong mơ hình này, dựa giả định sau: - Một khoá phải đặt mục trước đọc hay ghi mục - Các thao tác khố hoạt động sở đồng hoá, nghĩa giao dịch khố mục bị khố trước giao dịch khác, khơng thể thao tác mục khố giải phóng lệnh mở khoá giao dịch giữ khoá trước thực - Mỗi giao dịch mở khố khố - Một giao dịch khơng u cầu khố mục giữ khố mục đó, mở khố mục mà khơng giữ khố mục Các lịch biểu tuân theo quy tắc gọi hợp lệ Ví dụ : Xét hai giao dịch đồng thời T1 T2 truy xuất đến mục liệu A theo mơ hình là: T1 Lock A T2 Lock A Read A Read A A:=A+1 A:=A+1 Write A Write A Unlock A Unlock A Nếu T1 bắt đầu trước T2, u cầu khố mục A Giả sử khơng có giao dịch khoá A, quản lý khoá cho khố mục Khi có T1 truy xuất đến mục Nếu T2 bắt đầu trước T1 chấm dứt T2 thực Lock A, hệ thống buộc T2 phải đợi Chỉ đến T1 thực lệnh Unlock A, hệ thống cho phép T2 tiến hành Như vậy, T1 hoàn thành trước T2 bắt đầu kết sau hai giao dịch, giá trị A 32 Với mơ hình này, để kiểm tra tính khả lịch biểu, ta xem xét thứ tự mà giao dịch khoá mục cho Thứ tự phải thống với thứ tự lịch biểu tương đương Đây thực chất việc kiểm tra đồ thị có chu trình hay khơng Thuật tốn 2.1: Kiểm tra tính khả lịch biểu Nhập: Một lịch biểu S cho tập giao dịch T1, T2 , , Tk 86 Xuất: Khẳng định S có khả hay khơng? Nếu có đưa lịch biểu tương đương với S Phương pháp: Bước 1: Tạo đồ thị có hướng G (gọi đồ thị hố), có nút giao dịch, cung đồ thị xác định sau: Gọi S a1, a2, an thao tác giao dịch có dạng Tj : Lock Am Tj : Unlock Am với Tj giao dịch thực thao tác khoá mở mục Am Nếu Tj : Unlock Am hành động ap có dạng Ts : Lock Am Nếu s  j vẽ cung từ Tj đến Ts Cung có nghĩa lịch biểu tương đương, Tj phải trước Ts Bước 2: Kiểm tra, G có chu trình S bất khả Nếu G khơng có chu trình ta tìm thứ tự tuyến tính cho giao dịch, Ti trước Tj có cung từ Ti  Tj Để tìm thứ tự tuyến tính đó, ta thực q trình xếp topo sau Đầu tiên ta xuất phát từ nút Ti khơng có cung vào (ta ln tìm thấy nút thế, khơng G đồ thị có chu trình), liệt kê Ti loại bỏ Ti khỏi G Sau lặp lại q trình đồ thị khơng cịn nút Khi đó, thứ tự nút liệt kê thứ tự giao dịch Ví dụ 2.3: Giả sử ta có lịch biểu ba giao dịch T1, T2, T3 sau T1 : Lock A T2 : Lock B T2 : Lock C T2 : Unlock B T1 : Lock B T1 : Unlock A T2 : Lock A T2 : Unlock C T2 : Unlock A T3 : Lock A 87 T3 : Lock C T1 : Unlock B T3 : Unlock C T3 : Unlock A T1 T2 T3 Hình 2.4 Đồ thị thứ tự giao dịch Đồ thị có nút T1, T2 T3 Các cung xây dựng sau: bước (4) ta có T2 : Unlock B, bước có lệnh Lock B bước (5) T1: Lock B Vậy ta vẽ cung từ T2  T1 bước (6) ta có T1 : Unlock A, bước có lệnh Lock A bước (7) T2: Lock A Vậy ta vẽ cung từ T1  T2 bước (8) ta có T2 : Unlock C, bước có lệnh Lock C bước (11) T3: Lock C Vậy ta vẽ cung từ T2  T3 bước (9) ta có T2 :Unlock A, bước có lệnh Lock A bước (10) có T3: Lock A Vậy ta vẽ cung từ T2  T3 Đồ thị có chu trình nên lịch biểu cho bất khả Ví dụ : Lịch biểu ba giao dịch T1, T2, T3 (1) T2 : Lock A (2) T2 : Unlock A (3) T3 : Lock A (4) T3 : Unlock A (5) T1 : Lock B (6) T1 : Unlock B (7) T2 : Lock B (8) T2 : Unlock B 88 T1 T2 T3 Hình 2.5 Đồ thị cho ba giao dịch 4.3 Mơ hình khố đọc khố ghi Trong mơ hình khố bản, ta giả sử khố mục thay đổi mục Trên thực tế, có trường hợp giao dịch truy cập mục theo nghĩa đọc giá trị mục khơng thay đổi giá trị mục Vì ta phân biệt hai loại truy cập: đọc (read only) đọc ghi (read write), ta tiến hành số thao tác đồng thời bị cấm mơ hình khố Khi đó, ta phân biệt hai loại khoá sau: Khoá đọc (read lock or shared lock) ký hiệu RLock hoạt động sau: giao dịch T muốn đọc mục A thực lệnh RLock A, ngăn không cho giao dịch khác ghi giá trị vào A T khoá A, giao dịch khác giữ khố đọc A lúc với T Khoá ghi (write lock) ký hiệu WLock hoạt động mơ hình khố bản, nghĩa giao dịch muốn thay đổi giá trị mục A thực lệnh WLock A Khi khơng giao dịch lấy khố đọc khố ghi mục Cả khố đọc khố ghi mở lệnh Unlock Ngồi giả định mơ hình khố bản, ta có thêm giả định giao dịch yêu cầu khố ghi mục mà giữ khoá đọc Hai lịch biểu tương đương nếu: - Chúng sinh giá trị cho mục, - Mỗi khoá đọc áp dụng giao dịch xảy hai lịch biểu vào lúc mục bị khố có giá trị Thuật tốn 2.2: Kiểm tra tính khả lịch biểu với khoá đọc / ghi Nhập: Một lịch biểu S cho tập giao dịch T1, T2 , , Tk Xuất: Khẳng định S có khả hay khơng? Nếu có đưa lịch biểu tương đương với S 89 Phương pháp: Bước 1: Chúng ta xây dựng đồ thị có hướng G (gọi đồ thị hố), có nút giao dịch Các cung đồ thị xác định quy tắc sau: Giả sử S, Ti nhận khoá đọc khoá ghi mục A, Tj giao dịch khoá ghi A, i  j, ta đặt cung từ Ti  Tj Giả sử S, giao dịch Ti khoá ghi A, Tm khoá đọc A sau Ti mở khoá A trước giao dịch khác khoá ghi A, i  m, ta đặt cung từ Ti  Tm Bước 2: Kiểm tra, G có chu trình S bất khả Nếu G khơng có chu trình xếp topo G thứ tự giao dịch Ví dụ 2.5: Một lịch biểu bốn giao dịch : (1) T2 : RLock A (2) T3 : RLock A (3) T2 : WLock B (4) T2 : Unlock A (5) T3 : WLock A (6) T2 : Unlock B (7) T1 : RLock B (8) T3 : Unlock A (9) T4 : RLock B (10) T1 : RLock A (11) T4 : Unlock B (12) T1 : WLock C (13) T1 : Unlock A (14) T4 : WLock A (15) T4 : Unlock A (16) T1 : Unlock B (17) T1 : Unlock C Đồ thị hoá lịch biểu trình bày hình 2.6 Các nút bốn giao dịch T1 , T2 , T3 , T4 Các cung xác định sau: bước (4) T2 mở khoá mục A Bước (5) T3 khoá ghi mục A, T3 phải sau T2, có cung từ T2 đến T3 bước (6) T2 mở khoá mục B 90 Bước (7) T1 khoá đọc mục B T4 bước (9) Như T1 T4 phải sau T3, có cung từ T2 đến nút bước (8) T3 mở khoá mục A, Bước (10) T1 khoá đọc mục A khoá ghi mục A T4 bước (14) Như T1 T4 phải sau T3, có cung từ T3 đến nút bước (13) T1 mở khoá mục A, bước (14) T4 khoá ghi mục A, T4 phải sau T1, có cung từ T1 đến T4 T1 T2 T4 T3 Sắp xếp topo cho đồ thị ta thứ tự giao dịch là: T1 T2 T3  T4 Giao thức hai pha mơ hình trước áp dụng cho mơ hình Các khố đọc khoá ghi trước bước mở khoá, điều đảm bảo tính khả lịch biểu Trong mơ hình ta rút qui tắc liên quan đến việc trao khoá sau: Một khố đọc mục trao cho giao dịch khơng có khố ghi giao dịch khác giữ Một khố ghi mục trao cho giao dịch khơng có khố đọc khoá ghi giao dịch khác giữ mục 4.4 Thuật tốn điều khiển tương tranh nhãn thời gian Để đảm bảo tính khả lịch biểu, ngồi mơ hình sử dụng khố trình bày Ta sử dụng nhãn thời gian (timestamp) ý tưởng gán cho giao dịch nhãn thời gian, điểm bắt đầu giao dịch  Thiết lập nhãn thời gian Nếu tất giao dịch lập lịch gán nhãn thời gian lập lịch trì đếm số lượng giao dịch lập lịch Khi có giao dịch yêu cầu lập lịch, lập lịch tăng đếm số lượng lên đơn vị gán trị số cho giao dịch có u cầu Như vậy, khơng thể xảy trường hợp hai giao dịch có nhãn 91 thời gian, thứ tự tương đối nhãn thời gian giao dịch thứ tự mà giao dịch thực Một cách gán nhãn thời gian khác cho giao dịch dùng giá trị đồng hồ hệ thống thời điểm bắt đầu giao dịch Trong trường hợp tồn nhiều xếp lịch hệ thống CSDL chạy máy đa xử lý hệ CSDL phân bố, ta phải gán thêm hậu tố cho nhãn thời gian Hậu tố định danh xử lý tương ứng Khi đó, việc đồng hố đếm đồng hồ dùng xử lý yêu cầu quan trọng để đảm bảo tính khả lịch biểu  Đảm bảo tính khả nhãn thời gian Qui tắc trì thứ tự nhãn thời gian sau Giả sử ta có giao dịch có nhãn thời gian t muốn thực thao tác X mục có thời điểm đọc tr thời điểm ghi tw thì: a/ Cho thực thao tác nếu: X = Read t  tw X = Write t  tr t tw Trong trường hợp trước, đặt thời điểm đọc t t > trvà trường hợp sau, đặt thời điểm ghi t t > tw b/ Khơng thực X = Write tr  t < tw c/ Huỷ bỏ giao dịch nếu: X = Read t < tw X = Write t < tr Ví dụ : Trong RLock xem Read, WLock xem Write, bước Unlock không tồn Các giao dịch T1, T2 , T3, T4 có nhãn thời gian 100, 200, 300, 400 bước (1) , T2 (có nhãn thời gian t = 200) đọc A (có WT = 0), tức t  tw Thao tác phép, t > tr (bằng 0) nên RT A đặt lại 200 Tương tự bước (2) , T3 (có nhãn thời gian t = 300) đọc A (có WT = 0), tức t  tw Thao tác phép, t > tr (bằng 200) nên RT A đặt lại 300 bước (3) , T2 (có nhãn thời gian t = 200) ghi B (có RT = WT = 0), tức t  Tr t  tw Thao tác phép, t > tW (bằng 0) nên WT B đặt lại 200 92 bước (4) , T3 (có nhãn thời gian t = 300) ghi A (có RT = 300 WT=0), tức t  Tr t  tw Thao tác phép, t > tW (bằng 0) nên WT A đặt lại 300 bước (5) , T1 (có nhãn thời gian t = 100) đọc B (có WT = 200), tức t < tw Vì thao tác bị huỷ bỏ TT T1 100 (1) T2 T3 T4 A B C 200 300 400 RT=0 RT=0 RT=0 WT=0 WT=0 WT=0 Read A (2) Read A (3) RT=300 Write B (4) (5) RT=200 WT=200 Write A WT=300 Read B T1 bị huỷ bỏ Trong trình thực giao dịch CSDL tạm thời khơng qn CSDL phải quán giao dịch kết thúc Tính tin cậy dựa vào hai khả sau: + Khả phục hồi nhanh hệ thống nhiều kiểu lỗi xảy (Khi lỗi xảy hệ thống chịu đựng tiếp tục cung cấp dịch vụ ) + Khôi phục: đạt trạng thái quán Trở trạng thái quán trước tiếp tới trạng thái quán sau xảy lỗi Nhất quán giao tác liên quan tới thực truy nhập trùng Việc quản lý giao tác tiếp xúc với vấn đề giữ CSDL trạng thái quán xảy truy nhập trùng lỗi 93 ... nhiều sở liệu 1.2.3 Hệ quản trị Cơ sở liệu phân bố Hệ quản trị sở liệu phân bố cung cấp công cụ tạo lập quản lý sở liệu phân bố Phân tích đặc điểm hệ thống quản trị sở liệu phân bố để phân biệt... 1.2.2 Các đặc điểm Cơ sở liệu phân bố so với Cơ sở liệu tập trung 1.2.3 Hệ quản trị Cơ sở liệu phân bố CHƯƠNG CÁC PHƯƠNG PHÁP PHÂN Bố DỮ LIỆU 10 2.1.Thiết kế sở liệu phân bố ... phạm vi lớn Cơ sở liệu phân bố thiết kế khác sở liệu tập trung Do cần đối sánh đặc trưng sở liêu phân bố với sở liệu tập trung để thấy lợi ích sở liệu phân bố Đặc trưng mô tả sở liệu tập trung

Ngày đăng: 25/04/2021, 08:58

w