Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

google search engine architecture- how do so many concurrent users do a search on it

With millions of users searching for so many things on google, yahoo and so on. How can the server handle so many concurrent searches? I have no clue as to how they made it so scalable. Any insight into their architecture would be welcomed.

like image 795
stone Avatar asked May 29 '10 16:05

stone


People also ask

How does Google serve so many requests?

Query processing runs on multiple computers in parallel. A query might consume many seconds of CPU time, but because it's running across many computers Google can return the results in under a second.

How do you search on Google?

Just type what you're interested in finding into the search box on the Google web site or into your toolbar! If you're using a toolbar, as you type, you may see words begin to appear below the toolbar's search box. These are suggestions that Google thinks may match what you're interested in.


2 Answers

One element, DNS load balancing.

There are plenty of resources on google architecture, this site has a nice list:

  • http://highscalability.com/google-architecture
like image 195
miku Avatar answered Oct 21 '22 11:10

miku


DNS Load Balancing is correct, but it is not really the full answer to the question. Google uses a multitude of techniques, including but not limited to the following:

  • DNS Load Balancing (suggested)
  • Clustering - as suggested, but note the following
    • clustered databases (the database storage and retrieval is spread over many machines)
    • clustered web services (analogous to DNSLB here)
    • An internally developed clustered/distributed filing system
  • Highly optimised search indices and algorithms, making storage efficient and retrieval fast across the cluster
  • Caching of requests (squid), responses (squid), databases (in memory, see shards in the above article)
like image 27
Kurucu Avatar answered Oct 21 '22 09:10

Kurucu