Data consistency models can be very different when it comes to NoSQL databases. The introduction of a new unstructured database model is overturning the ACID consistency model. This is called the BASE consistency model.
In this article, let's go through what is a BASE consistency model and how it differs from the ACID model.
The NoSQL database model replaces the properly structured relational model with a dynamic key/value store methodology named the BASE consistency model. As availability and consistency in a distributed system cannot be accomplished altogether, it depends on the user’s data management requirements to choose between both.
Basic Availability, Soft State and Eventual Consistency:
The BASE is typically a multi-model database that focuses on high availability, horizontal scale, as well as fault tolerance instead of consistency.
There are two scaling methods for applications, one of which includes vertical, accumulated in ACID while the other and more complex one is Horizontal scaling, for BASE consistency model. Two vectors can be accomplished to scale the data horizontally.
Firstly, the process of functional scaling comprises the categorization of data by function, and secondly by spreading the functional groups across databases or sharding. If the BASE model supports availability in a replicated system, possibilities to relax consistency must be considered. This is generally problematic because both the stakeholders as well as data engineers declare that consistency is critical to the database operation. Because time inconsistency cannot be masked by the end user, both engineers and stakeholders must be involved in possibilities for relaxed consistency.
An example of BASE model is the news feed on social media platforms.
ACID vs BASE consistency model
A BASE model relies on three principles: Basic Availability, Soft State, and Eventual consistency.
As stated, the availability of data is the prime objective of BASE modeled NoSQL database which is possible due to the vast distribution of the database. The goal is to make the data available even if there are multiple failures. This is possible only if the data is replicated over a cluster of interconnected nodes, preventing data outrage in case there is a malfunction in a segment of data. Though consistency is not the spotlight functionality for a BASE model, it provides a soft state as data consistency is looked over by the developer and not the actual database.
Furthermore, BASE does not restrict the data to reach consistency at certain points, allowing the possibility of data reads. ACID Consistency model, however, is fundamentally opposite to the BASE model.
ACID requires consistency at the end of an operation whereas BASE allows the database consistency to be in transition at some point. BASE is relatively feasible and not complex as it appears and contributes to levels of scalability that ACID cannot provide.
Both ACID and BASE consistency models possess features that are the key for organizations highly relying on data management systems. While ACID is simple and considered important whenever data consistency, as well as reliability, are the priority. BASE consistency model, on the other hand, edges whenever data availability is the prime goal for an organization.