Data Property - Data Consistency - (Strong|Atomic) consistency - Linearizability)

Data System Architecture

About

In its most basic form, consistency refers to data values in one data set being consistent with values in another data set at the same point in time.

In an other form, consistency, also known as atomic consistency or linearizability, guarantees that once a write completes, all future reads will reflect that value of the write.

When all applications or thread, see the same data at the same point in time, the system is in a consistent state.

A strict definition of consistency specifies that two data values drawn from separate data sets must not conflict with each other, although consistency does not necessarily imply correctness.

Even more complicated is the notion of consistency with a set of predefined constraints. More formal consistency constraints can be encapsulated as a set of rules that specify consistency relationships between values of attributes, either across a record or message, or along all values of a single attribute.

However, be careful not to confuse consistency with accuracy or correctness.

Other definitions, context:

  • From an algorithm perspective, consistency means that a function always produces the same result for a given input value.
  • Consistency is also known as deterministic in mathematical terms
  • In the context of databases (“transactional databases”), consistency is enforced through transactions that must preserve the integrity constraints (the declared consistency rules) of the database.

Consistency means that after you do a successful write, future reads will always take that write into account. Otherwise, you may have an eventual consistency.

Developing applications on top of a system that fails to guarantee strong consistency without bugs is extremely challenging.

Level

This level provide useful guarantees that reduce complexity for application developers.

Implementation

Database

Oracle Database for instance maintains data consistency by using:

ETL

The best way to ensure consistency is to publish the data once. Storing calculated fact ensures that all users and reporting applications refer to it consistently. A single publishing run also reduces the extract tansformation load (ETL) development effort. as well the ongoing data management and disk storage burden.

Example

Rule

An example of a consistency rule verifies that within a corporate hierarchy structure, the sum of the number of employees at each site should not exceed the number of employees for the entire corporation

Code

// Assign the value 10 to x
x = 1;
// Read the variable x, add 8 and assign the total to the variable Y
y = x + 1;
  • In a consistent system, the value for y will be x.
  • In a inconsistent system, there’s a chance it might be 1 (since the original value of x was 0 or NA).

Consistency Context

Consistency may be defined within different contexts:

  • Between one set of attribute values and another attribute set within the same record (record-level consistency)
  • Between one set of attribute values and another attribute set in different records (cross-record consistency)
  • Between one set of attribute values and the same attribute set within the same record at different points in time (temporal consistency)
  • Consistency may also take into account the concept of reasonableness, in which some range of acceptability is imposed on the values of a set of attributes.





Discover More
Data Modeling Chebotko Logical
Cassandra - Consistency

This article talks consistency in Cassandra. The consistency level represents the minimum number of nodes that must acknowledge a read or write operation to the coordinator before the operation is...
Data Modeling Chebotko Logical
Cassandra NoSql Database

Cassandra is a NoSql database for transactional workloads that require high scale and maximum availability. Cassandra is suited for transactional workloads at high volume and shouldn’t be considered...
Data System Architecture
Concurrency - Concurrency

Data concurrency means that many thread (that may represents users) can access and modify data at the same time. Data concurrency ensures that users can access data at the same time ...reubenbond/status/662061791497744384/photo/1Reuben...
Data System Architecture
Concurrency - Lock (Mutex)

A lock is a synchronizationmechanism designed to enforce a mutual exclusion of threads. A lock is also known as a mutex. Type: binary semaphore - yes / no Most locking designs block the execution...
Data System Architecture
Data - (Transaction|Action) Atomicity

An atomic action is one that effectively happens all at once. An atomic action cannot stop in the middle: it either happens completely, or it doesn't happen at all. No side effects of an atomic action...
Data System Architecture
Data - Transaction (Trans(versal?) actions)

A single logical operation on the data is called a transaction. A physical operation is called a request and therefore a transaction is a queue of request. For example, a transfer of funds from one bank...
Etl Basic Functionnality
Data Integration - ETL evolves into Data Integration

Data integration suffers from an image problem. It has become synonymous with extract, transform and load. Likewise, ETL has been regarded as a data warehousing technology. Both of these viewpoints...
Card Puncher Data Processing
Data Integration - Synchronization

duplicate of of ? Ensure that all instances of a repository (database, file system, ...) contain the same data. Its not a trivial task when the data is volatile. Replication is the process of copying...
Thomas Bayes
Data Mining - Data (Preparation | Wrangling | Munging)

Data Preparation is a data step that prepares your data for further analyis. It's a key factor in any data project: mining, ai analytics Preparing has several steps that are explained below. ...
Data System Architecture
Data Modeling - What is a schema ?

A ''schema'' is a metadata that defines the structure of data. This article tells you more.



Share this page:
Follow us:
Task Runner