Jak działa wyszukiwarka?



Pobieranie 23.43 Kb.
Data07.05.2016
Rozmiar23.43 Kb.

Jak działa wyszukiwarka?


Zasadniczo wyróżnia się dwa rodzaje internetowych wyszukiwarek: indeksowe i katalogowe...

Zasadniczo wyróżnia się dwa rodzaje internetowych wyszukiwarek: indeksowe i katalogowe. Wyszukiwarki indeksowe ewidencjonują odsyłacze do wszystkich plików w gigantycznej bazie danych. Do najbardziej znanych przedstawicieli "gatunku" należą AltaVista (www.altavista.com) i Lycos (www.lycos.com). Z kolei wyszukiwarki katalogowe działają na podstawie hierarchicznej, redagowanej ręcznie i ciągle uzupełnianej struktury wpisów (np. Yahoo - www.yahoo.com).

Wyszukiwanie katalogowe okazuje się szybkie i daje precyzyjne wyniki. Jego zasadniczą wadą jest fakt, że nie obejmuje całego Internetu, więc wiele informacji może pozostać w ukryciu. Tymczasem wyszukiwarki indeksowe często zasypują nas adresami zawierającymi poszukiwane elementy. Co komu po wynikach, jeśli skła-dają się z kilku lub kilkunastu tysięcy witryn? Dlatego większość popularnych wyszukiwarek (np. www.altavista.com, www.lycos.com) oferuje filtry pozwalające zawęzić obszar poszukiwania - np. do określonej tematyki lub danych przedziałów czasowych.

Google. Jak działa najpopularniejsza wyszukiwarka internetowa na świecie?



Google już od dawna dzierży palmę pierwszeństwa wśród wyszukiwarek. Co kryje się za prostą i niepozorną stroną www.Google.com? Większość użytkowników nie zdaje sobie sprawy jak ogromny potencjał technologiczny kryje się pod tym adresem. Postaramy się opisać w jaki sposób w ciągu ułamka sekundy Google jest w stanie znaleźć jedną z kilku miliardów stron www. Informacje na temat rozwiązań technologicznych zastosowanych w Google są zapisem mającej miejsce w Londynie konferencji, w której brał udział wicedyrektor do spraw technicznych Google – Urs Hoelzle.

Fakty
Gdyby zebrać wszystkie serwery Google razem to pewnie amerykańska firma posiadałaby największe centrum obliczeniowym na świecie. Składająca się z dziesiątek tysięcy komputerów PC sieć jest jednak rozproszona na całym świecie. Liczby na temat Google dają trochę do myślenia:

  • Ponad 4 miliardy zindeksowanych stron. Każda z nich ma średnio 10 kB

  • Do 2000 komputerów w jednym klasterze

  • Ponad 30 klastrów

  • Obsługa 104 języków w tym nawet „klingońskiego” używanego przez postacie z filmu StarTrek

  • W jednym klasterze składowanych jest ponad 1 Petabajt danych czyli milion gigabajtów

  • Pojedynczy klaster ma wydajność zapisu/odczytu na poziomie 2 Gbit/s

  • Komputerów w klasterze jest tak dużo że dziennie psują się średnio 2 serwery

  • Brak poważniejszej awarii od lutego 2000

  • Google obsługuje średnio 1000 zapytań w ciągu sekundy.

W firmie Google pracuje 800 informatyków w tym 200 z tytułem doktora. I chociaż większość osób myśli że Google jest tylko wyszukiwarką internetową, to w firmie prowadzi się badania nad wieloma innymi usługami. Google przeszukuje już nie tylko witryny, ale także listy dyskusyjne, blogi, sklepy internetowe, placówki naukowe, biblioteki a także wyszukuje z sieci obrazki. Wprowadzenie usługi poczty Gmail zapoczątkowało proces zwiększenia pojemności darmowych skrzynek pocztowych. Wszystko to działa na tanich, niemarkowych komputerach PC, które, biorąc pod uwagę skalę przedsięwzięcia, co chwila się psują. Zapanowanie nad takim złożonym systemem jest niezwykle trudne. Kluczem do sukcesu jest według Ursa Hoelzle oprogramowanie sterujące, które szybko wyłapuje awarie i podejmuje odpowiednie akcje.

