Pirmais stabilais DuckDB datubāzes relīzs

Pēc sešu gadu izstrādes ir izlaista DuckDB 1.0, kas tiek pozicionēta kā SQLite variants analītiskiem vaicājumiem. DuckDB apvieno tādas SQLite īpašības kā kompakts izmērs, iespēja pieslēgties kā iebūvēta bibliotēka, datubāzes glabāšana vienā failā un ērts CLI interfeiss, ar līdzekļiem un optimizācijām, lai veiktu analītiskos vaicājumus, kas aptver nozīmīgu daļu no glabātajiem datiem, piemēram, veicot agregāciju visam tabulu saturam vai apvienojot vairākas lielas tabulas. Projekta kods ir uzrakstīts C++ valodā un izplatīts ar MIT licenci.

Versija 1.0 ir atzīmēta kā pirmā stabilā projekta izlase, kuras sagatavošanas laikā galvenā uzmanība tika pievērsta stabilitātes paaugstināšanai, nevis funkcionalitātes palielināšanai. Jaunajā versijā arī tiek nostiprināts datu glabāšanas formāta fiksācijas princips, kura dēļ kopš iepriekšējās izlases tiek nodrošināta atpakaļsaderība. Nākamajās izlaidumos izstrādātāji plāno piesardzīgāk pievērsties jauno iespēju pievienošanai un saglabāt saderību starp izlaidumiem, kā arī stabilizēt SQL dialektu un C API. Ja nākotnē būs jāmaina SQL semantika, izstrādātāji iepriekš publicēs brīdinājumus par gaidāmajām izmaiņām un piedāvās apiet ceļus, lai saglabātu esošā koda darbību.

DuckDB atbalsta paplašinātu SQL valodas dialektu, kas ietver papildu iespējas ļoti sarežģītu un ilgstoši izpildāmu vaicājumu apstrādei. Piemēram, iespējama sarežģītu tipu (masīvi, struktūras, apvienojumi) izmantošana, kā arī pēc pieprasījuma izpildīt sarežģītus un iegultus korrelējošos apakšvaicājumus. Atbalsta vienlaicīgu vairāku vaicājumu izpildi, vaicājumu izpildi tieši no failiem CSV un Parquet formātā. Ir pieejams atbalsts importēšanai no PostgreSQL datubāzēm.

Papildus SQLite shell kodam, projektā tiek izmantota PostgreSQL izsniegta parser bibliotēka, MonetDB Date Math komponents, paša izstrādāta logu funkciju realizācija (balstīta uz Segment Tree Aggregation algoritma), regulāro izteiksmju apstrādātājs, kas balstīts uz RE2 bibliotēku, savs vaicājumu optimizētājs, MVCC mehānisms (Multi-Version Concurrency Control) paralēlo uzdevumu izpildes pārvaldīšanai, kā arī vektorizēts vaicājumu izpildes dzinējs, kas balstīts uz Hyper-Pipelining Query Execution algoritma, ļaujot vienā operācijā apstrādāt lielus vērtību kopumus.

Avots: opennet.lv

Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster