Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Który menedżer db dla tabeli 100Go?

Korzystam ze wszystkich baz danych, o których wspomniałeś. Do tego obciążenia mogę polecić MySQL lub PostgreSQL, ponieważ pracowałem już z jeszcze większym obciążeniem na PostgreSQL. Ale MySQL również wykona tę samą pracę - może nawet lepiej, ponieważ został zaprojektowany od początku z myślą o dużym obciążeniu wstawiania.

Rozwiązanie na PostgreSQL, z którym pracowałem, służyło do przechowywania wiadomości systemowych z sieci telekomunikacyjnej i było w stanie bez problemu zebrać ~300GB danych dziennie na jednej maszynie. Ale potrzebujesz odpowiedniej architektury sprzętowej.

Potrzebujesz maszyny z co najmniej 8 procesorami, ale więcej jest lepsze i musisz mieć kilka kolejek wstawiania. Używaj programu ładującego w Javie lub C lub golangu z większą liczbą równoległych zagrożeń i wykonuj masowe wstawki z każdego zagrożenia za pomocą polecenia COPY dla ~10000 rekordów w jednej masie. Musisz użyć puli połączeń, ponieważ PostgreSQL ma wyższy narzut na otwarcie nowego połączenia.

Pomoże również w dystrybucji danych w większej liczbie obszarów tabel, każdy obszar tabel na osobnym dysku fizycznym lub lepiej na osobnej macierzy dysków fizycznych. Jeśli to możliwe, nie używaj indeksów na surowych danych. Oddziel surowe dane od wyników zagregowanych.

Mieliśmy inne rozwiązanie wykorzystujące rozszerzenie pl/proxy dla PostgreSQL i kilka fizycznych maszyn dla surowych danych podzielonych według czasu. System ten był w stanie zebrać co najmniej 1 TB dziennie, ale przy odpowiedniej ilości baz podrzędnych jeszcze więcej.

Ale musisz zrozumieć, że aby naprawdę przetworzyć taką ilość danych, potrzebujesz odpowiedniego sprzętu z odpowiednią konfiguracją. Nie ma magicznej bazy danych, która zdziałałaby cuda na niektórych „konfiguracjach takich jak notebooki”...

InfluxDB jest naprawdę świetną bazą danych szeregów czasowych i używamy jej do monitorowania. Wierzę, że przy wystarczającej liczbie procesorów i naprawdę dużej ilości pamięci będziesz w stanie z niego korzystać. Szacuję, że będziesz potrzebować minimum 64 GB pamięci RAM, ponieważ wkładki są droższe w pamięci. Tak więc przy większej liczbie kolejek wstawiania baza danych będzie potrzebowała dużo więcej pamięci, ponieważ przechowuje wszystko w pamięci i automatycznie indeksuje znaczniki.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL nie aktualizuje się po wywołaniu connection.commit() z Flask (PRACA)

  2. COALESCE() dla pustych (ale nie pustych) pól

  3. MySQL Error 2006 (HY000) w wierszu 406:Serwer MySQL zniknął

  4. mysql - grupa, ale pokaż cały wiersz kolumny

  5. czytanie z MySQL jest szybsze czy czytanie z pliku jest szybsze?