Ocena jakości strony
Google zindeksował jak dotąd ponad 4 miliardy stron www, które średnio ważą ok. 10 KB. Daje to w sumie 40 Terabajtów danych. Każdego dnia średnio 1000 razy w ciągu sekundy Google musi przeszukać te 40 TB danych i zwrócić wyniki do użytkownika w ciągu ułamka sekundy. Sposób opubliczniania informacji w internecie nie czyni tego zadania łatwym. Weźmy np. stroną firmową jakiegoś przedsiębiorstwa - mówi Hoelzle – Jej administrator zdecydował się że wszystkie informacje przedstawi w formie graficznej. Możliwe jest że na stronie nawet nie pojawi się nazwa firmy. Aby jednak zindeksować stronę, Google analizuje wszystkie linki między dokumentami znajdującymi się na witrynie. Każdy link może więc dostarczać dodatkowych informacji o firmie. Jeżeli na jakiejś stronie pojawi się link do uniwersytetu Standforda to dla Google oznacza to, że ktoś uznał, że witryna uniwersytetu jest wartościowa. Tekst linku pozwoli zorientować się co znajduje się na tej stronie. Jeżeli wiadomo co znajduje się na stronie na której jest link, to pozwala to też zorientować się jaka jest jakość strony do której ten link prowadzi. Takie podejście do oceny stron internetowych jest podstawą algorytmu Page-Rank, który jest podstawowym źródłem sukcesu Google. Page-Rank nie bierze pod uwagę tylko liczby linków, ale też ich jakość i wagę. W rezultacie, po dokonaniu niezbędnych obliczeń, Google wyświetla strony, które z największą dozą prawdopodobieństwa będą przydatne dla użytkownika.

Proces wyszukiwania
Stosowanie algorytmu Page-Rank dla każdego wyszukiwania i każdej strony jest oczywiście niemożliwe. Dlatego cały proces jest podzielony na kilka etapów i rozdzielony na różne serwery. Gdy system dostaje zapytanie od użytkownika, wędruje ono najpierw do serwerów indeksowych na których znajduje się skatalogowana zawartość całej sieci www. Indeks stanowi przyporządkowanie poszczególnych słów kluczowych do dokumentów, które je zawierają. I tak np. indeks dla słowa „Imperial” zawiera listę wszystkich dokumentów i ich adresów w których to słowo się znajduje. To samo dla słowa „College”. W przypadku szukania „Imperial College”, Google wybiera tylko dokumenty, które zawierają oba słowa. Przy podawaniu wyników Google bierze pod uwagę jeszcze dodatkowe informacje takie jak miejsce występowania słowa kluczowego np. nagłówek czy stopka, pogrubienie itp. Każdy serwer indeksowy zawiera tylko jakiś wycinek sieci www. Na jednym komputerze, a tym bardziej na tanich komputerach stosowanych w Google, indeks całej sieci by się nie zmieścił. Tak więc cały indeks sieci rozdzielony jest na wiele serwerów i zapytanie jest przesyłane jednocześnie do wielu komputerów, przy czym każdy z nich realizuje tylko swoje zadanie.

Po otrzymaniu zapytanie Google wylicza ok. 1000 najlepszych wyników do których przypisuje tzw. Document-ID, czyli numer dokumentu. W następnym kroku numery dokumentów wędrują do serwerów dokumentów na których znajdują się kopie przeszukiwanych przez Google stron. Dzięki temu oprócz listy adresów Google wyświetla także tytuły oraz część tekstu znajdującego się w dokumencie. Także w tym wypadku każdy serwer dokumentowy zawiera pewien wycinek sieci www.

W ostatnim etapie wyszukiwania, wyniki wędrują do Ad-serwerów, czyli serwerów reklamowych, które do listy stron dodają reklamy, stanowiące podstawowe źródło przychodów firmy. Gotowa lista wyników wraz z reklamami wysyłana jest do przeglądarki internauty.

Skalowalność
Wraz ze zwiększaniem się zasobów sieciowych rośnie też obciążenie dla wyszukiwarki. Na szczęście ceny sprzętu spadają o wydajność rośnie. Tak więc przy np. dwukrotnym zwiększeniu zasobów sieci WWW wcale nie jest konieczne dwukrotne zwiększenie liczby komputerów. Na szczęście, według Ursa Hoelzle Google jest tak zbudowane że zwiększenie liczby komputerów nie powoduje spadku wydajności z pojedyńczego komputera.

