publikuj: Opublikuj w wykop.pl Opublikuj we flaker.pl Opublikuj na OSnews.pl Opublikuj w delicious wydrukuj
2 skomentuj »

TAGI: facebook , open source , mysql , hadoop , nosql , apache

2010-07-23 14:15  |  Michał Mewald

Facebook zawojował świat dzięki Open Source?

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

publikuj: Opublikuj w wykop.pl Opublikuj we flaker.pl Opublikuj na OSnews.pl Opublikuj w delicious wydrukuj
2 skomentuj »

Komentarze

  • infoman

    #1 infoman 2010-07-23 14:46:23 0

    O tym jak stworzyć idealną społecznościówkę oraz jak na niej zarobić:

    http://wprzygotowaniu.pl/index.php/2010/07/22/przepis-na-idealny-startup-serwis-spolecznosciowy/

    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

  • Usher

    #2 Usher 2010-07-24 01:13:53 0

    Open Source pod żadnym względem nie jest synonimem oprogramowania niekomercyjnego.

    Andrzej P. Wozniak

    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

Uwaga! Możesz zarejestrować się w serwisie i w ten sposób zarezerwować swój nick oraz ominąć konieczność ciągłego odczytywania wyrazów.

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.

Polecane książki

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ł