Kiedy szukam pliku na moim dysku HD w systemie Windows 7 lub Windows XP, proces ten trwa kilka minut. Jeśli wprowadzę wyszukiwane hasło w Google, odpowiedź pojawi się na ekranie w milisekundach
Jak Google może przeszukiwać Internet, który jest wielokrotnie większy niż mój dysk twardy, szybciej niż mój system operacyjny może przeszukać mój komputer? Czy to tylko kwestia mocy obliczeniowej i właściwego algorytmu?
Odpowiedzi:
Google nie przeszukuje Internetu: przeszukuje indeks. Google ma ogromne farmy serwerów, które stale skanują i indeksują Internet. Ten proces zajmuje dużo czasu, podobnie jak wyszukiwanie nieindeksowanego dysku twardego. W systemie Windows 7 istnieje możliwość indeksowania dysków twardych. Proces ten na początku zajmuje trochę czasu, ale po jego uruchomieniu wyniki wyszukiwania będą natychmiastowe.
Jeśli chcesz dowiedzieć się więcej o tym, jak działa wyszukiwarka Google, przeczytaj artykuł Google „ Jak działa wyszukiwanie ” lub artykuł „ Jak działają rzeczy: jak działa Google ”.
źródło
Google przypomina przeszukiwanie żółtych stron w poszukiwaniu adresu (zindeksowanego). Wyszukiwanie w systemie Windows przypomina poruszanie się po numerach budynków (nieindeksowanych).
Inną analogią byłoby przeglądanie dobrze zorganizowanej biblioteki i katalogu kart lub po prostu sortowanie niezorganizowanego stosu książek za każdym razem.
Zasadniczo jest to cała praca organizacyjna wykonana przed wyszukiwaniem, która przyspiesza.
Informacje: Podczas wyszukiwania indeksowanych lokalizacji wyszukiwanie w systemie Windows może być równie responsywne.
źródło
Firma Google zajmuje się wyszukiwaniem (i wyświetlaniem reklam) i jest na tym bardzo skoncentrowana. Istnieje wiele rzeczy, które Google robi, aby zapewnić szybki zwrot danych:
Zobacz ten link, aby uzyskać więcej informacji o tym, jak działa wyszukiwanie
Dla porównania, wyszukiwanie dysku twardego bez indeksu musi przeczytać każdy plik na dysku, co może zająć dużo czasu.
Dodatkowo możesz myśleć o systemie plików i indeksie jak o drzewie. W systemie plików katalog główny drzewa jest folderem najwyższego poziomu i może zawierać gałęzie (foldery) lub liście (pliki) w tym jednym folderze. Każda gałąź może mieć podgałęzie dla większej liczby folderów i pozostawia więcej plików. Aby przeszukać tę strukturę, musisz „przejść” wszystkie gałęzie (i gałęzie), aby znaleźć poszukiwany liść. Indeks odwraca tę hierarchię. Baza staje się alfabetem, a wszystkie pododdziały dodatkowo udoskonalają tę kwestię. Liście to miejsce, którego szukasz. Przeszukiwanie tej struktury pozwala przycinać (wykluczać) duże sekcje drzewa (np. Pierwsza litera wyszukiwanego terminu pozwala od razu przyciąć 25 innych gałęzi).
źródło
Jakieś 4 lata temu zadałem sobie to samo pytanie. Ale kiedy przeglądałem swoje badania, w końcu przeczytałem, że oprócz tego, że zatrudniają najlepszych z najlepszych, aby wymyślić niektóre z najbardziej wyrafinowanych algorytmów wyszukiwania i tak dalej.
Myślę, że jeden z kluczowych projektów, z których korzystali, jest podobny do pomniejszenia mapy. Na farmach masz dużo tanich komputerów. Niech te komputery mają tylko około 80 gigabajtów miejsca na dysku twardym i naciskaj mocno, aby mieć około 16 gigabajtów RAM lub nawet lepiej 32 gig RAM na tych komputerach (jak najwięcej). Pamiętaj, że są one połączone przez jakiś skomplikowany system, który zaprojektowali. Ale kluczową ideą jest to, że po przesłaniu zapytania jest ono przekazywane do ich systemu, w którym spróbuje przeszukać świeże dane w pamięci RAM. Pamiętaj, że mają wiele takich tanich komputerów. A ponieważ dane znajdują się w pamięci RAM, można je znaleźć znacznie szybciej niż na dysku twardym. Ale nie zapominaj, że mają również zaawansowany system (indeksowanie i wszystkie te algorytmy), który bardzo pomaga.
Te dane nie muszą być świeże, ponieważ wszyscy wiemy, że Google przechowuje wszystko. Jeśli chodzi o to, co powinno znajdować się w pamięci RAM, można zastosować tę samą zasadę z drzewkami splay, zachować to, co ludzie najczęściej szukają w pamięci RAM, i spuść najmniej wyszukiwane rzeczy na dysk twardy.
Ten mały pomysł w połączeniu z ich indeksowaniem i wszystkimi innymi rzeczami, o których wspominali inni w swoich odpowiedziach, może być jednym z powodów, dla których jest szybszy niż wyszukiwanie na dysku twardym.
Oczywiście mogłem się mylić, ale to miało dla mnie sens. I byłem zadowolony z tego, czego się nauczyłem.
źródło
Google korzysta z niezwykle zaawansowanego systemu indeksowania, operacji równoległych i szeregu technik równoważenia obciążenia niedostępnych dla standardowego komputera autonomicznego. istnieje naprawdę bardzo małe podobieństwo między wyszukiwaniem w sieci a wyszukiwaniem pliku na dysku twardym, a Google bardzo optymalizuje pod kątem konkretnych przypadków użycia.
źródło
W 2004 r. Niektórzy pracownicy Google opublikowali artykuł: MapReduce i od tego czasu poprawiali to setki razy.
Ponadto używają Google File System (GFS), który jest rozproszonym systemem plików, takim jak Hadoop Distribud File System (HDFS) i jest wyjątkowo zoptymalizowany do swoich celów. O ile mi wiadomo, GFS działa może tysiąc razy szybciej niż HDFS .
źródło
Pomyślałem, że dodam do tego, ponieważ ja też miałem to pytanie jakiś czas temu i znalazłem świetne filmy, które opisują, co Google robi na powierzchni. Ciekawe do obejrzenia.
Google na Youtube 1
Google na Youtube 2
Wchodzi trochę głębiej, ale nie na tyle głęboko, by zatracić się w szczegółach technicznych.
Twoje zdrowie.
źródło
Po prostu dodając coś do wspaniałych odpowiedzi tutaj. Google używa buforowania popularnych wyszukiwanych słów. Wyniki tych wyszukiwań znajdują się w pamięci. Więc jeśli szukasz czegoś, co jest często wyszukiwane, wyniki pojawią się prawie natychmiast.
źródło
Aby odpowiedzieć na pytanie w uproszczony sposób: wyobraź sobie, że masz podręcznik z indeksem słów kluczowych z tyłu.
Przeszukiwanie dysku twardego (przynajmniej naiwnie) jest jak przeglądanie książki, strona po stronie, skanowanie każdej linii w poszukiwaniu wystąpienia słowa kluczowego.
Korzystanie z wyszukiwarki internetowej przypomina wyszukiwanie słowa kluczowego w indeksie, a następnie przejście bezpośrednio do podanego numeru strony.
W rzeczywistości jest to o wiele bardziej skomplikowane. Na przykład zwykle przeszukujesz dysk twardy w poszukiwaniu różnych rodzajów informacji niż Internet. Ale podstawową rzeczą do usunięcia jest to, że wyszukiwarka korzysta z indeksu. Przeszedł już przez „książkę” słowo po słowie i opracował listę tych słów wraz z miejscem ich znalezienia, i uporządkował listę w taki sposób, aby mógł bardzo szybko znaleźć w niej rzeczy .
Pomyśl na przykład o organizacji indeksu w książce. Po pierwsze, jest zwykle sortowane alfabetycznie, a po drugie może mieć nagłówki liter. Gdy szukasz słowa w indeksie, możesz od razu zobaczyć listę słów zaczynających się na żądaną literę. A ponieważ lista jest posortowana, łatwo jest znaleźć żądane słowo na liście lub szybko powiedzieć, czy go brakuje.
Podsumowując, to tak, jakby na dysku twardym była tylko książka, podczas gdy wyszukiwarka ma indeks. Chociaż, jak zauważyli inni, możliwe jest użycie oprogramowania do indeksowania dysku twardego, a następnie można użyć indeksu zamiast całej rzeczy.
źródło
Myślę, że jednym z powodów, dla których pojawił się
Auto Complete
i wykorzystał Google,AJAX
był problem z prędkością. Teraz, gdy piszesz, słowa są wysyłane w tle, dzięki czemu Google może wykonać część zadania, gdy jeszcze nie skończyłeś. Również indeksy oparte są na wielu kombinacjach słów (które można znaleźć jako sugestie na dole strony). Obecnie prędkość sieci jest wyższa niż dysków twardych i prawdopodobnie wiele z tych wskaźników znajduje się w pamięci RAM serwerów w ich farmie.źródło