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
Polecamy
Reklama
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
Pobierałeś pirackie pliki? Uważaj! Kontrole antypirackie w domach użytkowników to codzienność
30
Pobieraczek.pl pozwie internautów, którzy nie chcą płacić abonamentu
1455
Debata w sprawie ACTA: internauci spodziewali się chyba czegoś innego
14
Wynalazca WWW przed sądem: walczy tam o wolny dostęp do webowych technologii dla każdego
8
PHP 5.3.9 nie pozwoli hakerom zawiesić serwera. Pozwoli za to przejąć nad nim kontrolę
28
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
15
Internet w EU bez Facebooka i Google? Firmy nie mają wyboru: albo się dostosują, albo…
10
MSWiA zamówiło narzędzia do „złamania” Tora i podsłuchiwania internautów. Czy złamało przy tym prawo?
89
[Aktualizacja] Facebook zablokował Demotywatory.pl. W czym zawiniły?
36
FBI zamknęło Megaupload. Anonimowi dali się sprowokować. Teraz ich akcja uzasadni potrzebę SOPA?
17
Pobieraczek.pl pozwie internautów, którzy nie chcą płacić abonamentu
1455
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
15
„Donald matole, twój rząd dopadną kibole” – hakerska elita przyłącza się do walki z ACTA
23
Klamka jeszcze nie zapadła. Minister prosi Donalda Tuska, by wstrzymał się z podpisywaniem ACTA
24
Społeczność
darekp @eimi, a co za różnica między zdobytym pieniędzmi a nie? Spróbuj zdobyć...
Jan "Tablet, na którym można uruchomić prawdziwe Microsoft Office, ładnie...
Maciekkkk Strona nie działa!
WebDev @eimi®
Zdobyte inaczej niż pieniędzmi, czyli jak? Czy mógłbyś to rozwinąć...
eimi @Webdev, a ja jeszcze raz Ci powiem - to co zdobyte inaczej niż pieniędzmi...
sade Powodem dla którego klienci wybierają ten sklep jest ich niewiedza.
lukaszposadowski Wydaje mi się, że użyte sformułowania "normalny pasek" oraz "normalny...
- 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)
- Marek: problem z menu (2)
- Marek: Własne checkboxy w HTML,CSS (1)
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