Czy ktoś wie, jak Google lub Yahoo wyszukują słowa kluczowe w odniesieniu do bardzo bardzo dużych ilości danych? Jaką bazę danych lub technologie wykorzystują do tego?
Zajmuje to kilka milisekund, ale zindeksowano ponad miliard stron.
Czy ktoś wie, jak Google lub Yahoo wyszukują słowa kluczowe w odniesieniu do bardzo bardzo dużych ilości danych? Jaką bazę danych lub technologie wykorzystują do tego?
Zajmuje to kilka milisekund, ale zindeksowano ponad miliard stron.
Odpowiedzi:
Jestem pewien, że istnieje kombinacja rzeczy:
dużo - dane są dystrybuowane i replikowane w wielu węzłach i różnych centrach danych
Gołębie .
Sercem technologii wyszukiwania Google jest PigeonRank ™ , system rankingowy stron internetowych opracowany przez założycieli Google Larry'ego Page'a i Sergeya Brina z Uniwersytetu Stanforda:
Opierając się na przełomowej pracy BF Skinnera, Page i Brin doszli do wniosku, że tanie klastry gołębi (PC) można wykorzystać do obliczenia względnej wartości stron internetowych szybciej niż redaktorzy lub algorytmy oparte na maszynie. I podczas gdy Google ma dziesiątki inżynierów pracujących nad ulepszeniem każdego aspektu naszej usługi na co dzień, PigeonRank nadal stanowi podstawę dla wszystkich naszych narzędzi wyszukiwania w Internecie.
Dlaczego opatentowany przez Google PigeonRank ™ działa tak dobrze
Sukces PigeonRank opiera się przede wszystkim na doskonałej zdolności szkoleniowej gołębia domowego (Columba livia) i jego wyjątkowej zdolności rozpoznawania obiektów niezależnie od orientacji przestrzennej. Zwykły szary gołąb może łatwo rozróżniać przedmioty wykazujące tylko najdrobniejsze różnice, zdolność, która pozwala mu wybierać odpowiednie strony internetowe spośród tysięcy podobnych stron.
Gromadząc stada gołębi w gęstych skupiskach, Google jest w stanie przetwarzać zapytania z szybkościami przewyższającymi tradycyjne wyszukiwarki, które zazwyczaj polegają na ptakach drapieżnych, rozrodczych kurach lub wolno poruszających się ptactwach wodnych w celu ustalenia ich rankingu istotności.
Gdy zapytanie zostanie przesłane do Google, jest kierowane do kooperacji danych, gdzie monitoruje flashowanie stron wyników z niesamowitą prędkością . Gdy jeden z gołębi w klastrze zaobserwuje odpowiedni wynik , uderza dziobem w gumowy pręt stalowy, który przypisuje stronie wartość PigeonRank wynoszącą jeden. Z każdym dziobem zwiększa się PigeonRank . Strony otrzymujące najwięcej dziurek są zwracane u góry strony wyników użytkownika, a pozostałe wyniki są wyświetlane w kolejności dziobania.
Ważne jest, aby pamiętać o kilku sprawach związanych z Google:
Ich DB jest zastrzeżonym BigTable - został zaprojektowany na zamówienie przez GOOGLE, aby dokładnie odpowiadał ich potrzebom
Ich zastrzeżona baza danych jest zbudowana na swoim zastrzeżonym systemie plików - Google File System - został zaprojektowany ponownie przez GOOGLE , aby można go łatwo rozszerzać za pomocą zwykłego sprzętu. Jak wspomniał Aaron w swojej odpowiedzi, mają dużą liczbę średnich serwerów zamiast niewielkiej liczby bardzo potężnych serwerów.
Przechowują poszczególne tabele na wielu komputerach w celu przyspieszenia dostępu - ich oprogramowanie wie, które dane znajdują się na której maszynie, i zamiast przeszukiwać dysk, aby go zlokalizować, mogą przejść bezpośrednio do serwera z odpowiednimi informacjami.
Google nie korzysta z tradycyjnej technologii relacyjnych baz danych. Opracował własną technologię, redukcję dużego stołu i mapy. Oryginalne prace badawcze są tutaj: Big Table i Map / Reduce . Interesujący jest również posortowany stół ciągów SSTable .
Podobne technologie są obecnie używane w bazach danych Hadoop i NoSQL .
Przeczytaj „ In the Plex: Steven Levy : Jak Google myśli, działa i kształtuje nasze życie ”. Ta książka jest fascynującą lekturą na temat wszystkich spraw Google i omawia na wysokim poziomie niektóre technologie i inżynierię stojącą za wyszukiwaniem. Aaron podsumowuje to bardzo dobrze w swojej odpowiedzi, a książka Levy'ego poda więcej szczegółów na temat tego, jak to robią.