sql >> Databáze >  >> RDS >> Sqlserver

Na čem závisí rychlost databázového dotazu a vkládání?

Pro hrubé srovnání:záznam benchmarku TPC-C pro SQL Server je na přibližně 1,2 milionu transakcí za minutu a je tomu tak za poslední 4 roky (s limitem 64 CPU OS). To je něco v balparku ~16 tisíc transakcí za sekundu . To je na super high-end strojích, 64 CPU, spousta RAM, afinitní klienti na NUMA uzel a serverově krátký izolovaný I/O systém (používá se jen asi 1-2 % každého vřetena). Mějte na paměti, že se jedná o transakce TPC-C, takže se skládají z několika operací (myslím, že každá je v průměru 4-5 čtení a 1-2 zápisy).

Nyní byste měli zmenšit tento špičkový hardware na vaše skutečné nasazení a získáte základ, kde nastavit vaše očekávání pro celkové zpracování transakcí OLTP .

Pro nahrávání dat je aktuální světový rekord přibližně 1 TB za 30 minut (pokud je ještě aktuální...). Několik desítek tisíc vložení za sekundu je poměrně ambiciózní, ale dosažitelné, pokud je správně provedeno na seriózním hardwaru. Článek v odkazu obsahuje tipy a triky pro vysokou propustnost ETL (např. použijte více streamů nahrávání a přiřaďte je k NUMA uzlům).

Pro vaši situaci bych doporučil především opatřit takže zjistíte úzká místa a pak se zeptáte konkrétně otázky, jak řešit konkrétní úzká místa. Dobrým výchozím bodem je Dokument o čekání a frontách .



  1. strapi database.js / konfigurace více databází

  2. Jak přidat editační vstupní data do SQL databáze pomocí json, android?

  3. MySQL Cursor Loop se neaktualizuje

  4. Jak chránit databázi MySQL nebo MariaDB před SQL Injection:Část druhá