Mam sobie baze danych zawierającą odczyty z czujników co 1 min i czujników jest 1200 i działają 24/7

Teraz trzeba to zoptymalizować do wyświetlania i jak najlepiej to ogarnąć

Dzienny przyrost danych to 1728000 ( prawie 2 mln rekordów) jak w najbardziej optymalny sposób do tego podejść i jak to przechowywać na bazie, dodam że czujniki są w grupach po max 26 i tych grup jest prawie 100 (każda grupa może mieć
Trzymać w skompresowanych pliakch logów a nie bazie danych.

Mam podobny problem (rozwiązany), tyle że więpszą prędkością przyrostu danych.

Używałem do tego postgresql z partycjami dziennymi ale problem z wydajnością był gdy partycji było 200 (trzeba się namęczyć z optymalizacją i SQL wtedy nie jest czytelny, nie można używać prepared statemat i robić SELECT na konkretnej partycji w miarę możliwości). Dodatko baza zaczęła zajmować sporo miejsca. Najgorsze były migracja bazy na nowsze
  • Odpowiedz
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ń. ( ͡
@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
  • Odpowiedz
@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
  • Odpowiedz