DuckDB 0.6.0 Tshaj tawm, SQLite Option rau Kev Tshawb Fawb Cov Lus Nug

Kev tso tawm ntawm DuckDB 0.6.0 DBMS yog muaj, sib txuas cov khoom ntawm SQLite li compactness, muaj peev xwm los txuas rau hauv daim ntawv ntawm lub tsev qiv ntawv embedded, khaws cov ntaub ntawv hauv ib cov ntaub ntawv thiab ib qho yooj yim CLI interface, nrog rau cov cuab yeej thiab optimizations rau executing. analytical queries npog ib feem tseem ceeb ntawm cov ntaub ntawv khaws cia, piv txwv li hais tias aggregate tag nrho cov ntsiab lus ntawm cov ntxhuav los yog merge ob peb lub rooj loj. Txoj haujlwm code raug faib raws li daim ntawv tso cai MIT. Txoj kev loj hlob tseem nyob rau theem ntawm kev tsim cov kev sim tso tawm, txij li cov ntaub ntawv khaws cia tseem tsis tau ruaj khov thiab hloov pauv los ntawm cov ntawv mus rau version.

DuckDB muab cov lus SQL siab heev uas suav nrog kev muaj peev xwm ntxiv rau kev tuav cov lus nug nyuaj thiab siv sijhawm. Kev siv cov hom complex (arrays, qauv, unions) thiab lub peev xwm los ua arbitrary thiab nested correlating subqueries yog txaus siab. Nws txhawb kev khiav ntau cov lus nug ib txhij, khiav cov lus nug ncaj qha los ntawm CSV thiab Parquet cov ntaub ntawv. Nws muaj peev xwm import los ntawm PostgreSQL DBMS.

Ntxiv rau lub plhaub code los ntawm SQLite, qhov project siv cov parser los ntawm PostgreSQL nyob rau hauv ib lub tsev qiv ntawv cais, Hnub Math tivthaiv los ntawm MonetDB, nws tus kheej kev siv lub qhov rais functions (raws li Segment Tree Aggregation algorithm), ib tug niaj hnub qhia processor raws li. lub tsev qiv ntawv RE2, nws tus kheej cov lus nug optimizer, thiab MVCC tswj mechanism ib txhij ua tiav cov haujlwm (Multi-Version Concurrency Control), nrog rau cov lus nug vectorized ua tiav lub cav raws li Hyper-Pipelining Query Execution algorithm, uas tso cai rau cov nqi loj. ua tiav ib zaug hauv ib qho kev ua haujlwm.

Ntawm cov kev hloov pauv hauv qhov kev tso tawm tshiab:

  • Ua haujlwm txuas ntxiv txhawm rau txhim kho cov ntaub ntawv khaws cia. Ib qho kev zoo siab disk sau hom tau siv, uas thaum thauj cov ntaub ntawv loj hauv ib qho kev sib pauv, cov ntaub ntawv raug compressed thiab sau rau hauv cov ntaub ntawv los ntawm cov ntaub ntawv hauv hom streaming, tsis tas yuav tos rau kev sib pauv kom paub meej nrog COMMIT hais kom ua. . Thaum tau txais cov lus txib COMMIT, cov ntaub ntawv twb tau sau rau disk, thiab thaum ROLLBACK raug tua, nws raug muab pov tseg. Yav dhau los, cov ntaub ntawv tau pib ua tiav tag rau hauv lub cim xeeb, thiab thaum cog lus, nws tau khaws cia rau disk.
  • Ntxiv kev txhawb nqa rau kev thauj mus los ntawm cov ntaub ntawv rau hauv cov rooj sib cais, uas tso cai rau koj kom nce qhov nrawm nrawm ntawm ntau lub tshuab. Piv txwv li, nyob rau hauv qhov kev tso tawm yav dhau los, thauj cov ntaub ntawv nrog 150 lab kab ntawm 10-core CPU siv sijhawm 91 vib nas this, tab sis hauv qhov tshiab version no ua haujlwm tiav hauv 17 vib nas this. Muaj ob hom kev thauj khoom sib luag - nrog kev khaws cia ntawm qhov kev txiav txim ntawm cov ntaub ntawv thiab tsis muaj kev khaws cia ntawm kev txiav txim.
  • Rau cov ntaub ntawv compression, FSST (Fast Static Symbol Table) algorithm yog siv, uas tso cai rau koj ntim cov ntaub ntawv hauv cov hlua siv cov phau ntawv txhais lus ntawm kev sib tw. Kev siv cov algorithm tshiab ua rau nws tuaj yeem txo qhov loj ntawm cov ntaub ntawv xeem los ntawm 761MB rau 251MB.
  • Chimp thiab Patas algorithms tau npaj siab kom nthuav dav tus lej taw tes (DOUBLE thiab FLOAT). Piv nrog rau yav dhau los siv Gorillas algorithm, Chimp muab ntau dua compression thiab sai decompression. Lub Patas algorithm lags qab Chimp hauv qhov sib piv compression, tab sis yog nrawm dua nyob rau hauv decompression ceev, uas yuav luag tsis txawv los ntawm kev nyeem cov ntaub ntawv tsis muaj compressed.
  • Ntxiv qhov kev sim muaj peev xwm thauj cov ntaub ntawv los ntawm CSV cov ntaub ntawv mus rau hauv ntau qhov sib npaug (SET experimental_parallel_csv=true), uas txo lub sijhawm nws yuav siv sij hawm los thauj cov ntaub ntawv CSV loj. Piv txwv li, thaum qhov kev xaiv no tau qhib, lub sijhawm rub tawm rau 720 MB CSV cov ntaub ntawv raug txo los ntawm 3.5 txog 0.6 vib nas this.
  • Qhov muaj peev xwm ntawm kev ua kom zoo sib xws ntawm kev tsim qhov ntsuas thiab kev tswj xyuas kev ua haujlwm tau raug siv. Piv txwv li, CREATE INDEX kev ua haujlwm ntawm ib kem nrog 16 lab cov ntaub ntawv raug txo los ntawm 5.92 mus rau 1.38 vib nas this.
  • Enabled parallelization of aggregation operations in queries has the expression β€œCOUNT(DISTINCT col)”.
  • SQL tau ntxiv kev txhawb nqa rau hom UNION, uas tso cai rau ntau hom kev khi rau ib lub caij (piv txwv li, "UNION (num INT, yuam kev VARCHAR)").
  • SQL muab lub peev xwm los tsim cov lus nug uas pib nrog lo lus "NTAWM" tsis yog "SELECT". Hauv qhov no, nws xav tias cov lus nug pib nrog "SELECT *".
  • SQL tau ntxiv kev txhawb nqa rau COLUMNS cov lus qhia, uas tso cai rau koj ua haujlwm ntawm ntau kab yam tsis muaj kev tshaj tawm. Piv txwv li, "SELECT MIN(COLUMNS(*)) los ntawm obs;" yuav ua rau MIN muaj nuj nqi raug tua rau txhua kab hauv obs lub rooj, thiab "SELECT COLUMNS('val[0-9]+') los ntawm obs; rau txhua kab nrog lub npe suav nrog "val" thiab cov lej.
  • Ntxiv kev txhawb nqa rau kev ua haujlwm ntawm cov npe, piv txwv li, β€œSELECT [x + 1 rau x hauv [1, 2, 3]] AS l;”.
  • Nco noj tau optimized. Los ntawm lub neej ntawd, Linux platform siv lub tsev qiv ntawv jemalloc rau kev tswj hwm kev nco. Txhim kho qhov ua tau zoo ntawm kev sib koom ua ke ntawm hash thaum lub cim xeeb txwv.
  • Ntxiv ".mode duckbox" tso zis hom rau cov kab hais kom ua interface, uas muab pov tseg cov kab nruab nrab coj mus rau hauv tus account qhov dav ntawm lub davhlau ya nyob twg qhov rais (tsim kom pom sai sai rau qhov pom ntawm cov lus nug nrog ntau kab, xws li "SELECT * LOS NTAWM tbl", uas nyob rau hauv ib txwm hom yog kis mus rau ob peb kab). Siv qhov ".maxrows X" parameter, koj tuaj yeem txwv cov kab uas pom.
  • CLI muab autocompletion ntawm inputs coj mus rau hauv tus account lub ntsiab lus teb (input ntawm lo lus tseem ceeb, rooj npe, functions, kem npe thiab cov ntaub ntawv npe tiav).
  • CLI muaj cov lus nug txog kev nce qib tau qhib los ntawm lub neej ntawd.

Tau qhov twg los: opennet.ru

Ntxiv ib saib