Không giống với các hệ cơ sở dữ liệu truyền thống là các giao tác đƣợc chuyển tới các trạm dữ liệu, trong chu kỳ dữ liệu, dữ liệu đƣợc chuyển tới các trạm mà giao tác đang thực hiện. Hình 16 là cấu trúc của mô hình chu trình dữ liệu. Data Pump phát toàn bộ nội dung dữ liệu cùng với thông tin điều khiển tƣơng tranh theo định kỳ thông qua một kênh có độ rộng băng truyền lớn tới bộ quản lý truy xuất (Access Manager). Bộ quản lý truy xuất là các nút thực nơi mà giao tác đƣợc thực hiện. Để xử lý dòng dữ liệu, bộ quản lý truy xuất dùng phần cứng khách hàng để lọc dữ liệu tƣơng ứng với điều kiện đƣợc cho và các thao tác cơ bản khác. Nếu một giao tác cần chỉnh sửa một mục dữ liệu, nó gửi yêu cầu tới bộ quản lý cập nhật (Update Manager) là hệ thống con của Data Pump. Bộ quản lý cập nhật dùng một phƣơng thức điều khiển tƣơng tranh để đảm bảo tính khả tuần tự.
Hình 2.16: Cấu trúc gốc của chu kỳ dữ liệu.
Lợi ích chính của cấu trúc chu kỳ dữ liệu là độ rộng băng tần của kênh dữ liệu yêu cầu không phụ thuộc vào số bộ quản lý truy xuất. Tuy nhiên, chu kỳ dữ liệu cũng có điểm bất tiện. Độ rộng băng tần của kênh dữ liệu tạo ra giới hạn đáng kể của kích thƣớc cơ sở dữ liệu. Thậm chí đối với các cơ sở dữ liệu có kích thƣớc trung bình (<100M), độ rộng băng tần của kênh dữ liệu cũng phải lớn hơn 1Gb nếu không thì sẽ kém hiệu quả hơn phƣơng pháp cơ sở dữ liệu phân tán truyền thống.
Bộ quản lý cập nhật sẽ trở thành một điểm thắt nút cổ chai nếu số lƣợng cập nhật lớn. Một giao tác với một chuỗi các lệnh đọc phụ thuộc sẽ không hoàn thành một lệnh đọc sớm hơn bất cứ một chu kỳ nào. Do đó, chu kỳ dữ liệu chỉ phù hợp với hệ thống gồm ít cập nhật và truy vấn đơn giản.
Đồng Văn Toàn – Lớp HTTT & TT – KS CLC K53 Page 36
2.5.3. DC-ROLL.
Để sử dụng các tiện lợi của chu kỳ dữ liệu và tránh các nhƣợc điểm của nó, ta giả sử chỉ dùng chu kỳ dữ liệu để chuyển dữ liệu điều khiển tƣơng tranh. Cơ sở dữ liệu vẫn sẽ đƣợc truy xuất bằng phƣơng pháp truyền thống: để truy xuất vào các mục dữ liệu, các giao tác gửi yêu cầu tới các trạm đang chứa các mục dữ liệu đó. Việc xử lý dữ liệu yêu cầu là việc đơn giản vì không bao hàm bất cứ thao tác điều khiển tƣơng tranh nào.
ROLL là một cấu trúc điều khiển dữ liệu tƣơng tranh lý tƣởng. Bộ cập nhật dữ liệu của mô hình chu kỳ dữ liệu gốc lúc này sẽ hoạt động nhƣ một bộ quản lý ROLL chung.
Các giao tác POST các vector bit yêu cầu của nó tới bộ quản lý ROLL và toàn bộ ROLL đƣợc chuyển tới tất cả các trạm. Tại mỗi trạm, các giao tác CHECK xem dữ liệu cần đến có hợp lệ không. Nếu có và lệnh đọc là cần thiết, yêu cầu đƣợc gởi tới các trạm đang chứa dữ liệu. Nếu một giao tác chỉ cần ghi vào một mục dữ liệu thì sử dụng không gian làm việc riêng cục bộ để thực hiện nhiệm vụ.
Để chứng minh các lợi ích của DC-ROLL, xét một cơ sở dữ liệu phân tán với đƣợc tái tạo cho mức xử lý cao hơn. Trong cơ sở dữ liệu đƣợc tái tạo,các bản sao của các mục dữ liệu đƣợc lƣu tại nhiều trạm. Các cập nhật phải thực hiện trên mọi bản sao cảu mục dữ liệu đƣợc chỉnh sửa. Trì hoãn các cập nhật có thể cải tiến hiệu suất nhƣng lại sinh ra một số xung đột không thể phát hiện: một giao tác khóa bản sao của các mục dữ liệu tại một trạm và hiệ chỉnh chúng trong khi một giao tác khác thao tác với một số bản sao của cùng một mục dữ liệu. Một trong những giao tác bị hủy khi nó cố gắng vi phạm và chuyển cập nhật của nó tới trạm khác. Để tránh tình trạng này, một bản sao của mỗi mục dữ liệu đƣợc đánh dấu là chính. Mọi giao tác đƣợc yêu cầu dùng bản sao chính của mục dữ liệu mà nó truy xuất.
Nhƣ vậy, trạm chứa bản sao chính của mục dữ liệu “nóng” sẽ trở thành điểm thắt nút cổ chai. Giả sử dùng 2PL để điều khiển tƣơng tranh. Cùng với một số lƣợng lớn yêu cầu tới dữ liệu “nóng”, các trạm nhƣ thế sẽ phải xữ lý một số lƣợng lớn nhƣ nhau các yêu cầu khóa/giải phóng. Ngƣợc lại, DC-ROLL loại bỏ gánh nặng của điều khiển tƣơng tranh một cách đáng kể từ các trạm lƣu dữ liệu thực. Không một yêu cầu khóa/giải phóng nào đƣợc gởi. Thay vào đó, mọi chức năng điều khiển tƣơng tranh đƣợc xử lý tại các trạm mà giao tác đang thực thi. Hơn nữa, không cần phải đánh dấu bản sao chính cho các mục dữ liệu. Khi một giao tác hiệu chỉnh bất cứ bản sao dữ liệu nào, vector yêu cầu cho biết là mục dữ liệu đó đang đƣợc truy xuất. Do đó những giao tác khác nhận biết đƣợc điều này và đợi cho đến khi mục dữ liệu hợp lệ trƣớc khi hiệu chỉnh bất kỳ bản sao nào của nó.
Đồng Văn Toàn – Lớp HTTT & TT – KS CLC K53 Page 37 Kết luận, điều khiển tƣơng tranh là một vấn đề hết sức quan trọng, đặc biệt là trong môi trƣờng phần tán giúp các DDBMS tránh đƣợc các dị thƣờng không mong muốn, đảm bảo tính chính xác cho cơ sở dữ liệu.
Chúng ta đã bàn về mô hình xử lý giao tác trong môi trƣờng phân tán, trình bày các khái niệm, định nghĩa cơ bản và cấu trúc của một hệ quản trị cơ sở dữ liệu phân tán , từ đó phân tích cơ chế điều khiển tƣơng tranh. Chúng ta cũng đã đi nghiên cứu chi tiết các kỹ thuật điều khiển tƣơng tranh trong môi trƣờng phân tán là khóa hai pha và đồng bộ hóa theo thứ tự nhãn thời gian cùng với các phƣơng pháp phát hiện và ngăn ngừa tắc nghẽn. Đây là hai nhóm kỹ thuật thƣờng đƣợc sử dụng nhất. Ngoài ra còn trình bày một kỹ thuật mới là DC- ROLL giúp tránh đƣợc thắt nút cổ chai của 2PL truyền thống. Nó cũng đơn giản hoá việc quản lý độ nhất quán của cơ sở dữ liệu trong môi trƣờng bản sao vì không cần bộ phận điều khiển tƣơng tranh trung tâm