První stabilní verze databáze DuckDB

Po šesti letech vývoje byla představena verze 1.0 databáze DuckDB, která je prezentována jako alternativa SQLite pro analytické dotazy. DuckDB kombinuje vlastnosti SQLite, jako je kompaktnost, možnost připojení ve formě vestavěné knihovny, ukládání databáze do jednoho souboru a pohodlné CLI rozhraní, s prostředky a optimalizacemi pro provádění analytických dotazů, pokrývajících značnou část uložených dat, například provádějících agregaci celého obsahu tabulek nebo sloučení několika velkých tabulek. Kód projektu je napsán v C++ a je distribuován pod licencí MIT.

Verze 1.0 je označena jako první stabilní verze projektu, při jejíž přípravě bylo hlavní pozornost věnováno zvýšení stability, nikoli rozšiřování funkcionality. V nové verzi je také zajištěno ukotvení formátu ukládání dat, pro který od posledního vydání zajišťuje zpětnou kompatibilitu. V budoucích verzích se vývojáři plánují více opatrně přistupovat k přidávání nových funkcí a pečovat o zachování kompatibility mezi verzemi, jakož i stabilizaci SQL dialektu a C API. Pokud bude v budoucnu potřeba změnit semantiku SQL, vývojáři předem zveřejní upozornění o nadcházejících změnách a poskytou obejití pro zachování funkčnosti stávajícího kódu.

DuckDB podporuje rozšířený dialekt jazyka SQL, který zahrnuje další možnosti pro zpracování velmi složitých a dlouho běžících dotazů. Například je možné použít složité typy (pole, struktury, unie) a provádět libovolné a vnořené korelované poddotazy. Podporováno je současné provádění několika dotazů, provádění dotazů přímo z souborů ve formátu CSV a Parquet. K dispozici je podpora importu z databáze PostgreSQL.

Kromě SQLite shell kódu projekt využívá parser vyčleněný do samostatné knihovny z PostgreSQL, komponentu Date Math z MonetDB, vlastní implementaci oknových funkcí (na základě algoritmu Segment Tree Aggregation), zpracovatel regulárních výrazů založený na knihovně RE2, vlastní optimalizátor dotazů, MVCC mechanismus pro správu souběžného vykonávání úloh (Multi-Version Concurrency Control) a také vektorový engine vykonávání dotazů založený na algoritmu Hyper-Pipelining Query Execution, který umožňuje zpracovávat velké množství hodnot v jednom operaci.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster