has abstract
| - Causal consistency is one of the major memory consistency models. In concurrent programming, where concurrent processes are accessing a shared memory, a consistency model restricts which accesses are legal. This is useful for defining correct data structures in distributed shared memory or distributed transactions. Causal Consistency is “Available under Partition”, meaning that a process can read and write the memory (memory is Available) even while there is no functioning network connection (network is Partitioned) between processes; it is an asynchronous model. Contrast to strong consistency models, such as sequential consistency or linearizability, which cannot be both safe and live under partition, and are slow to respond because they require synchronisation. Causal consistency was proposed in 1990s as a weaker consistency model for shared memory models. Causal consistency is closely related to the concept of Causal Broadcast in communication protocols. In these models, a distributed execution is represented as a partial order, based on Lamport's happened-before concept of potential causality. Causal consistency is a useful consistency model because it matches programmers' intuitions about time, is more available than strong consistency models, yet provides more useful guarantees than eventual consistency. For instance, in distributed databases, causal consistency supports the ordering of operations, in contrast to eventual consistency. Also, causal consistency helps with the development of abstract data types such as queues or counters. Since time and ordering are so fundamental to our intuition, it is hardto reason about a system that does not enforce causal consistency.However, many distributed databases lack this guarantee, even ones thatprovide serialisability.Spanner does guarantee causal consistency, but it also forces strong consistency, thus eschewing availability under partition.More available databases that ensure causal consistency include MongoDBand AntidoteDB. (en)
- 因果整合性または因果一貫性は、主要なメモリ一貫性モデルの1つである。並行プログラミングでは、並行プロセスが共有メモリにアクセスする場合、整合性モデルによって、どのアクセスが合法であるかを制限する。分散共有メモリや分散トランザクションにおける正しいデータ構造を定義するのに役立つ。 因果整合性は「パーティションの下でも利用可能」であり、プロセス間のネットワーク接続が機能していなくても(ネットワークがパーティションされていても)、プロセスがメモリを読み書きできる(メモリが利用可能)非同期モデルである。パーティションの下では安全性とライブ性を両立できず、同期を必要とするため応答が遅くなる逐次整合性や線形性などの強力な整合性モデルとは対照的である。 因果整合性は、1990年代に共有メモリモデルの弱い整合性モデルとして提案された。因果的整合性は、通信プロトコルにおける因果的ブロードキャストの概念と密接に関連している。これらのモデルでは、Lamportのhappened-beforeの概念に基づく潜在的な因果関係に基づいて、分散実行を部分的な順序として表現する。 因果的整合性は、プログラマの時間に関する直感に合致し、強力な整合性モデルよりも利用しやすく、かつ最終的な整合性よりも有用な保証を提供するため、有用な整合性モデルである。例えば分散データベースでは、結果一貫性とは対照的に、因果的一貫性は操作の順序付けをサポートしている。 時間と順序は我々の直感にとって非常に基本的なものであるため、因果整合性を保証しないシステムを推論することは困難である。しかし、多くの分散データベースは、直列化可能性を提供するものでさえ、この保証を欠いている。は因果一貫性を保証するが、強い一貫性も強制するため、パーティション下での可用性がない。因果関係の一貫性を保証するデータベースとしては、MongoDBやAntidoteDBなどがある。 (ja)
- Причинная согласованность (англ. causal consistency) — модель согласованности, которая не требует, чтобы все процессы видели одну и ту же последовательность записей в памяти, проводя различие между потенциально-зависимыми (запись одной может зависеть от результата чтения другой ячейки) и потенциально-независимыми (параллельными) операциями записи. Система обеспечивает причинную согласованность, если операции с памятью, которые потенциально причинно связаны, рассматриваются всеми узлами системы в том же порядке. Одновременные операции записи (то есть те, которые причинно не связаны), могут рассматриваться в различном порядке разными узлами. Этот вид согласованности слабее, чем последовательная согласованность, которая требует, чтобы все узлы видели все записи в том же порядке, но сильнее, чем , при которой только записи, сделанные одним узлом, были бы видимы в том же порядке любым другим узлом. Отношения причинности между операциями (событиями) для систем с можно определить следующим образом: 1.
* Последовательность операций чтения и записи на узле определяет локальный причинный порядок. 2.
* Операция записи причинно предшествует операции чтения на другом узле, если чтение возвращает значение, записанное с помощью этой операции записи. Это отношение межпроцессного порядка. 3.
* И, наконец, причинный порядок считается транзитивным: то есть, если операция А (причинно) следует до В, а В — до С, то А находится в порядке причинности перед С. То есть, транзитивное замыкание отношений локального и межпроцессного порядков определяет глобальный причинный порядок. (ru)
|