Facebook zawojował świat dzięki Open Source?
500 mln użytkowników na Facebooku to nie lada wyczyn. Za imponującymi biznesowymi wynikami stoją jednak całkowicie niekomercyjne narzędzia. Podczas konferencji OSCON, David Recordon, starszy menedżer oprogramowania w Facebooku, opisał szczegółowo software'ową infrastrukturę społecznościowego giganta.
Kluczowym jej elementem pozostaje język PHP, wzbogacony o translator HipHop. Facebook oficjalnie przedstawił HipHopa na początku tego roku, uznając go za sposób na przyspieszenie działania PHP, zwiększenie jego efektywności i zmniejszenie obciążenia procesorów.
Dane użytkowników przechowywane są głównie w bazie MySQL. Facebook posiada tysiące węzłów MySQL – i jak dodał Recordon, serwisowi wcale nie przeszkadza, że jest to relacyjna baza danych. „Zazwyczaj nie używamy MySQL-a dla JOIN-ów, nie uruchamiamy też złożonych zapytań, które łączą wiele tabel wewnątrz bazy danych” – powiedział Recordon.
Facebook utrzymuje dane w trzech różnych warstwach. Pierwszą z nich jest baza danych. Nad nią znajduje się mechanizm cache'ujący Memcached, a na samej górze serwer WWW. „Obecnie nasz serwer WWW odpowiada za połączenie dostarczonych danych, dlatego na tym poziomie tak ważny jest HipHop. Webserwer intensywnie wykorzystuje CPU, ponieważ to na jego poziomie odbywają się różne operacje na danych” – powiedział Recordon.
Oprócz MySQL-a, Facebook wykorzystuje parę mazynów danych NoSQL, Cassandrę i Hbase (komponent projektu Apache Hadoop). „Choć większość naszych danych przechowujemy w MySQL, to mamy już około 150 terabajtów danych w Cassandrze, wykorzystywanych do wyszukiwania w inboksie, oraz ponad 36 petabajtów nieskompresowanych danych wewnątrz Hadoopa” – powiedział Recordon. Dodał również że używany w Facebooku klaster Hadoopa liczy nieco ponad 2200 serwerów, wykorzystujących 23 tysiące rdzeni procesorów. Do końca tego roku ilość przechowywanych danych ma wzrosnąć do 50 petabajtów.
W celu odpowiedniej analizy danych, społecznościowy gigant korzysta z technologii o nazwie Scribe, która pobiera dane z serwerów WWW i przesyła je do HDFS (Hadoop Distributed File System) oraz Hadoopa. Na początku poważnym problemem Facebooka było to, że zbyt wiele serwerów na raz próbowało wysłać dane do jednego miejsca, więc Scribe rozbija je na szereg niezależnych ścieżek gromadzenia danych. Dodatkowo Facebook wykorzystuje technologię Apache Hive, SQL-owy interfejs dla Hadoopa, umożliwiający mu analizę danych zgromadzonych w bazie.
Zdaniem Recordona, wykorzystanie opensource'owych technologii jest dla Facebooka niezwykle ważną rzeczą – pozwala deweloperom korzystającym z serwisu jako platformy programistycznej na skalowanie swoich aplikacji z wykorzystaniem tych samych elementów infrastruktury, co ta
„społecznościówka”. „Stoimy [z niezależnymi deweloperami – przyp.red.] w obliczu tych samych wyzwań” – wyjaśnił menedżer.
Źródło: Developer.com
Komentarze
Aby dodać komentarz, musisz podać swój nick, treść komentarza oraz poprawnie przepisać oba słowa z obrazka
(słowa muszą być rozdzielone spacją).
W treści komentarza można używać języka formatowania BBcode.
Popularne
Nazwa padła ofiarą szantażystów, inni polscy hosterzy też zagrożeni?
22
Darmowy Internet od Aero2. Jak go zdobyć i jakie są prawdziwe koszta? Instrukcja krok po kroku
11
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
17
Premiera Diablo 3 wzbudziła dyskusję na temat gier, które zawsze chcą być online
19
Nowy problem z Windows 8: bootuje się za szybko
10
Amerykańscy rodzice straszeni „e-narkotykami” dostępnymi w Sieci
21
Anonymous upubliczniają 1,7 GB danych wykradzionych Departamentowi Sprawiedliwości USA
11
Blueseed: libertariańska sztuczna wyspa przyciągnęła już ponad sto startupów z całego świata
8
Rewolucja w Firefoksie, nowa łatka czterokrotnie ograniczyła zużycie pamięci
20
Darmowy Internet od Aero2. Jak go zdobyć i jakie są prawdziwe koszta? Instrukcja krok po kroku
11
CVDazzle: makijaż jest w stanie pokonać automatyczne systemy ulicznego monitoringu
3
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
17
Ubuntu 12.04 LTS już dostępny: stabilna dystrybucja na następne pięć lat?
28
Zostań webmasterem polskiego rządu, zarobisz na komfortowe życie dla siebie i swojej rodziny
33
Społeczność
bartez Niech zaczną jeszcze bardziej ograniczać programistów, to zdziwią się ilu...
Dave Smith Jestem Pastor Dave Smith prywatny pożyczkodawca pieniądze, z czego ponad...
marcusm Fajna reklama produktu za 500 zł
rza a to starsze aplikacje nie będą działać i kompilacja pod Windows SDK 7.1...
Krzaczor @Jakub Szymański: Możesz zalinkować do opisów jakichś polskich przypadków...
Krzaczor Ale oprogramowanie skompilowane dla Windows 7 ruszy przecież na ósemce...
ankaa Ja to czytam "plejsnow", a nie placek nał :) Nie wiem, co macie z tym...
- Najdmen.pl: Konta www z wyłączonym licznikiem transferu od IONIC.pl (1)
- 2BE.PL: [Oferta] Promocja jak złoto w 2BE.PL (1)
- gardius: Dobra hurtownia sportowa (1)
- gardius: Tanie książki gdzie warto kupować? (1)
- Najdmen.pl: PROMOCJA, 500 DOMEN .EU ZA 1 PLN NETTO ! (1)
- VMLine: [Oferta] Serwery VPS Xen-HVM/OpenVZ z darmową administracją (2)
- Marek: Generowanie PDFa (2)
Polecane książki
Praca
Czytaj Webhosting
Chcesz być na bieżąco z naszymi informacjami? Zapisz się na Newsletter.
Zarejestruj domenę
Sprawdź dostępność swojej domeny:
| .pl: | 0 zł | .com: | 19.90 zł | |
|---|---|---|---|---|
| .com.pl: | 0 zł | .eu: | 19.90 zł |









#1 infoman 2010-07-23 14:46:23 0
IP: 91.194.188.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.99 Safari/533.4
#2 Usher 2010-07-24 01:13:53 0
IP: 80.50.127.[...] Mozilla/5.0 (Windows; U; Windows NT 5.0; pl; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 GTB7.1