Sprzęt
Cały model biznesowy Google funkcjonuje sprawnie dlatego, że firma stosuje tani sprzęt komputerowy. Źródła takiego podejścia można doszukiwać się w historii firmy. Założyciele Google: Sergey Brin i Larry Page jeszcze jako studenci Uniwersytetu Stanforda, musieli szukać taniego sprzętu, który stał się zbędny w wyniku modernizacji. Sprzęt ten nie gwarantował dużej prędkości, ale był tani lub wręcz darmowy.

Dzięki takiemu rozwiązaniu usługa wyszukiwania nic nie kosztuje a firma jest w stanie utrzymywać się z wyświetlania reklam. Według Ursa Hoelzle kluczem do sukcesu firmy jest oprogramowanie, które pozwala stosować tani sprzęt. Klastry zbudowane są z niemarkowych serwerów 1U i 2U umieszczonych w szafach typu rack, które są tak tanie, że w Google nazywane są zwykłymi pecetami. Każdy serwer posiada normalny procesor x86 oraz zwykły dysk IDE. Jego awaryjność też jest na poziomie zwykłego komputera PC, co oznacza że średnio po upływie 3 lat się zepsuje.

O ile w przypadku komputerów domowych jedna awaria na 3 lata jest do zaakceptowania, o tyle dla Google stanowi ona poważny problem. W klastrze składającym się z tysiąca komputerów średnio jeden serwer dziennie się psuje. „Przy takiej wielkości przedsięwzięcia nie da się tego naprawić samodzielnie” - twierdzi Hoelzle – „Dlatego oprogramowanie zostało tak napisane, żeby zawsze brać pod uwagę możliwość awarii każdego komponentu, który jest natychmiast omijany. Nasz sukces to właśnie oprogramowanie”.

Replikacja danych
Podstawowym zabezpieczeniem przed utratą danych jest ich replikacja. Każdy serwer, który zawiera jakąś część internetu, posiada nawet 10 kopii. Wydaje się że jest to drogie rozwiązanie, ale przy takim obciążeniu serwery i tak muszą być zwielokrotniane, żeby obsłużyć dużą liczbę zapytań. Gdy zatem awarii ulegnie jeden serwer to wydajność usługi spada o 10%. Nie jest to zatem totalna awaria, ale drobne zakłócenie, które przy poprawnym rozdziale obciążenia, da się opanować. Obecnie Google posiada nie 10, ale nawet 50 kopii każdego serwera. Firma tworzy kopie serwerów, kopie zbiorów serwerów oraz kopie centrów obliczeniowych, które rozsiane są na całym świecie. Od lutego 2000 wyszukiwarka nie miała ani jednej poważnej awarii. Awaria sprzed 5 lat wydarzyła się, gdy Google miało tylko jedno centrum obliczeniowe w którym popsuł się główny Switch. Przez pół godziny wyszukiwanie nie działało. Teraz wszystkie dane posiadają swoje kopie rozsiane w różnych centrach obliczeniowych. „Gdy utracimy dane w jednym centrum obliczeniowym możemy z nich korzystać w innym. Wbrem pozorom dzieje się to stosunkowo często” – twierdzi Hoelzle. „Utworzenie nowego centrum trwa zwykle nie więcej niż 3 dni. Potrzebujemy serwerów, kabli oraz ciężarówki, która to wszystko przewiezie. Instalacja oprogramowania i uaktualnienie danych przebiegają automatycznie”.

Dane składowane na serwerze zapisywane są na dyskach przy pomocy systemu GFS (Google File System). Pojedyńczy blok ma 64 MB wielkości (dla porównania bloki w systemach windows mają kilka kB). Każdy blok zapisywany jest na trzech różnych serwerach znajdujących się w różnych szafach serwerowych podpiętych do różnych switchów. Takie rozwiązanie gwarantuje, że awaria lub błąd zapisu/odczytu danych nie będzie miało wpływu na jakość wyników. Raz zdarzyło się, że ktoś niechcący odłączył szafę rackową z 80-cioma serwerami. Wydajność systemu się obniżyła, ponieważ zaczął się replikować, jednak wyszukiwanie nadal działało. W sumie Google posiada 30 klastrów z systemem GFS. Jeden klaster może składać się nawet z 2000 serwerów i magazynować Petabajty danych. Każdy klaster ma wydajność zapisu i odczytu na poziomie ok. 2 Gbit/s. Pojedyńczy serwer „wyciąga” średnio ok. 2 Mbit/s.



