Vrystelling van DuckDB 0.10.0, 'n SQLite-variant vir analitiese navrae

Die vrystelling van die DuckDB 0.10.0 DBMS word aangebied, wat eienskappe van SQLite kombineer soos kompaktheid, die vermoë om te koppel in die vorm van 'n ingebedde biblioteek, die stoor van die databasis in een lêer en 'n gerieflike CLI-koppelvlak, met gereedskap en optimalisering vir die uitvoering analitiese navrae wat 'n beduidende deel van die gestoorde data dek, byvoorbeeld wat die hele inhoud van tabelle saamvoeg of verskeie groot tabelle saamvoeg. Die projekkode word onder die MIT-lisensie versprei. Die ontwikkeling is nog in die stadium van die vorming van eksperimentele vrystellings, aangesien die stoorformaat nog nie gestabiliseer is nie en van weergawe tot weergawe verander.

DuckDB bied 'n gevorderde SQL-dialek wat bykomende vermoëns insluit vir die hantering van baie komplekse en tydrowende navrae. Die gebruik van komplekse tipes (skikkings, strukture, unies) en die vermoë om arbitrêre en geneste korrelerende subnavrae uit te voer, word ondersteun. Dit ondersteun die uitvoer van verskeie navrae gelyktydig, die uitvoer van navrae direk vanaf CSV- en Parket-lêers. Dit is moontlik om vanaf die PostgreSQL DBMS in te voer.

Benewens die dopkode van SQLite, gebruik die projek 'n ontleder van PostgreSQL in 'n aparte biblioteek, die Date Math-komponent van MonetDB, sy eie implementering van vensterfunksies (gebaseer op die Segment Tree Aggregation-algoritme), 'n gereelde uitdrukkingverwerker gebaseer op die RE2-biblioteek, sy eie navraagoptimeerder, en 'n MVCC-beheermeganisme gelyktydige uitvoering van take (Multi-Version Concurrency Control), sowel as 'n gevektoriseerde navraaguitvoering-enjin gebaseer op die Hyper-Pipelining Query Execution-algoritme, wat groot stelle waardes toelaat. om gelyktydig in een operasie verwerk te word.

Onder die veranderinge in die nuwe weergawe:

  • Die werkverrigting van die ontleding van data in CSV-formaat is aansienlik verbeter. Byvoorbeeld, die lees van 'n CSV-lêer met 11 miljoen rye in die nuwe weergawe is van 2.6 sekondes verminder. tot 1.15 sekondes, en die “SELECT COUNT(*)”-bewerking bo-op 'n CSV-lêer vanaf 1.8 sekondes uit te voer. tot 0.3 sek.
  • Bygevoeg ondersteuning vir vaste-grootte skikkings, wat lyk soos lyste wat 'n vaste aantal elemente bevat ("CREATE TABLE vektore (v DOUBLE[3]);").
  • Bygevoeg ondersteuning vir koppeling aan MySQL, PostgreSQL en SQLite DBMS, wat jou toelaat om data van eksterne DBMS na DuckDB te laai en dit tussen verskillende stelsels te skuif. Eksterne databasisse word verkry deur gebruik te maak van standaardtabelle. heg 'postgres:dbname=postgresscanner' AAN AS postgres; SELECT title, release_year, length FROM postgres.film LIMIT 5;
  • Bygevoeg ondersteuning vir die "COMMENT ON" uitdrukking vir die stoor van 'n opmerking oor 'n voorwerp in die databasis.
  • Bygevoeg ondersteuning vir die "COPY FROM DATABASE" uitdrukking vir die kopiëring van alle inhoud van een databasis na 'n ander.
  • Bygevoeg ondersteuning vir die "ALL" wysiger in EXCEPT en INTERSECT uitdrukkings.
  • Geïmplementeerde tipe »

    Bron: opennet.ru

Voeg 'n opmerking