Kỹ thuật cập nhật dữ liệu

Một phần của tài liệu GIẢI PHÁP KỸ THUẬT ĐỒNG BỘ HÓA DỮ LIỆU CHO BÀI TOÁN ĐĂNG KÝ TUOR DU LỊCH TỪ XA TRONG MÔI TRƯỜNG INTERNET OF THING - Full 10 điểm (Trang 38 - 41)

2.2. Các thuật toán kỹ thuật gắn bó

2.2.2. Kỹ thuật cập nhật dữ liệu

Hệ thống cơ sở dữ liệu sử dụng Update Everywhere (cập nhật mọi nơi) không chứa một điểm lưu trữ chính, thay vào đó tất cả các điểm lưu trữ trong hệ thống đều được coi là bằng nhau. Khi người dùng muốn thực hiện một giao dịch, nó có thể truy cập đến bất kỳ điểm Server nào có sẵn. Sau đó điểm nhận được giao dịch thực hiện một số phương pháp để truyền đi dữ liệu cập nhật cho

các điểm Server khác và để đảm bảo rằng các thông tin trong tất cả các điểm đều nhất quán.

Kiến trúc cơ sở dữ liệu này làm tăng tốc thời gian truy cập cho người dùng khi họ có thể truy cập vào bất kỳ cơ sở dữ liệu nào, tuy nhiên nó lại đòi hỏi nhiều hơn về việc khóa và cam kết các giao thức bởi vì chúng dễ dàng có thể không thống nhất giữa các cơ sở dữ liệu nếu cùng một bản ghi dữ liệu được truy cập và cập nhật trong các điểm riêng biệt [8].

Một hệ thống cơ sở dữ liệu phân tán bằng cách sử dụng chiến lược cập nhật ở mọi nơi có thể là cả loại bị động và chủ động, tùy thuộc vào cách cập nhật và truyền dữ liệu giữa các điểm Server cơ sở dữ liệu khác nhau.

2.2.2.1. Cập nhật dữ liệu chủ động

Có hai cách tiếp cận khác nhau để đạt được tính nhất quán với chiến lược cập nhật ở mọi nơi. Thứ nhất là sử dụng khóa để đảm bảo rằng không có giao dịch đồng thời xử lý cùng một dữ liệu. Cách tiếp cận thứ hai là sử dụng một chương trình atomic (nguyên tử) broadcast trong hệ thống để quyết định thứ tự, trong đó các giao dịch xung đột phải được xử lý [11].

a) Cập nhật mọi nơi với khóa

Khi sử dụng các kỹ thuật khóa, có một quyết định được thực hiện trong hệ thống là cấp hoặc không cấp khoá cho tất cả các dữ liệu để truy cập trước khi thực hiện giao dịch. Khi một khách hàng gửi một giao dịch tới cơ sở dữ liệu cục bộ của nó, cơ sở dữ liệu sẽ gửi một yêu cầu khóa tới các cơ sở dữ liệu khác trong hệ thống. Nếu khoá được cấp, tiến trình thực hiện trên tất cả các cơ sở dữ liệu và một giao thức 2PC được sử dụng để đảm bảo rằng tất cả các cơ sở dữ liệu đã thực hiện cập nhật. Khi giao dịch kết thúc, tất cả các khóa sẽ được giải phóng và các giao dịch khác có khả năng nhận khóa và sử dụng mục dữ liệu.

Thường có hai mức khóa mà có thể được yêu cầu, đọc khóa (read clock) và ghi khóa (write clock). Nếu một điểm dữ liệu được mở khóa hoặc đọc khóa

từ trước đó thì việc đọc khóa cho các giao dịch khác có thể thực hiện nhiều lần cho cùng một dữ liệu.

Nếu yêu cầu khóa ghi dữ liệu, các dữ liệu phải được mở khóa hoàn toàn.

Điều này đảm bảo rằng mặt hàng không bị thao tác ở giữa một giao dịch từ một khách hàng khác sử dụng dữ liệu được đề cập.

Nếu khóa không được cấp, cơ sở dữ liệu sẽ đợi một thời gian trước khi có một yêu cầu khoá lại.

b) Cập nhật ở mọi nơi với Atomic Broadcast

Khi sử dụng phát sóng nguyên tử (atomic broadcast) với các trật tự các điểm Server được đảm bào. Phương pháp này thay vì sử dụng broadcasts ở đó tất cả các giao dịch xung đột có một thứ tự tổng thể giữa chúng. Atomic broadcast có hai giao ước quan trọng. Thứ nhất là nếu một điểm trong hệ thống nhận được một giao dịch, tất cả các cơ sở dữ liệu khác cũng sẽ nhận được cùng một giao dịch. Thứ hai là nếu một điểm sẽ nhận được hai giao dịch, giao dịch T1 và T2, theo một thứ tự nhất định, tất cả các cơ sở dữ liệu khác sẽ nhận được chúng theo cùng một thứ tự [11].

Với sự giúp đỡ của hai giao ước là rằng tất cả các cơ sở dữ liệu hành xử một cách xác định, đảm bảo rằng tất cả các cơ sở dữ liệu sẽ được nhất quán ngay sau khi giao dịch trong cam kết (committed).

2.2.2.2. Cập nhật mọi nơi bị động

Với cập nhật bị động ở mọi nơi không có đồng bộ hóa được thực hiện giữa các nút khác nhau trong quá trình thực hiện một giao dịch. Điều này cho phép tăng hiệu suất đáng kể trong quá trình giao dịch nhưng trình bày một vấn đề phức tạp trong các điểm đồng bộ hóa trong hệ thống.

Khi các nút khác nhau đồng bộ hóa có một rủi ro mà sự mâu thuẫn tồn tại trong hệ thống vì cùng một dữ liệu có thể đã được cập nhật trong các nút khác

nhau cùng một lúc. Điều này đòi hỏi một quyết định trong hệ thống mà giao dịch có thể giữ và hoàn tác trở lại [10][11]

Một phần của tài liệu GIẢI PHÁP KỸ THUẬT ĐỒNG BỘ HÓA DỮ LIỆU CHO BÀI TOÁN ĐĂNG KÝ TUOR DU LỊCH TỪ XA TRONG MÔI TRƯỜNG INTERNET OF THING - Full 10 điểm (Trang 38 - 41)

Tải bản đầy đủ (PDF)

(87 trang)