APLAS 2020
Banyan: Coordination free distributed transaction over mergeable types
Expectatiton from a distributed application
- Seamless request and response, meaning availability
- Correctness of data, meaning consistency
- Refelting the updates, meaning convergence
- Availability
- Consistency
- Convergence
CAP theorem
Challenges with loosely connected distributed applications/database
- balancing between availability, coordination and cosistency will become challange.
- problem is latency
- resolving conflicts as per semantics of teh application (correctness)
- present solutions include sequential data types with built in conflict resolution like last writer wins and multi valued objects
- problems like write skew makes it difficult to create complex applications
MRDT
- why do we need replicated data types
- why do we need mergeable replicated data types
- an eg to show how it works(3-way merge)
Banyan
- Programming model
- MRDT := generic datatypes with three way merge
- coordination free and isolated transactions
- instantiation over off the shelf distributed store
- provides per object causal consistency
- transaction model is based on principles of git like branches
It provides platform for distributed transactions which are coordination free.
This can help in developing real time applications
API:
- connect
- close
- read
- write
- publish
- refresh
Programming Model
Irmin Stores
Distributed Build System
1. 3 values are compared for full caching
a. normal installation on each machine without caching
b. first time installation when caching is enabled
c. second time installation when cahing is enabled
2. partial caching
a. when there is no cached libraries, but caching is enabled
b. other libraries are installed, when some of the dependent libraries are installed earlier and chached.
Copy of APLAS 2020
By Shashank shekhar Dubey
Copy of APLAS 2020
- 11