User Tools

Site Tools



ACID stands for atomicity, consistency, isolation and durability.1)

ACID in relational database management systems (RDBMS)

These are the classic criteria, which will translate to transactional data in the RDBMS. They are the oldest and most important abilities to guarantee that a data base will be reliable for a long time. Atomicity means that a data-operation is considered as a whole, so that an operation is either successful or not. Consistency means that just valid data can be written in the data base. If this is not given, the data-operation will be reversed, so that the data base get the ability of consistency again. Isolation means that data transactions are treated separately, that the process will not be cancelled because of other users who wants to operate with the same data. The property durability means that transactions will not be lost during a software or a hardware failure. That is guaranteed with database backups for example.2)


But what is the situation with Big Data, what is usually handled with NoSQL platforms (mostly based on Hadoop)? It is very difficult to ensure that all the properties of ACID with many and unstructured data are given. Some NoSQL vendors offer ACID, what will fade the distinction between RDBMS and NoSQL. But it is impossible that NoSQL and Hadoop will take the place of the technology of RDBMS, because ad hoc-updates of records are not always possible for example. However the time of technology is changing fast, that the early progress of technology will be based on a hybrid solution.3)


BASE stands for basically available, soft state, eventual consistency and is the opposite of ACID. That’s another approach to handle with BigData. The main focus here is to guarantee the availability of the data. The disadvantage is that the data is “soft”. That means, that the consistency is not fully given. The reason is, that the system don’t check the consistency after each transaction. Only when the data input will be stopped you can get consistency again.4)

The CAP theorem

CAP stands for consistency, availability and partition tolerance. This concept has the property consistency from ACID and the availability from BASE. Additionally there is the property partition tolerance. That means, that the system works uninterrupted even if data lost or a temporary system failure will happen. The System works on many nodes.5) A misunderstanding is that the CAP theorem describes that just two of the three properties can be reached in a distributed database system, but with the right handling of the partitions you can also optimize consistency and availability.6)


ACID is already used in RDBMS with SQL on a SQL-Server for example. The properties who are feasible are availability and consistency, but not partition tolerance. On the other side is BASE. BASE is already used in databases be filled and managed with NoSQL like Hadoop. Here are the feasible properties the availability and the partition tolerance, but not the consistency. In the middle is the CAP theorem, that can make it possible, with an explicit handling of the partitions, to get the both properties availability and consistency how you can see in the following figure.


concepts/acid.txt · Last modified: 2020/08/20 13:27 (external edit)