Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ
Tải xuống
Trong thực tế, chỉ có phân vùng thất bại hoặc một đối thủ rất thông minh (mà trong thực tế không bao giờ có thể được thực hiện) có thể ngăn chặn các hệ thống này đạt được tiến bộ. Vì vậy, chúng ta biết rằng tất cả các mô hình này phải đối mặt với điều kiện mà theo đó sự tiến bộ là không thể. | 410 Kenneth P. Birman - Building Secure and Reliable Network Applications To this author the implication is that while both models introduce reliability into distributed systems they deal with very different reliability goals recoverability on the one hand and availability on the other. While the models can be integrated so that one could use transactions within a virtual synchrony context and vice versa there seems to be little hope that the could be merged into a single model that would provide all forms of reliability in a single highly transparent environment. Integration and co-existence is for this reason a more promising direction and seems to be the one favored by industry and research groups. 21.5 Weak Consistency Models There are some applications in which one desires most aspects of the transactional model but where serializability in the strict sense is not practical to implement. Important among these are distributed systems in which a database must be accessed from a remote node that is sometimes partitioned away from the system. In this situation even if the remote node has a full copy of the database it is potentially limited to read-only access. Even worse the impossibility of building a non-blocking commit protocol for partitioned settings potentially prevents these read-only transactions from executing on the most current state of the database since a network partitioning failure can leave a commit protocol in the prepared state at the remote site. In practice many distributed systems treat remote copies of databases as a form of second-class citizen. Such databases are often updated by periodic transfer of the log of recent committed transactions and used only for read-only queries. Update transactions execute on a primary copy of the database. This approach avoids the need for a multi-phase commit but has limited opportunity to benefit from the parallelism inherent in a distributed architecture. Moreover the delay before updates reach the .