
Ultimate access to all questions.
In the context of Delta Lake's Optimistic Concurrency Control (OCC), consider a scenario where two data engineers are simultaneously working on updating customer records in a Delta table. Engineer A updates the customer's address, while Engineer B updates the same customer's phone number. Both transactions start at the same time but finish at different times. Given this scenario, which of the following best describes how Delta Lake's OCC ensures transaction isolation and handles potential conflicts? Choose the single best answer.
A
OCC allows multiple transactions to proceed concurrently without any checks, leading to potential data inconsistencies.
B
OCC locks the entire Delta table at the beginning of each transaction, preventing any other transactions from proceeding until the lock is released.
C
OCC serializes all transactions, allowing only one transaction to proceed at a time to ensure complete isolation but at the cost of performance.
D
OCC allows multiple transactions to proceed concurrently, checks for conflicts at the end of each transaction, and resolves any detected conflicts by rolling back one of the transactions to maintain data consistency.