Handling concurrency
One of the most common problems in big data systems is that they are not compliant with ACID properties, or to put it more simply, let's say they only support some properties of ACID transactions between reads and writes, and even then, they still have a lot of limitations. But with Delta Lake, ACID compliance is possible, and you can now leverage the features of ACID transactions that you used to get in Relational Database Management Systems (RDBMSes). Delta Lake uses optimistic concurrency control for handling transactions.
Optimistic concurrency control provides a mechanism to handle concurrent transactions that are changing data in the table. It ensures that all the transactions are completed successfully. A Delta Lake write operation is performed in three stages:
- Read – The latest version of the table in which the file needs to be modified is read.
- Write – New data files are written.
- Validate and commit – Validate...