> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/donnemartin/system-design-primer/llms.txt
> Use this file to discover all available pages before exploring further.

# Real World Architectures

> Learn from how real-world systems are designed at scale

Studying real-world architectures is one of the best ways to learn system design principles. These articles showcase how major companies have solved complex scalability challenges.

## How to Study These Architectures

**Don't focus on nitty gritty details for the following articles, instead:**

* Identify shared principles, common technologies, and patterns within these articles
* Study what problems are solved by each component, where it works, where it doesn't
* Review the lessons learned

![Twitter Timeline Architecture](https://raw.githubusercontent.com/donnemartin/system-design-primer/master/images/TcUo2fw.png)
*Source: [Twitter timelines at scale](https://www.infoq.com/presentations/Twitter-Timeline-Scalability)*

## Data Processing Systems

| System        | Description                                 | Reference                                                                                                                  |
| ------------- | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| **MapReduce** | Distributed data processing from Google     | [research.google.com](http://static.googleusercontent.com/media/research.google.com/zh-CN/us/archive/mapreduce-osdi04.pdf) |
| **Spark**     | Distributed data processing from Databricks | [slideshare.net](http://www.slideshare.net/AGrishchenko/apache-spark-architecture)                                         |
| **Storm**     | Distributed data processing from Twitter    | [slideshare.net](http://www.slideshare.net/previa/storm-16094009)                                                          |

## Data Store Systems

| System        | Description                                                        | Reference                                                                                            |
| ------------- | ------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------- |
| **Bigtable**  | Distributed column-oriented database from Google                   | [harvard.edu](http://www.read.seas.harvard.edu/~kohler/class/cs239-w08/chang06bigtable.pdf)          |
| **HBase**     | Open source implementation of Bigtable                             | [slideshare.net](http://www.slideshare.net/alexbaranau/intro-to-hbase)                               |
| **Cassandra** | Distributed column-oriented database from Facebook                 | [slideshare.net](http://www.slideshare.net/planetcassandra/cassandra-introduction-features-30103666) |
| **DynamoDB**  | Document-oriented database from Amazon                             | [harvard.edu](http://www.read.seas.harvard.edu/~kohler/class/cs239-w08/decandia07dynamo.pdf)         |
| **MongoDB**   | Document-oriented database                                         | [slideshare.net](http://www.slideshare.net/mdirolf/introduction-to-mongodb)                          |
| **Spanner**   | Globally-distributed database from Google                          | [research.google.com](http://research.google.com/archive/spanner-osdi2012.pdf)                       |
| **Memcached** | Distributed memory caching system                                  | [slideshare.net](http://www.slideshare.net/oemebamo/introduction-to-memcached)                       |
| **Redis**     | Distributed memory caching system with persistence and value types | [slideshare.net](http://www.slideshare.net/dvirsky/introduction-to-redis)                            |

## File Systems

| System                        | Description                       | Reference                                                                                                              |
| ----------------------------- | --------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| **Google File System (GFS)**  | Distributed file system           | [research.google.com](http://static.googleusercontent.com/media/research.google.com/zh-CN/us/archive/gfs-sosp2003.pdf) |
| **Hadoop File System (HDFS)** | Open source implementation of GFS | [apache.org](http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html)                     |

## Infrastructure Systems

| System        | Description                                                      | Reference                                                                                                                                      |
| ------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| **Chubby**    | Lock service for loosely-coupled distributed systems from Google | [research.google.com](http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en/us/archive/chubby-osdi06.pdf) |
| **Dapper**    | Distributed systems tracing infrastructure                       | [research.google.com](http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/36356.pdf)                                |
| **Kafka**     | Pub/sub message queue from LinkedIn                              | [slideshare.net](http://www.slideshare.net/mumrah/kafka-talk-tri-hug)                                                                          |
| **Zookeeper** | Centralized infrastructure and services enabling synchronization | [slideshare.net](http://www.slideshare.net/sauravhaloi/introduction-to-apache-zookeeper)                                                       |

## Company Architectures

### Tech Giants

<CardGroup cols={2}>
  <Card title="Amazon Architecture" icon="aws" href="http://highscalability.com/amazon-architecture">
    Learn about Amazon's distributed systems architecture
  </Card>

  <Card title="Google Architecture" icon="google" href="http://highscalability.com/google-architecture">
    Explore Google's approach to building scalable systems
  </Card>

  <Card title="Facebook Engineering" icon="facebook" href="https://www.facebook.com/Engineering">
    Scaling memcached, TAO distributed data store, and photo storage
  </Card>

  <Card title="Netflix Stack" icon="video" href="http://highscalability.com/blog/2015/11/9/a-360-degree-view-of-the-entire-netflix-stack.html">
    A 360 degree view of the entire Netflix stack
  </Card>
</CardGroup>

### Social Media & Communication

| Company       | Key Topics                                      | Reference                                                                                                                                                                                                  |
| ------------- | ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Twitter**   | Timelines at scale, 150M active users, 300K QPS | [Making Twitter 10000% faster](http://highscalability.com/scaling-twitter-making-twitter-10000-percent-faster)<br />[Timelines at scale](https://www.infoq.com/presentations/Twitter-Timeline-Scalability) |
| **Instagram** | 14 million users, terabytes of photos           | [Architecture](http://highscalability.com/blog/2011/12/6/instagram-architecture-14-million-users-terabytes-of-photos.html)                                                                                 |
| **WhatsApp**  | Architecture Facebook bought for \$19 billion   | [Architecture](http://highscalability.com/blog/2014/2/26/the-whatsapp-architecture-facebook-bought-for-19-billion.html)                                                                                    |
| **Pinterest** | From 0 to 10s of billions of page views         | [Scaling Pinterest](http://highscalability.com/blog/2013/4/15/scaling-pinterest-from-0-to-10s-of-billions-of-page-views-a.html)                                                                            |

### Other Notable Architectures

| Company            | Key Topics                                           | Reference                                                                                                                   |
| ------------------ | ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| **Uber**           | Real-time market platform, scaling to 2000 engineers | [Scaling Uber](http://highscalability.com/blog/2015/9/14/how-uber-scales-their-real-time-market-platform.html)              |
| **Dropbox**        | How Dropbox scaled their infrastructure              | [Video](https://www.youtube.com/watch?v=PE4gwstWhmc)                                                                        |
| **YouTube**        | YouTube scalability and architecture                 | [Scalability](https://www.youtube.com/watch?v=w5WVu624fY8)                                                                  |
| **Stack Overflow** | Stack Overflow architecture                          | [Architecture](http://highscalability.com/blog/2009/8/5/stack-overflow-architecture.html)                                   |
| **Salesforce**     | Handling 1.3 billion transactions a day              | [Architecture](http://highscalability.com/blog/2013/9/23/salesforce-architecture-how-they-handle-13-billion-transacti.html) |

### Specialized Systems

| Company         | Specialty                                        | Reference                                                                                                                    |
| --------------- | ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- |
| **ESPN**        | Operating at 100,000 duh nuh nuhs per second     | [Architecture](http://highscalability.com/blog/2013/11/4/espns-architecture-at-scale-operating-at-100000-duh-nuh-nuhs.html)  |
| **Flickr**      | Photo sharing architecture                       | [Architecture](http://highscalability.com/flickr-architecture)                                                               |
| **Tumblr**      | 15 billion page views a month                    | [Architecture](http://highscalability.com/blog/2012/2/13/tumblr-architecture-15-billion-page-views-a-month-and-harder.html)  |
| **TripAdvisor** | 40M visitors, 200M dynamic page views, 30TB data | [Architecture](http://highscalability.com/blog/2011/6/27/tripadvisor-architecture-40m-visitors-200m-dynamic-page-view.html)  |
| **Cinchcast**   | Producing 1,500 hours of audio every day         | [Architecture](http://highscalability.com/blog/2012/7/16/cinchcast-architecture-producing-1500-hours-of-audio-every-d.html)  |
| **DataSift**    | Realtime datamining at 120,000 tweets per second | [Architecture](http://highscalability.com/blog/2011/11/29/datasift-architecture-realtime-datamining-at-120000-tweets-p.html) |
