Top Banner
Large Systems: Large Systems: Design + Design + Implementation: Implementation: Google Search Google Search Image (c) Facebook
17

LS Google Search - OS3€¦ · Case Study: Google Evolution Jeff Dean, “Building Software Systems at Google and Lessons Learned”, Stanford Computer Science Department Distinguished

May 01, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: LS Google Search - OS3€¦ · Case Study: Google Evolution Jeff Dean, “Building Software Systems at Google and Lessons Learned”, Stanford Computer Science Department Distinguished

Large Systems:Large Systems:Design + Design + Implementation:Implementation:

➢ Google SearchGoogle Search

Image (c) Facebook

Page 2: LS Google Search - OS3€¦ · Case Study: Google Evolution Jeff Dean, “Building Software Systems at Google and Lessons Learned”, Stanford Computer Science Department Distinguished

2

Case Study: Google Evolution

Jeff Dean, “Building Software Systems at Google and Lessons Learned”, Stanford Computer Science Department Distinguished Computer Scientist Lecture lecture, November, 2010

Jeff Dean, “Evolution and future directions of large-scale storage and computation systems at Google”, SoCC '10: Proceedings of the 1st ACM symposium on Cloud computing, ACM, New York, NY, USA (2010), pp. 1-1

https://research.google.com/pubs/jeff.html George Coulouris et al. “Distributed Systems: Concepts and Design”

5th Ed., Addison-Wesley, Ch. 21.

Page 3: LS Google Search - OS3€¦ · Case Study: Google Evolution Jeff Dean, “Building Software Systems at Google and Lessons Learned”, Stanford Computer Science Department Distinguished

3

Page 4: LS Google Search - OS3€¦ · Case Study: Google Evolution Jeff Dean, “Building Software Systems at Google and Lessons Learned”, Stanford Computer Science Department Distinguished

4

Page 5: LS Google Search - OS3€¦ · Case Study: Google Evolution Jeff Dean, “Building Software Systems at Google and Lessons Learned”, Stanford Computer Science Department Distinguished

5

Page 6: LS Google Search - OS3€¦ · Case Study: Google Evolution Jeff Dean, “Building Software Systems at Google and Lessons Learned”, Stanford Computer Science Department Distinguished

6

Page 7: LS Google Search - OS3€¦ · Case Study: Google Evolution Jeff Dean, “Building Software Systems at Google and Lessons Learned”, Stanford Computer Science Department Distinguished

7

Page 8: LS Google Search - OS3€¦ · Case Study: Google Evolution Jeff Dean, “Building Software Systems at Google and Lessons Learned”, Stanford Computer Science Department Distinguished

8

Page 9: LS Google Search - OS3€¦ · Case Study: Google Evolution Jeff Dean, “Building Software Systems at Google and Lessons Learned”, Stanford Computer Science Department Distinguished

9

Page 10: LS Google Search - OS3€¦ · Case Study: Google Evolution Jeff Dean, “Building Software Systems at Google and Lessons Learned”, Stanford Computer Science Department Distinguished

10

Page 11: LS Google Search - OS3€¦ · Case Study: Google Evolution Jeff Dean, “Building Software Systems at Google and Lessons Learned”, Stanford Computer Science Department Distinguished

11

Leaf servers handle both index & doc requests from in-memory data structures

Page 12: LS Google Search - OS3€¦ · Case Study: Google Evolution Jeff Dean, “Building Software Systems at Google and Lessons Learned”, Stanford Computer Science Department Distinguished

12

Leaf servers handle both index & doc requests from in-memory data structures

Coordinates index switching as new shards become available

Page 13: LS Google Search - OS3€¦ · Case Study: Google Evolution Jeff Dean, “Building Software Systems at Google and Lessons Learned”, Stanford Computer Science Department Distinguished

13

New Problems

More collections to search besides Web More structured: Maps

Need more real-time results

Page 14: LS Google Search - OS3€¦ · Case Study: Google Evolution Jeff Dean, “Building Software Systems at Google and Lessons Learned”, Stanford Computer Science Department Distinguished

14

More Real-Time

Creating Index was batch process via MapReduce Store all documents in GFS (==HDFS) Run several MapReduce jobs to create index Upload index to Leaf servers

New documents would not show up in search results for 2-3 days [Peng and Dadek, 2010]

Needed lower “time from crawl-to-search-hit” Solution:

New data storage system: Colossus / BigTable Event-driven, incremental processing: Caffeine / Percolator

Page 15: LS Google Search - OS3€¦ · Case Study: Google Evolution Jeff Dean, “Building Software Systems at Google and Lessons Learned”, Stanford Computer Science Department Distinguished

15

BigTable:

Page 16: LS Google Search - OS3€¦ · Case Study: Google Evolution Jeff Dean, “Building Software Systems at Google and Lessons Learned”, Stanford Computer Science Department Distinguished

16

BigTable:

Page 17: LS Google Search - OS3€¦ · Case Study: Google Evolution Jeff Dean, “Building Software Systems at Google and Lessons Learned”, Stanford Computer Science Department Distinguished

17

Caffeine / Percolator

Crawler uploads new version of page in BigTable Updates to BigTable can trigger code E.g. code to create index Push index update to Leafs