From d484f80b1873ba0032ceec9a2c174cddfcbc34f4 Mon Sep 17 00:00:00 2001 From: Donne Martin Date: Sat, 4 Mar 2017 21:06:04 -0800 Subject: [PATCH] Add Query Cache solution --- solutions/system_design/query_cache/README.md | 306 ++++++++++++++++++ .../system_design/query_cache/__init__.py | 0 .../system_design/query_cache/query_cache.png | Bin 0 -> 111048 bytes .../query_cache/query_cache_basic.png | Bin 0 -> 60915 bytes .../query_cache/query_cache_snippets.py | 89 +++++ 5 files changed, 395 insertions(+) create mode 100644 solutions/system_design/query_cache/README.md create mode 100644 solutions/system_design/query_cache/__init__.py create mode 100644 solutions/system_design/query_cache/query_cache.png create mode 100644 solutions/system_design/query_cache/query_cache_basic.png create mode 100644 solutions/system_design/query_cache/query_cache_snippets.py diff --git a/solutions/system_design/query_cache/README.md b/solutions/system_design/query_cache/README.md new file mode 100644 index 00000000..f34bd282 --- /dev/null +++ b/solutions/system_design/query_cache/README.md @@ -0,0 +1,306 @@ +# Design a key-value cache to save the results of the most recent web server queries + +*Note: This document links directly to relevant areas found in the [system design topics](https://github.com/donnemartin/system-design-primer-interview#index-of-system-design-topics-1) to avoid duplication. Refer to the linked content for general talking points, tradeoffs, and alternatives.* + +## Step 1: Outline use cases and constraints + +> Gather requirements and scope the problem. +> Ask questions to clarify use cases and constraints. +> Discuss assumptions. + +Without an interviewer to address clarifying questions, we'll define some use cases and constraints. + +### Use cases + +#### We'll scope the problem to handle only the following use cases + +* **User** sends a search request resulting in a cache hit +* **User** sends a search request resulting in a cache miss +* **Service** has high availability + +### Constraints and assumptions + +#### State assumptions + +* Traffic is not evenly distributed + * Popular queries should almost always be in the cache + * Need to determine how to expire/refresh +* Serving from cache requires fast lookups +* Low latency between machines +* Limited memory in cache + * Need to determine what to keep/remove + * Need to cache millions of queries +* 10 million users +* 10 billion queries per month + +#### Calculate usage + +**Clarify with your interviewer if you should run back-of-the-envelope usage calculations.** + +* Cache stores ordered list of key: query, value: results + * `query` - 50 bytes + * `title` - 20 bytes + * `snippet` - 200 bytes + * Total: 270 bytes +* 2.7 TB of cache data per month if all 10 billion queries are unique and all are stored + * 270 bytes per search * 10 billion searches per month + * Assumptions state limited memory, need to determine how to expire contents +* 4,000 requests per second + +Handy conversion guide: + +* 2.5 million seconds per month +* 1 request per second = 2.5 million requests per month +* 40 requests per second = 100 million requests per month +* 400 requests per second = 1 billion requests per month + +## Step 2: Create a high level design + +> Outline a high level design with all important components. + +![Imgur](http://i.imgur.com/KqZ3dSx.png) + +## Step 3: Design core components + +> Dive into details for each core component. + +### Use case: User sends a request resulting in a cache hit + +Popular queries can be served from a **Memory Cache** such as Redis or Memcached to reduce read latency and to avoid overloading the **Reverse Index Service** and **Document Service**. Reading 1 MB sequentially from memory takes about 250 microseconds, while reading from SSD takes 4x and from disk takes 80x longer.1 + +Since the cache has limited capacity, we'll use a least recently used (LRU) approach to expire older entries. + +* The **Client** sends a request to the **Web Server**, running as a [reverse proxy](https://github.com/donnemartin/system-design-primer-interview#reverse-proxy-web-server) +* The **Web Server** forwards the request to the **Query API** server +* The **Query API** server does the following: + * Parses the query + * Removes markup + * Breaks up the text into terms + * Fixes typos + * Normalizes capitalization + * Converts the query to use boolean operations + * Checks the **Memory Cache** for the content matching the query + * If there's a hit in the **Memory Cache**, the **Memory Cache** does the following: + * Updates the cached entry's position to the front of the LRU list + * Returns the cached contents + * Else, the **Query API** does the following: + * Uses the **Reverse Index Service** to find documents matching the query + * The **Reverse Index Service** ranks the matching results and returns the top ones + * Uses the **Document Service** to return titles and snippets + * Updates the **Memory Cache** with the contents, placing the entry at the front of the LRU list + +#### Cache implementation + +The cache can use a doubly-linked list: new items will be added to the head while items to expire will be removed from the tail. We'll use a hash table for fast lookups to each linked list node. + +**Clarify with your interviewer how much code you are expected to write**. + +**Query API Server** implementation: + +``` +class QueryApi(object): + + def __init__(self, memory_cache, reverse_index_service): + self.memory_cache = memory_cache + self.reverse_index_service = reverse_index_service + + def parse_query(self, query): + """Remove markup, break text into terms, deal with typos, + normalize capitalization, convert to use boolean operations. + """ + ... + + def process_query(self, query): + query = self.parse_query(query) + results = self.memory_cache.get(query) + if results is None: + results = self.reverse_index_service.process_search(query) + self.memory_cache.set(query, results) + return results +``` + +**Node** implementation: + +``` +class Node(object): + + def __init__(self, query, results): + self.query = query + self.results = results +``` + +**LinkedList** implementation: + +``` +class LinkedList(object): + + def __init__(self): + self.head = None + self.tail = None + + def move_to_front(self, node): + ... + + def append_to_front(self, node): + ... + + def remove_from_tail(self): + ... +``` + +**Cache** implementation: + +``` +class Cache(object): + + def __init__(self, MAX_SIZE): + self.MAX_SIZE = MAX_SIZE + self.size = 0 + self.lookup = {} # key: query, value: node + self.linked_list = LinkedList() + + def get(self, query) + """Get the stored query result from the cache. + + Accessing a node updates its position to the front of the LRU list. + """ + node = self.lookup[query] + if node is None: + return None + self.linked_list.move_to_front(node) + return node.results + + def set(self, results, query): + """Set the result for the given query key in the cache. + + When updating an entry, updates its position to the front of the LRU list. + If the entry is new and the cache is at capacity, removes the oldest entry + before the new entry is added. + """ + node = self.lookup[query] + if node is not None: + # Key exists in cache, update the value + node.results = results + self.linked_list.move_to_front(node) + else: + # Key does not exist in cache + if self.size == self.MAX_SIZE: + # Remove the oldest entry from the linked list and lookup + self.lookup.pop(self.linked_list.tail.query, None) + self.linked_list.remove_from_tail() + else: + self.size += 1 + # Add the new key and value + new_node = Node(query, results) + self.linked_list.append_to_front(new_node) + self.lookup[query] = new_node +``` + +#### When to update the cache + +The cache should be updated when: + +* The page contents change +* The page is removed or a new page is added +* The page rank changes + +The most straightforward way to handle these cases is to simply set a max time that a cached entry can stay in the cache before it is updated, usually referred to as time to live (TTL). + +Refer to [When to update the cache](https://github.com/donnemartin/system-design-primer-interview#when-to-update-the-cache) for tradeoffs and alternatives. The approach above describes [cache-aside](https://github.com/donnemartin/system-design-primer-interview#cache-aside). + +## Step 4: Scale the design + +> Identify and address bottlenecks, given the constraints. + +![Imgur](http://i.imgur.com/4j99mhe.png) + +**Important: Do not simply jump right into the final design from the initial design!** + +State you would 1) **Benchmark/Load Test**, 2) **Profile** for bottlenecks 3) address bottlenecks while evaluating alternatives and trade-offs, and 4) repeat. See [Design a system that scales to millions of users on AWS]() as a sample on how to iteratively scale the initial design. + +It's important to discuss what bottlenecks you might encounter with the initial design and how you might address each of them. For example, what issues are addressed by adding a **Load Balancer** with multiple **Web Servers**? **CDN**? **Master-Slave Replicas**? What are the alternatives and **Trade-Offs** for each? + +We'll introduce some components to complete the design and to address scalability issues. Internal load balancers are not shown to reduce clutter. + +*To avoid repeating discussions*, refer to the following [system design topics](https://github.com/donnemartin/system-design-primer-interview#) for main talking points, tradeoffs, and alternatives: + +* [DNS](https://github.com/donnemartin/system-design-primer-interview#domain-name-system) +* [Load balancer](https://github.com/donnemartin/system-design-primer-interview#load-balancer) +* [Horizontal scaling](https://github.com/donnemartin/system-design-primer-interview#horizontal-scaling) +* [Web server (reverse proxy)](https://github.com/donnemartin/system-design-primer-interview#reverse-proxy-web-server) +* [API server (application layer)](https://github.com/donnemartin/system-design-primer-interview#application-layer) +* [Cache](https://github.com/donnemartin/system-design-primer-interview#cache) +* [Consistency patterns](https://github.com/donnemartin/system-design-primer-interview#consistency-patterns) +* [Availability patterns](https://github.com/donnemartin/system-design-primer-interview#availability-patterns) + +### Expanding the Memory Cache to many machines + +To handle the heavy request load and the large amount of memory needed, we'll scale horizontally. We have three main options on how to store the data on our **Memory Cache** cluster: + +* **Each machine in the cache cluster has its own cache** - Simple, although it will likely result in a low cache hit rate. +* **Each machine in the cache cluster has a copy of the cache** - Simple, although it is an inefficient use of memory. +* **The cache is [sharded](https://github.com/donnemartin/system-design-primer-interview#sharding) across all machines in the cache cluster** - More complex, although it is likely the best option. We could use hashing to determine which machine could have the cached results of a query using `machine = hash(query)`. We'll likely want to use [consistent hashing](https://github.com/donnemartin/system-design-primer-interview#consistent-hashing). + +## Additional talking points + +> Additional topics to dive into, depending on the problem scope and time remaining. + +### SQL scaling patterns + +* [Read replicas](https://github.com/donnemartin/system-design-primer-interview#master-slave) +* [Federation](https://github.com/donnemartin/system-design-primer-interview#federation) +* [Sharding](https://github.com/donnemartin/system-design-primer-interview#sharding) +* [Denormalization](https://github.com/donnemartin/system-design-primer-interview#denormalization) +* [SQL Tuning](https://github.com/donnemartin/system-design-primer-interview#sql-tuning) + +#### NoSQL + +* [Key-value store](https://github.com/donnemartin/system-design-primer-interview#) +* [Document store](https://github.com/donnemartin/system-design-primer-interview#) +* [Wide column store](https://github.com/donnemartin/system-design-primer-interview#) +* [Graph database](https://github.com/donnemartin/system-design-primer-interview#) +* [SQL vs NoSQL](https://github.com/donnemartin/system-design-primer-interview#) + +### Caching + +* Where to cache + * [Client caching](https://github.com/donnemartin/system-design-primer-interview#client-caching) + * [CDN caching](https://github.com/donnemartin/system-design-primer-interview#cdn-caching) + * [Web server caching](https://github.com/donnemartin/system-design-primer-interview#web-server-caching) + * [Database caching](https://github.com/donnemartin/system-design-primer-interview#database-caching) + * [Application caching](https://github.com/donnemartin/system-design-primer-interview#application-caching) +* What to cache + * [Caching at the database query level](https://github.com/donnemartin/system-design-primer-interview#caching-at-the-database-query-level) + * [Caching at the object level](https://github.com/donnemartin/system-design-primer-interview#caching-at-the-object-level) +* When to update the cache + * [Cache-aside](https://github.com/donnemartin/system-design-primer-interview#cache-aside) + * [Write-through](https://github.com/donnemartin/system-design-primer-interview#write-through) + * [Write-behind (write-back)](https://github.com/donnemartin/system-design-primer-interview#write-behind-write-back) + * [Refresh ahead](https://github.com/donnemartin/system-design-primer-interview#refresh-ahead) + +### Asynchronism and microservices + +* [Message queues](https://github.com/donnemartin/system-design-primer-interview#) +* [Task queues](https://github.com/donnemartin/system-design-primer-interview#) +* [Back pressure](https://github.com/donnemartin/system-design-primer-interview#) +* [Microservices](https://github.com/donnemartin/system-design-primer-interview#) + +### Communications + +* Discuss tradeoffs: + * External communication with clients - [HTTP APIs following REST](https://github.com/donnemartin/system-design-primer-interview#representational-state-transfer-rest) + * Internal communications - [RPC](https://github.com/donnemartin/system-design-primer-interview#remote-procedure-call-rpc) +* [Service discovery](https://github.com/donnemartin/system-design-primer-interview#service-discovery) + +### Security + +Refer to the [security section](https://github.com/donnemartin/system-design-primer-interview#security). + +### Latency numbers + +See [Latency numbers every programmer should know](https://github.com/donnemartin/system-design-primer-interview#latency-numbers-every-programmer-should-know). + +### Ongoing + +* Continue benchmarking and monitoring your system to address bottlenecks as they come up +* Scaling is an iterative process diff --git a/solutions/system_design/query_cache/__init__.py b/solutions/system_design/query_cache/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/solutions/system_design/query_cache/query_cache.png b/solutions/system_design/query_cache/query_cache.png new file mode 100644 index 0000000000000000000000000000000000000000..55c93f402ec5982829298575a9253308e5d4309a GIT binary patch literal 111048 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 literal 0 HcmV?d00001 diff --git a/solutions/system_design/query_cache/query_cache_snippets.py b/solutions/system_design/query_cache/query_cache_snippets.py new file mode 100644 index 00000000..469dc7c6 --- /dev/null +++ b/solutions/system_design/query_cache/query_cache_snippets.py @@ -0,0 +1,89 @@ +# -*- coding: utf-8 -*- + +class QueryApi(object): + + def __init__(self, memory_cache, reverse_index_cluster): + self.memory_cache = memory_cache + self.reverse_index_cluster = reverse_index_cluster + + def parse_query(self, query): + """Remove markup, break text into terms, deal with typos, + normalize capitalization, convert to use boolean operations. + """ + ... + + def process_query(self, query): + query = self.parse_query(query) + results = self.memory_cache.get(query) + if results is None: + results = self.reverse_index_cluster.process_search(query) + self.memory_cache.set(query, results) + return results + + +class Node(object): + + def __init__(self, query, results): + self.query = query + self.results = results + + +class LinkedList(object): + + def __init__(self): + self.head = None + self.tail = None + + def move_to_front(self, node): + ... + + def append_to_front(self, node): + ... + + def remove_from_tail(self): + ... + + +class Cache(object): + + def __init__(self, MAX_SIZE): + self.MAX_SIZE = MAX_SIZE + self.size = 0 + self.lookup = {} + self.linked_list = LinkedList() + + def get(self, query) + """Get the stored query result from the cache. + + Accessing a node updates its position to the front of the LRU list. + """ + node = self.lookup[query] + if node is None: + return None + self.linked_list.move_to_front(node) + return node.results + + def set(self, results, query): + """Set the result for the given query key in the cache. + + When updating an entry, updates its position to the front of the LRU list. + If the entry is new and the cache is at capacity, removes the oldest entry + before the new entry is added. + """ + node = self.map[query] + if node is not None: + # Key exists in cache, update the value + node.results = results + self.linked_list.move_to_front(node) + else: + # Key does not exist in cache + if self.size == self.MAX_SIZE: + # Remove the oldest entry from the linked list and lookup + self.lookup.pop(self.linked_list.tail.query, None) + self.linked_list.remove_from_tail() + else: + self.size += 1 + # Add the new key and value + new_node = Node(query, results) + self.linked_list.append_to_front(new_node) + self.lookup[query] = new_node