sql >> Databáze >  >> RDS >> Mysql

Který správce db pro tabulku 100Go?

Používám všechny databáze, které jsi zmínil. Pro tuto zátěž mohu doporučit MySQL nebo PostgreSQL, protože na PostgreSQL jsem již pracoval s ještě vyšší zátěží. Ale MySQL udělá stejnou práci také - možná ještě lépe, protože bylo od začátku navrženo pro vysoké zatížení vložení.

Řešení na PostgreSQL, se kterým jsem pracoval, sloužilo pro ukládání systémových zpráv z telekomunikační sítě a dokázalo bez problémů nasbírat ~300GB dat za den na jednom počítači. Ale potřebuješ pořádnou HW architekturu.

Potřebujete stroj s alespoň 8 CPU, ale více je lepší a musíte mít několik vkládacích front. Použijte loader v Javě nebo C nebo golang s více paralelními hrozbami a provádějte hromadné vkládání z každé hrozby pomocí příkazu COPY pro ~10000 záznamů najednou. Musíte použít fond připojení, protože PostgreSQL má vyšší režii pro otevření nového připojení.

Pomůže vám také distribuovat data do více tabulkových prostorů, každý tabulkový prostor na samostatném fyzickém disku nebo lépe na samostatném fyzickém diskovém poli. Pokud je to možné, nepoužívejte indexy na nezpracovaných datech. Oddělte nezpracovaná data od agregovaných výsledků.

Měli jsme další řešení využívající rozšíření pl/proxy pro PostgreSQL a několik fyzických strojů pro nezpracovaná data rozdělených podle času. Tento systém dokázal shromáždit alespoň 1 TB za den, ale s patřičným množstvím podřízených databází ještě více.

Musíte však pochopit, že ke skutečnému zpracování tohoto množství dat potřebujete správný hardware se správnou konfigurací. Neexistuje žádná magická databáze, která by udělala zázraky na nějaké "konfiguraci typu notebooku"...

InfluxDB je opravdu skvělá databáze časových řad a používáme ji k monitorování. Věřím, že s dostatkem CPU a opravdu velkým množstvím paměti jej budete moci používat také. Odhaduji, že budete potřebovat minimálně 64 GB RAM, protože vložky jsou dražší paměti. Takže s větším počtem front vkládání bude databáze potřebovat mnohem více paměti, protože vše ukládá do paměti a automaticky indexuje značky.




  1. Jak používat mnoho operátorů LIKE a používat index

  2. Extrahujte datum z string oracle

  3. Jak zálohovat jednu tabulku v databázi MySQL?

  4. synchronizace databází Mysql SQLite