Reputation: 1167
What mechanisms does Delta Lake use to ensure the atomicity, consistency, isolation, and durability of transactions initiated by user operations on a DeltaTable?
Upvotes: 3
Views: 852
Reputation: 1167
Deltalog = Delta Lake's transaction log.
The deltalog is a collection of ordered json files. It acts as a single source of truth giving to users access to the last version of a DeltaTable
's state.
The consistency of a DeltaTable
is guaranteed by their strong schema checking.
Concurrency of commits is managed to ensure their isolation. An optimistic concurrency control is applied:
DeltaTable
view and attempts again to register the commit, after a step of reprocessing if needed.Commits containing actions that mutate the DeltaTable
's data need to finish their writes/deletions on underlying Parquet files (stored on the filesystem) to be considered as successfully completed, making them durable.
Further readings:
Diving Into Delta Lake: Unpacking The Transaction Log
Upvotes: 2