sql >> Databáze >  >> RDS >> PostgreSQL

Plány prodejen sloupců

Na adrese pgsql-general se Bráulio Bhavamitra ptá:

To je docela zajímavá otázka. Úplná výměna současného úložiště založeného na řádcích by nebyl dobrý nápad:sloužil nám mimořádně dobře a jsem si docela jistý, že jeho úplné nahrazení sloupcovým úložištěm by bylo z hlediska výkonu pro případy použití OLTP katastrofální.

Některé sloupce. Obrázek s laskavým svolením Yiming Sun na Flickru

To neznamená, že sloupcové obchody jsou obecně špatný nápad – protože nejsou. Mají pouze omezenější případ použití než „celá databáze“. Pro analytické dotazy na data převážně připojená je sloupcové úložiště mnohem vhodnější reprezentací než běžné úložiště založené na řádcích, ale ne všechny databáze jsou analytické.

Chcete-li však dosáhnout zajímavého zvýšení výkonu, musíte udělat mnohem víc, než jen změnit základní úložiště:musíte zajistit, aby zbytek systému mohl využívat výhody změněné reprezentace, aby mohl optimálně provádět dotazy; můžete například chtít agregáty, které fungují v režimu SIMD spíše než v režimu jedné hodnoty v čase, jak je tomu dnes. To je samo o sobě velký úkol a jsou tu i další výzvy.

Jak se ukázalo, existuje tým ve 2ndQuadrant, který přesně na těchto věcech pracuje. Minulý rok jsme zveřejnili opravu, ale nebyla nijak zvlášť zajímavá – přinesla pouze jednociferné procentuální zlepšení skóre TPC-H; nestačilo to obtěžovat vývojářskou komunitu (byl to docela invazivní patch). Chceme víc než to.

V našem návrhu bude možnost sloupcové nebo ne:budete moci říci Vážený servere, pro tuto tabulku mi laskavě nastavte sloupcové úložiště, ano? Moc děkuji . A pak získáte tabulku, která může být pro běžné použití pomalejší, ale která bude pro analýzu otřesná. Pro většinu vašich tabulek bude aktuální úložiště založené na řádcích stále pravděpodobně nejlepší volbou, protože úložiště založené na řádcích se mnohem lépe hodí pro obecnější případy.

Časový plán zatím nemáme. Zůstaňte naladěni.


  1. Exportujte data tabulky Postgresql pomocí pgAdmin

  2. Jak spustím PHP, které je uloženo v databázi MySQL?

  3. SQL Server uložené procedury od Oracle®

  4. Funkce SUM() na serveru SQL Server