Wpis z mikrobloga

Czy jakiś mirek pracował na ogromnych(miliardy rekordów, miliony aktywnych użytkowników), dobrej wydajności, wysokiej dostępności, skalowalnych bazach danych, oraz ogółem systemach informatycznych?
Może opowiedzielibyście swoje doświadczenia, a tym samym zaproponowali jakąś bazę, narzędzia, software?
W jakim środowisku działaliście(np. AWS/Azure/..., C++/Java/Python/PHP/..., Ubuntu/CentOS/Debian/..., Nginx/Apache/IIS/...)?
Jestem szczególnie ciekawy jak PHP współpracuje z takimi rozwiązaniami. ( )

Może znajdzie się tu jakiś inżynier Google'a, Facebooka, czy innego Microsoftu za $15k/tydzień. ( ͡° ͜ʖ ͡°)

#php #programowanie #skalowalnosc #bazydanych #bigdata
  • 14
@MacDada:
1. Jakie dyski? SSD?
2. Jakiś cache?
3. Ile RAM-u zjada MySQL przy takim obciążeniu?
4. Ile zajmują pliki baz?
5. MyISAM czy InnoDB? ( ͡º ͜ʖ͡º)
6. Czy MySQL się już wykrzaczył? Jeżeli tak, to(choć nie powinno się stać, tym bardziej przy InnoDB?) czy musiałeś coś przywracać?
7. Może przybliżyłbyś choć trochę co to za aplikacja/jakiego typu? Jeżeli WWW, to pewnie Nginx + PHP-FPM?
@5z7k9: Jestem programistą, większość tych szczegółów *enkapsuluje* mi serwerowiec, więc mogę powiedzieć (w ograniczonym stopniu) tylko o mechanizmach, z którymi mam kontakt.

1. nie moja bajka, coś mi się kojarzy, że jak ze dwa lata temu pytałem to były talerzowce 10k rpm w RAIDzie, teraz chyba SSD
2. kesze różnych rodzajów:
* zamiast zliczać ilości – przy dodaniu powiązanego rekordu zwiększam licznik w jego tabeli (być może czasem się to rozsynchronizuje,
@5z7k9: W różnych firmach m.in. 200 TB Hadoop (kilkaset maszyn), 30 TB Cassandra (kilkanaście maszyn), 3 TB Kafka (3 maszyny), ~2 TB Elasticsearch (kilkanaście maszyn). Ilość aktywnych userów różnie, ale zwykle miliony. Jestem DevOpsem, więc zajmowałem się zarówno programowaniem, jak i "adminowaniem" na poziomie danej usługi (nie serwera), byłem też "zaangażowany" w wybór platformy / maszyn. Najbliżej mi do Cassandry (udzielałem się w społeczności, mam kilka mniejszych patchy w upstreamie na
@Regis86: słodki Jezu... 200 TB?! Tego się nie spodziewałem.

1. Jakiej specyfikacji były te maszyny? Stały w chmurze publicznej(np. AWS), wynajmowanej dedykowanej, czy w siedzibie firmy?

2. Bardzo mnie to interesuje - mniej więcej ile rekordów(czy jakkolwiek to się nazywa w Hadoopie, Cassandrze, itd.) i tabel było w bazach(tzn. infrastrukturach) przy których pracowałeś?

3. Jeżeli możesz zdradzić takie informacje, to jakie dane zajmują najwięcej w tak ogromnych bazach?

4. Czy w
Może opowiedzielibyście swoje doświadczenia, a tym samym zaproponowali jakąś bazę, narzędzia, software?


@5z7k9: Ale tak ogólnie to co masz zamiar zrobić?
@plushy: można powiedzieć, że zapytałem z czystej ciekawości, jestem głodny wiedzy... :P Co prawda mam zamiar stworzyć pewien serwis z dużą ilością zawartości wrzucanej przez użytkowników, ale nie jestem pewny czy użyć bazy typu Cassandra, MongoDB, itd.
@5z7k9: Dla Hadoopa to raczej niewiele, wszak to raczej "offline storage", a nie baza danych "online". http://www.techrepublic.com/article/why-the-worlds-largest-hadoop-installation-may-soon-become-the-norm/ - "Yahoo! has more than 100,000 CPUs in over 40,000 servers running Hadoop, with its biggest Hadoop cluster running 4,500 nodes. All told, Yahoo! stores *455 petabytes* of data in Hadoop."

Z góry przepraszam za wrzucanie tu i ówdzie angielskiego słownictwa - niestety taki nawyk, bo to język, w którym "pracuję" i niektórych słów
@dagon_666: Nie do końca od nowa. Nie chcę się rozpisywać, ale spróbuję w skrócie opowiedzieć:

Hadoop / Spark (tego teraz używam) generuje dane "przyrostowo" - tzn. cały czas dodaje nowe dane do starych (tworząc nowe "zbiory" danych - słowo klucz to "immutable"), ale nigdy nie nadpisuje starych i na każdym etapie przetwarzania tworzy "snapshoty", od których potem potrafi "wznowić" przetwarzanie kolejnego dnia, a następnie ładuje dane do bazy nadpisując "stary" stan