Bemutatják a DuckDB 0.10.0 DBMS kiadását, amely egyesíti az SQLite olyan tulajdonságait, mint a tömörség, a beágyazott könyvtár formájában történő csatlakozás lehetősége, az adatbázis egyetlen fájlban való tárolása és egy kényelmes CLI felület, a végrehajtáshoz szükséges eszközökkel és optimalizálással a tárolt adatok jelentős részét lefedő elemző lekérdezések, például amelyek a táblák teljes tartalmát összesítik, vagy több nagy táblát egyesítenek. A projekt kódját az MIT licence alatt terjesztik. A fejlesztés még a kísérleti kiadások kialakításának szakaszában tart, mivel a tárolási formátum még nem stabilizálódott, és verzióról verzióra változik.
A DuckDB egy fejlett SQL dialektust biztosít, amely további lehetőségeket is tartalmaz a nagyon összetett és időigényes lekérdezések kezelésére. Az összetett típusok (tömbök, struktúrák, uniók) használata, valamint tetszőleges és egymásba ágyazott korrelációs részlekérdezések végrehajtása támogatott. Támogatja több lekérdezés egyidejű futtatását, közvetlenül a CSV és Parquet fájlokból. Lehetőség van a PostgreSQL DBMS-ből importálni.
A projekt az SQLite-ből származó shell-kódon kívül egy külön könyvtárban lévő PostgreSQL elemzőt, a MonetDB Date Math komponensét, az ablakfüggvények saját implementációját (a Segment Tree Aggregation algoritmus alapján), egy reguláris kifejezés-processzort használ a MonetDB-ből. a RE2 könyvtár, a saját lekérdezésoptimalizáló és a feladatok egyidejű végrehajtását biztosító MVCC vezérlő mechanizmus (Multi-Version Concurrency Control), valamint a Hyper-Pipelining Query Execution algoritmuson alapuló vektorizált lekérdezés-végrehajtó motor, amely nagy értékkészleteket tesz lehetővé egy műveletben egyszerre kell feldolgozni.
Az új kiadás változásai között:
- Az adatok CSV formátumban történő elemzésének teljesítménye jelentősen javult. Például egy 11 millió soros CSV-fájl olvasása az új verzióban 2.6 másodpercről csökkent. legfeljebb 1.15 másodpercig, és a „SZÁMLÁLÁS KIVÁLASZTÁSA(*)” művelet végrehajtása egy CSV-fájl tetején 1.8 másodperctől. akár 0.3 mp.
- Hozzáadott támogatás a rögzített méretű tömbökhöz, amelyek fix számú elemet tartalmazó listákhoz hasonlítanak ("CREATE TABLE vectors(v DOUBLE[3]);").
- Hozzáadott támogatás a MySQL-hez, PostgreSQL-hez és SQLite DBMS-hez való kapcsolódáshoz, amely lehetővé teszi az adatok külső DBMS-ből történő betöltését a DuckDB-be, és a különböző rendszerek közötti áthelyezését. A külső adatbázisokhoz szabványos táblák segítségével lehet hozzáférni. ACTACH 'postgres:dbname=postgresscanner' AS postgres; SELECT cím, kiadás_év, hossza FROM postgres.film LIMIT 5;
- Támogatás hozzáadva a „COMMENT ON” kifejezéshez az adatbázisban lévő objektumhoz kapcsolódó megjegyzések mentéséhez.
- Támogatás hozzáadva a "COPY FROM DATABASE" kifejezéshez az összes tartalom egyik adatbázisból a másikba másolásához.
- Támogatás hozzáadva az "ALL" módosítóhoz a EXCEPT és INTERSECT kifejezésekben.
- Megvalósított típus »
Forrás: opennet.ru
