#1 By: howtogeek, April 4th, 2013 18:34
Originally published at: http://www.howtogeek.com/142789/why-are-google-search-results-faster-than-local-hard-drive-queries/
Today’s Question & Answer session comes to us courtesy of SuperUser—a subdivision of Stack Exchange, a community-driven grouping of Q&A web sites.
#2 By: Zain Rizvi, April 8th, 2013 03:22
It's more than just simple indexing. By the time you type in the first few letters of your search term, google goes ahead and pre-fetches the most common search results people want based on popular queries starting with that string. It doesn't have to search it's entire index for items matching that search text, it already has a cache of that sitting somewhere.
As you enter more text google just modifies the results it's searching for accordingly and continues the process.
#3 By: Stephanie Daugherty, April 8th, 2013 06:38
It's not just the size of their server farms, but also how well that they are able to scale to make use of them and avoid creating bottlenecks. Throwing more servers at a problem won't make solving that problem faster, unless you also know how to break down the task so that it can be done efficiently in small chunks. Take a look at the MapReduce article from wikipedia below.
MapReduce is a programming model for processing large data sets with a parallel, distributed algorithm on a cluster. A MapReduce program is composed of a Map() procedure that performs filtering and sorting (such as sorting students by first name into queues, one queue for each name) and a Reduce() procedure that performs a summary operation (such as counting the number of students in each queue, yielding name frequencies). The "MapReduce System" (also called "infrastructure" or "framework") orche...
This is just one of the things Google uses to optimize for speed, but it's a big part - by breaking up tasks efficiently, they can search their index in parallel, so that each node used to perform the search is searching a different part of the index at the same time.