Ambry: Engineering LinkedIn’s High-Performance Global Data Vault

Ambry: LinkedIn's Scalable Geo-Distributed Object Store

2016-06-14
Shadi A. Noghabi, Sriram Subramanian, Priyesh Narayanan, Sivabalan Narayanan, Gopalakrishna Holla, Mammad Zadeh, Tianwei Li, Indranil Gupta, Roy H. Campbell, R. Campbell
Summary
Problem
Method
Results
Takeaways
Abstract

Ambry is LinkedIn's production-grade, geo-distributed object store designed for billions of immutable "blobs" (media files). It utilizes a decentralized architecture with logical partitioning to achieve high throughput, utilizing up to 88% of network bandwidth while maintaining sub-50ms latency for 1MB objects.

TL;DR

LinkedIn's Ambry is a specialized object store designed to handle the massive influx of immutable media (blobs) like profile pictures and videos. By moving away from centralized metadata servers and adopting a decentralized, partition-based architecture, Ambry achieves massive scalability, 88% network utilization, and a 10x improvement in load balancing compared to standard hashing approaches.

The "Small File" and "Large Blob" Paradox

Modern social networks face a dual-headed monster: they must store billions of tiny profile photos (KBs) without choking on metadata, while simultaneously serving massive video clips (GBs) without blocking smaller requests.

Before Ambry, LinkedIn used a legacy "Media Server" backed by Oracle and NAS filers. It was fragile, expensive, and suffered from CPU/IO spikes during metadata operations. The core insight leading to Ambry was that most social media data is immutable: write once, read many times, and rarely delete. This unique access pattern allowed engineers to strip away the heavy consistency locks of typical databases and the hierarchical complexity of file systems like HDFS.

Methodology: The Architecture of Decentralization

Ambry's strength lies in its "logical-to-physical" decoupling. Instead of mapping a blob directly to a machine (which makes moving data hard), blobs are grouped into Logical Partitions.

Ambry Architecture

1. Zero-Cost Failure Detection

Instead of wasting bandwidth on "heartbeat" pings, Ambry monitors actual request success rates. If a Datanode fails two consecutive requests, it is marked as "temporarily down," and traffic is rerouted. This "passive" detection ensures the system stays lean.

2. Segmented Indexing & OS Caching

To avoid slow disk seeks, Ambry keeps an in-memory index of blob offsets. However, to stay memory-efficient, it splits these into segments. Only the active segment stays in RAM, while older segments are moved to disk, guarded by Bloom Filters to ensure that a lookup almost never requires more than one disk seek.

3. Smart Rebalancing

When a cluster grows, new disks are empty and "hungry" for traffic, leading to 100x higher load than old disks. Ambry’s rebalancing algorithm calculates an "ideal state" (partition count and disk usage) and moves minimal data to reach that equilibrium.

Experimental Validation: Squeezing the Hardware

The experiments conducted on a 1 Gb/s network link show that Ambry is a "network-bound" system, not "CPU-bound."

  • Throughput: It utilized up to 88% of the available network bandwidth. In Read-Write mixed modes, it effectively saturated the full-duplex capacity, hitting nearly 1.7 Gb/s in total traffic.
  • Latency: For a 1MB object, the latency remained below 50ms, a critical threshold for user-facing social applications.
  • Load Balancing: The rebalancing mechanism reduced the standard deviation of request rates across the cluster by 10x.

Performance Graphs

Critical Analysis & Future Outlook

Ambry represents a masterclass in Pragmatic Engineering. It doesn't use the most complex consensus algorithms; instead, it optimizes for the "common case" of immutable data.

Limitations: Currently, Ambry relies on a fixed replication factor (e.g., 3 copies). The authors acknowledge that for "cold data" (old photos no one looks at), this is a waste of space.

The Future: LinkedIn is looking toward Erasure Coding (similar to RAID but across nodes) to reduce storage overhead for cold blobs and adaptive replication for "viral" content that needs more copies to handle traffic spikes.

Conclusion

Ambry proves that for specialized workloads like social media blobs, a "one-size-fits-all" storage solution is never the answer. By prioritizing decentralization and OS-level efficiencies, Ambry has become the backbone of one of the world's largest professional networks.

Find Similar Papers

Try Our Examples

  • Search for recent papers that compare Ambry with Facebook's Haystack and f4 systems in terms of storage efficiency and erasure coding integration.
  • Which paper first introduced the concept of decoupled logical partitions in object storage, and how does Ambry's implementation differ from early virtual disk systems like Petal?
  • Examine how LinkedIn's Ambry architecture has been adapted or extended in recent years to support multi-modal AI data lakes or large-scale machine learning training datasets.
Contents
Ambry: Engineering LinkedIn’s High-Performance Global Data Vault
1. TL;DR
2. The "Small File" and "Large Blob" Paradox
3. Methodology: The Architecture of Decentralization
3.1. 1. Zero-Cost Failure Detection
3.2. 2. Segmented Indexing & OS Caching
3.3. 3. Smart Rebalancing
4. Experimental Validation: Squeezing the Hardware
5. Critical Analysis & Future Outlook
6. Conclusion