Inne problemy i wyzwania
W swoim wykładzie wicedyrektor Google ds. technicznych zidentyfikował jeszcze kilka spraw, które są ważne z punktu widzenia jakości wyszukiwania. Jednym z nich są błędy zapisu wynikające ze specyfikacje dysków twardych. Gwarantują one poziom błędów na poziomie 1: 10-10 – 1:10-15 bitów tzn jeden na 1000000000000000 bitów może zostać zapisany błędnie a oprogramowanie sterujące dysku twardego tego nie wykryje. Przy Petabajdzie danych takie wartości mają jednak duże znaczenie. „Wychodzimy z założenia, że w ciągu miesiąca wiele razy dane zostaną zapisane błędnie a my o tym nie będziemy wiedzieli”. Dlatego w systemie GFS wprowadzone zostały specjalne funkcje badające poprawność danych.

Kolejnym problemem jest rosnąca liczba skarg na Google od firm prowadzących różnego rodzaje komercyjne witryny internetowe. System reklamowy Google – Adwords – umożliwia zdefiniowanie słów kluczowych, dla których wyświetlone zostaną reklamy. Możliwe jest zatem podanie jako słowa kluczowego nazwy konkurencyjnej firmy. Wraz z linkiem do jej witryny po prawej stronie wyników wyszukiwania pojawi się także box reklamowy konkurencji. „Internet staje się coraz bardziej komercyjny. Myśleliśmy nawet nad przyciskiem wyszukiwania o nazwie CHCĘ MNIEJ LINKÓW DO STRON KOMERCYJNYCH” twierdzi Hoelzle. Firma jednak nie zdecydowała się na taki krok...


Jak działa robot indeksujący i funkcja raportów narzędzia Diagnostyka witryny?

Poniżej przedstawiono kilka przydatnych faktów dotyczących naszego robota indeksującego i funkcji raportów narzędzia Diagnostyka witryny:



  • Raport robota indeksującego jest aktualizowany co tydzień.
    Indeksowanie jest przeprowadzane automatycznie i nie możemy spełnić żądań częstszego indeksowania.

  • Robot indeksujący AdSense różni się od robota indeksującego Google.
    Są to oddzielne roboty, ale korzystają z tej samej pamięci podręcznej. Dzięki temu roboty indeksujące nie żądają tych samych stron, co zmniejsza obciążenie serwerów wydawców. Robot indeksujący Google Sitemaps też jest oddzielnym robotem.

  • Rozwiązanie problemów z indeksowaniem systemu AdSense nie rozwiązuje problemów związanych z indeksowaniem Google.
    Rozwiązanie problemów wskazanych na stronie Diagnostyka witryny nie ma żadnego wpływu na pozycję stron w wynikach wyszukiwania Google.

  • Robot indeksujący indeksuje strony według adresów URL.
    Robot indeksujący oddzielnie uzyskuje dostęp do witryn site.com i www.site.com. Niemniej jednak, robot indeksujący nie traktuje adresów site.com i site.com/#link jako oddzielnych.

  • Robot indeksujący nie uzyskuje dostępu do stron lub katalogów zablokowanych za pomocą pliku robots.txt.
    Zarówno roboty indeksujące Google, jak i AdSense Mediapartners przestrzegają instrukcji zawartych w pliku robots.txt. Jeśli dostęp do określonych stron lub katalogów jest niedozwolony, nie zostaną one zaindeksowane.

  • Robot indeksujący będzie próbował uzyskać dostęp tylko do adresów URL żądających reklam Google.
    Tylko strony, na których wyświetlane są reklamy Google, powinny wysyłać żądania do naszych systemów i być indeksowane.

  • Robot indeksujący będzie próbował uzyskać dostęp do stron przekierowujących.
    Jeśli witryna zawiera "oryginalne strony" przekierowujące do innych stron, nasz robot indeksujący musi uzyskać dostęp do oryginalnych stron, aby wykryć przekierowanie. W związku z tym dzienniki dostępu będą rejestrować odwiedziny naszego robota indeksującego na oryginalnych stronach.

Źródło: Internet


©absta.pl 2016
wyślij wiadomość

    Strona główna