Facebook’s Memcache Distributed In-memory Caching

Facebook’s Memcache Distributed In-memory Caching

Examines Facebook’s use of Memcache, a distributed, scalable in-memory key-value store caching data to reduce backend load and improve performance. Discusses architecture, consistency challenges, caching policies, failure handling, and optimizations for high throughput and low latency.

 Facebook’s Haystack: Optimized Photo Storage

 Facebook’s Haystack: Optimized Photo Storage

Haystack is a cloud storage system designed specifically for Facebook’s photo data. It reduces metadata overhead by storing multiple photos in large files, enabling low latency, high throughput, fault tolerance, and cost-effectiveness, overcoming limitations of traditional filesystems for large-scale media storage.

 Virtual Machine Checkpointing and Cloning Techniques

 Virtual Machine Checkpointing and Cloning Techniques

This document explains techniques for VM checkpointing and cloning to efficiently save and replicate VM states. It covers incremental checkpoints, compression, and how checkpointing supports VM migration, fault tolerance, and rapid provisioning for cloud environments.

Amazon Dynamo Distributed Key-Value Store

Amazon Dynamo Distributed Key-Value Store

Dynamo is a highly available, scalable distributed key-value store designed for fault tolerance and elasticity. It uses consistent hashing for data partitioning, vector clocks for conflict resolution, and quorum protocols to balance availability and consistency, making it ideal for services like shopping carts where eventual consistency suffices.

Google’s Bigtable Semi-structured Distributed Data Store

Google’s Bigtable Semi-structured Distributed Data Store

Bigtable is a scalable distributed storage system that organizes data in tables of rows and columns, supporting multi-versioned cells with timestamps. It uses underlying systems like SSTable, Google File System (GFS), and Chubby for coordination. Its design targets high availability, scalability, and performance for both batch and real-time applications.