RAMP-TAO: Layering atomic transactions on Fb’s on-line graph retailer
What the research is:
RAMP-TAO is a new protocol that the developer experience is based on. improved TAO, Facebook’s online social graph store, through stronger transaction guarantees. It is the first protocol to provide transactional semantics over eventually consistent mass data storage while maintaining the overall reliability and performance of the system. RAMP-TAO enables an intuitive Read Transaction API so developers need to investigate and troubleshoot rare anomalies.
Our research has shown that RAMP-TAO can be used in production with 0.42 percent memory overhead and enables the vast majority (over 99.9 percent) of reads in a round trip to the local cache with a tail latency at the level of the existing TAO. can be completed reads.
How it works:
RAMP-TAO can be used by the Read Atomic Multi-Partition (RAMP) Logsthat prevent broken reads but impose unacceptably high performance and memory overheads for TAO.
The RAMP-TAO protocol offers stronger guarantees by layering it on top of TAO and is similar in spirit to that “Bolt-on” approach. Since TAO, like most systems, ensures that all data is ultimately consistent, we only need to protect ourselves from broken reads for current, transactionally updated data. We use this knowledge to minimize performance and storage overheads, especially for the existing TAO workloads that are non-transactional.
Why it matters:
TAO serves billions of reads and writes per second and supports many of the Facebook applications. It has traditionally prioritized availability and scalability to serve its large, read-dominant workloads. By placing stronger transaction guarantees on the existing system, we can provide more intuitive system behavior while maintaining its reliability and efficiency. This strategy also enables RAMP-TAO to be cache-friendly, hotspot-tolerant, and expandable to various data stores. In addition, overheads are only incurred for applications that log on, not for every application to suffer a performance hit.
Although we focus on TAO in this thesis, these properties are crucial for large, read-optimized systems. Our layered approach can be a practical solution for other systems, many of which have tried to bolster their guarantees.
Read the full paper:
RAMP-TAO: Layering atomic transactions in Facebook’s online TAO data store