Multi Version Concurrency Control MVCC based design (hot question in distributed systems interview)
What is concurrency → Ability of a program to do multiple things at once.
Why concurrency → To run a program faster, a programmer needs to design their program processes to run concurrently, so that each concurrent part of the program(i.e process) can be run independently of the others
What is the issue with concurrent access → When multiple processes try to access a single data item (like database rows or files e.t.c) it may result in…