500 tysięcy zapytań na sekundę – tyle obsługuje Google w fazach średniego natężenia ruchu, a nawet 800 tysięcy w fazach szczytowych! Przyjrzeliśmy się z bliska silnikowi wyszukiwarki, by odpowiedzieć m. in.: jak działa i ile osób potrzeba do jego obsługi.
Google przechowuje swoje pliki w repozytorium – jednym, wspólnym miejscu, w którym odbywa się także zarządzenie kodem źródłowym. Repozytorium zawiera ponad 1 miliard plików! To aż 86TB danych: 2 biliony linii kodu w 9 milionach plików źródłowych. Wydrukowanie takiego materiału wymagałoby ścięcia 4 milionów drzew, a gdybyśmy chcieli wszystko przeczytać, przy średnim tempie ok. 200 słów na minutę i 5 słów w wersie, musielibyśmy poświęcić nieprzerwanie 95 lat.
W repozytorium przechowywana jest także historia 35 milionów aktualizacji, wprowadzanych przez Google w ciągu ostatnich 18 lat.
Przy obsłudze silnika Google pracuje obecnie ponad 25 tysięcy programistów z całego świata. To ponad dwa razy więcej niż pracownicy Facebooka i aż sześć razy więcej niż pracownicy Twittera. Każdego dnia dokonują oni 16 tysięcy zmian kodu źródłowego, a kolejne 24 tysiące automatycznie wprowadza system. Łącznie to 40 tysięcy modyfikacji dziennie, czyli prawie 1700 wciągu godziny i 28 zmian na minutę.
Sprawna obsługa tak obszernego zbioru danych możliwa jest dzięki stworzonemu przez Google systemowi Piper. Liczne funkcjonalności wprowadzane w jego obrębie pozwalają m.in. na skorelowanie prac programistów z różnych stref czasowych czy automatyczne wykrywanie błędów w kodzie źródłowym.
Źródło danych: cacm.acm.org