Home  >  Article  >  What is data consistency?

What is data consistency?

青灯夜游
青灯夜游Original
2019-03-02 17:32:2431230browse

What is data consistency?

Data consistency usually refers to whether the logical relationship between associated data is correct and complete, while the consistency model of data storage can It is considered to be an agreement between the storage system and the data user. If the user follows this agreement, the access result promised by the system can be obtained.

Commonly used consistency models are:

a. Strict consistency:

Read The data output is always the most recently written data. This consistency is only possible when a global clock exists, and is impossible to achieve in a distributed network environment.

b. Sequential consistency:

All users see operations on the same data in the same order, but the order is not necessarily real-time.

c. Causal consistency:

Only write operations with causal relationships require all users to see them in the same order. For writes without causal relationships, It is performed in parallel and there is no order guarantee. Causal consistency can be seen as an optimization of sequential consistency performance, but it is quite difficult to establish and maintain a causal dependency graph during implementation.

d. Pipeline consistency:

Further weakening of the causal consistency model requires that write operations completed by one user can be used by all others The user perceives it in order, and the write operations from different users do not need to guarantee the order, just like one pipe after another. It is relatively easy to implement.

e. Weak consistency:

Only requires access to shared data structures to ensure sequential consistency. Operations on synchronization variables have sequential consistency, are globally visible, and can only be performed when there are no write operations waiting to be processed, to ensure sequential access to critical areas. At the time of synchronization, all users can see the same data.

f. Release consistency:

Weak consistency cannot distinguish whether the user wants to enter the critical section or leave the critical section. Release consistency uses two different Operation statements are distinguished. When writing is required, the user acquires the object and releases it after writing. A critical section is formed between acquire and release. Providing release consistency means that when the release operation occurs, all users should be able to see the operation.

g, eventual consistency:

When there is no new update, the update will eventually be propagated to all replica points through the network, and all replica points will eventually be consistent. In other words, users cannot guarantee that they will see newly written data in the intermediate process before the final point in time. There is one key requirement for an eventually consistent model to be adopted: it is acceptable to read out stale data.

h. Incremental consistency:

The system will reach consistency within delta time. There will be an inconsistent window during this period, which may be caused by the log shipping process.

The above is the entire content of this article, I hope it will be helpful to everyone's study. For more exciting content, you can pay attention to the relevant tutorial columns of the PHP Chinese website! ! !

The above is the detailed content of What is data consistency?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn