DuckDB 1.2.0 Release

DuckDB 1.2.0, un DBMS focu annantu à e dumande analitiche è conceptualmente simili à SQLite, hè stata liberata. DuckDB combina a dimensione compatta di SQLite, a biblioteca pluggable, u almacenamentu di basa di dati unicu file, è l'interfaccia CLI cù capacità è ottimisazioni per eseguisce dumande analitiche chì copre una grande parte di i dati almacenati, cum'è aggregazione di u cuntenutu sanu di e tabelle o unisce parechje tavule grandi. U codice di u prugettu hè scrittu in C++ è hè distribuitu sottu a licenza MIT.

DuckDB furnisce un dialettu allargatu di a lingua SQL chì include capacità supplementari per trattà e dumande assai cumplesse è longu. Hè pussibule aduprà tippi cumplessi (arrays, strutture, unioni), è ancu di eseguisce sottoquestioni correlate arbitrarie è nidificate. L'esecuzione simultanea di parechje dumande, l'esecuzione di dumande direttamente da i schedari CSV è Parquet hè supportata. U supportu per l'importazione da PostgreSQL DBMS hè dispunibule.

U prughjettu usa una shell da SQLite, un parser da PostgreSQL, un cumpunente di Date Math da MonetDB, a so propria implementazione di e funzioni di finestra (basatu nantu à l'algoritmu di aggregazione di l'arburu di Segment), un processatore di espressione regulare basatu nantu à a biblioteca RE2, u so propiu ottimizzatore di query, un mecanismu MVCC per gestisce l'esecuzione simultanea di e funzioni basate nantu à u mutore di cuntrolli di valute è di esecuzione di u mutore Hyper-Version L'algoritmu di Esecuzione di Query, chì permette à grandi gruppi di valori per esse processati in una operazione.

In a nova versione:

  • Supportu implementatu per novi metudi di compressione chì ùn sò micca attivati ​​per difettu per mantene a cumpatibilità di i fugliali DB cù versioni precedenti di DuckDB. Per utilizà u furmatu di u schedariu DB migliuratu, hè avà pussibule di ligà a DB à u numeru di versione - quandu apre un schedariu cù u paràmetru "STORAGE_VERSION", pudete avà specificà a versione DB minima supportata ("ATTACH 'file.db' (STORAGE_VERSION 'v1.2.0');"). Per cunvertisce u novu furmatu à u vechju, pudete aduprà u cumandimu SQL COPY, per esempiu: ATTACH 'file1.db'; ATTACH 'converted_file.db' (STORAGE_VERSION 'v1.0.0'); COPIA FROM DATABASE file1 TO converted_file;
  • Aghjunghje supportu per u cumandimu SQL "ALTER TABLE ... ADD PRIMARY KEY" per aghjunghje una chjave primaria à una tavola esistente.
  • Eliminata una restrizione chì impedisce à aghjustà di novu identificatori chì avianu un indice di seguimentu di unicità se quelli identificatori sò stati eliminati in a transazzione attuale. Per esempiu, u seguente codice SQL ùn pruduce più un errore: CREATE TABLE studenti (id INTEGER PRIMARY KEY, nome VARCHAR); INSERT INTO studenti VALORI (1, 'John Doe'); INIZIA; DELETE FROM studianti WHERE id = 1; INSERT INTO studenti VALORI (1, 'Jane Doe');
  • Aghjunghje supportu per a carica di i fugliali CSV in codificazioni Latin-1 è UTF-16 (precedentemente solu a codificazione UTF-8 era supportata). FROM read_csv('cities-latin-1.csv', encoding = 'latin-1');
  • Aghjunghje supportu per l'usu di separatori multi-byte (finu à 4 byte) in i schedari CSV, chì vi permette di specificà emoji cum'è separatore di colonna. a🦆b hello🦆world FROM read_csv('example.dsv', sep = '🦆');
  • Per automaticamente, u modu strettu hè attivatu per analizà i fugliali CSV ("strict_mode = true"), chì verifica chì u furmatu hè conforme à a specificazione RFC 4180 In u modu strettu, solu un caratteru hè permessu di separà e linee, chì pruvucarà un errore quandu pruvate d'analizà i fugliali chì utilizanu micca solu u caratteru di l'alimentazione di linea, ma ancu u caratteru di ritornu di u carricu ("\r\n").
  • U parser CSV usa un novu algoritmu di rilevazione di novu linea chì sustene a parallelizazione di l'operazioni. Utilizà u novu algoritmu acceleratu l'analisi CSV da circa 15%.
  • Eliminata a limitazione di a dimensione di a linea in i fugliali CSV (prima a linea ùn deve esse più di 8 MB).
  • Quandu l'esportazione di dati in u formatu Parquet, u supportu per hash (dizionari) è indici basati nantu à u filtru Bloom hè implementatu. U metudu di cumpressione DELTA_BINARY_PACKED hè statu implementatu, chì permette di riduce significativamente a dimensione di i schedari Parquet.
  • Un modu sicuru hè statu aghjuntu à l'interfaccia di linea di cumanda, attivatu cù l'opzione "-safe" o l'ordine ".safe_mode". In questu modu, l'accessu hè permessu solu à u schedariu di basa di dati inizialmente specificatu, è un tentativu di apre altri schedari darà un errore.
  • L'interfaccia di linea di cumanda hà migliuratu l'autocompletion di input. U codice di autocompletion hè statu cunvertitu per utilizà PEG (Parsing Expression Grammar).
  • Quandu eseguite cumandamenti in l'interfaccia di a linea di cumanda, una visualizazione visuale di grandi numeri hè stata implementata, per esempiu, quandu si mostra u numeru 100000000, "(100 milioni)" serà aghjuntu in più.
  • SQL supporta avà una sintassi induve i nomi abbreviati di tabelle è espressioni ponu esse specificati prima di i valori chì puntanu (invece di utilizà a sintassi "espressione AS name"): SELECT e1: some_long_and_winding_expression, e2: t2.a_column_name FROM t1: long_schema.some_long_table_names.t2:;
  • U cumandamentu "SELECT" supporta avà l'operazione "RENAME" per rinominà i campi output quandu l'espressione "*" hè specificata: SELECT * RENAME (col1 AS new_col1) FROM integers;
  • U cumandamentu "SELECT" permette l'utilizazione di l'operazioni "LIKE" è "SIMILAR TO" quandu emette via "*": SELECT * LIKE 'val%' FROM key_val;
  • Qualità mejorata di a generazione di numeri pseudo-aleatoriu.
  • L'ottimisatore di query hè statu mudernizatu. U rendiment in a prova TPC-H SF100 hè aumentatu da 13%.
  • Una nova API C-like per sviluppà add-ons hè pruposta, chì pò esse usata, per esempiu, per creà novi funzioni di aggregate o table.
  • Aghjunghje supportu per i sistemi cù a libreria C standard Musl.

Source: opennet.ru

Cumprate un hosting affidabile per i siti cù prutezzione DDoS, servitori VPS VDS 🔥 Cumprate un hosting di siti web affidabile cù prutezzione DDoS, servitori VPS VDS | ProHoster