Geri qayıt
DuckDB v2.0 önizləməsi: server rejimi, trigger-lər və yeni saxlama formatı
SiTech AI Team2 წთ. საკითხავი

DuckDB v2.0 önizləməsi: server rejimi, trigger-lər və yeni saxlama formatı

Analitik verilənlər bazası müştəri-server rejimi, tam trigger dəstəyi, VARIANT tipi və asinxron G/Ç əldə edir. Cyanoptera adlı 2.0 versiyası payızda çıxır və 10.000-dən çox dəyişiklik gətirir.

DuckDB, proses daxilində işləyən analitik verilənlər bazasının payızda çıxacaq yeni əsas versiyası 2.0-ın önizləməsini dərc edib. Versiya darçını rəngli ördəyin şərəfinə Cyanoptera adlanır; martda buraxılan v1.5-dən sonra edilmiş 10.000-dən çox commit-i əhatə edir və layihə bunu "DuckDB-nin server kimi ili"nin başlanğıcı adlandırır.

Nəhayət server rejimi

Ən diqqətçəkən dəyişiklik müştəri-server dəstəyidir. Mayda təqdim edilən quack genişlənməsi DuckDB-nin öz protokolunu həyata keçirir və v2.0-da sabit hala gəlir: istənilən DuckDB prosesi öz bazalarını şəbəkə üzərindən təqdim edə bilir, başqa DuckDB isə yeni CONNECT ifadəsi ilə ona qoşulub sorğuları ora yönləndirir. CONNECT yalnız DuckDB ilə məhdudlaşmır: PostgreSQL və ya MySQL serverinə yönəldildikdə cədvəlləri şəbəkədən çəkmək yerinə SQL-i birbaşa uzaq sistemə göndərir; bunu yeni remote pushdown optimallaşdırıcısı təmin edir. Komanda xatırladır ki, DuckDB ilk gündən tam MVCC ilə tranzaksiyalı bazadır və bu üstünlük indi çoxistifadəçili, uzunmüddətli quraşdırmalarda özünü göstərir.

VARIANT, trigger-lər və SQL əlavələri

v1.5-də təqdim edilən VARIANT tipi tamhüquqlu olur: ayrışdırma birbaşa yaddaşdan həyata keçirilir, çıxarış scan-lara ötürülür, Parquet oxuma və yazma dəstəklənir, variant_* funksiyalar ailəsi əlavə olunur. Komanda versiyadan qısa müddət sonra adi JSON tipini də VARIANT üzərində qurmağı planlaşdırır; beləliklə mövcud JSON yükləri sorğuları dəyişmədən eyni üstünlükləri alacaq.

Trigger-lər tam şəkildə gəlir: BEFORE və AFTER, FOR EACH ROW və FOR EACH STATEMENT, REFERENCING OLD/NEW TABLE vasitəsilə keçid cədvəlləri, hər hadisə üçün bir neçə trigger, RETURNING və DROP TRIGGER. Klassik istifadə halı dəyişiklikləri qeyd edən audit cədvəlidir.

SQL dialektinə join şərti kimi top-k oxşarlıq axtarışı (vektor yükləri üçün APPROX NEAREST), CTE daxilində DML, iç-içə sxemlər, $variable sintaksisi, json_set kimi JSON dəyişdirmə funksiyaları və USING KEY aqreqasiyalı rekursiv CTE-lər əlavə olunur.

Daha sürətli G/Ç, daha sürətli sorğular və imzalanmış genişlənmələr

Asinxron G/Ç artıq bütün mühərrikdə işləyir, buna görə G/Ç qatı sorğu emalından asılı olmayaraq miqyaslanır: əvvəlcə Parquet, sonra CSV və DuckDB-nin öz formatı, həmçinin yeni MMAP və DIRECT_IO rejimləri. Ən böyük qazanc şəbəkə yaddaşında görünür. Sorğu tərəfində qismən aqreqatlar join-ların altına ötürülür, rekursiv CTE mühərriki yenidən yazılıb, aqreqasiyalar yaddaşdan böyük olduqda diskə axıdılır, Windows CLI isə çoxaxınlı nəticə materializasiyasında təxminən 2,2 dəfə sürətlənib.

Genişlənmələr yenidən işlənmiş sabit C API və hələ hazırlanma mərhələsində olan istifadəçi qeydiyyatlı repozitoriyalar alır: bu repozitoriyalar RSA ilə imzalanmış genişlənmələri yayır və qeydiyyat zamanı hər açarın SHA-256 barmaq izi çap olunur. Payızdan DuckDB Foundation tərkibində DuckDB, DuckLake və Quack yol xəritələrinə töhfə verəcək maraqlı tərəflərdən ibarət məsləhət şurası yaradılacaq. Önizləmə buraxılışları bu imkanların çoxunu artıq ehtiva edir, lakin komanda payız buraxılışına qədər təfərrüatların dəyişə biləcəyi barədə xəbərdarlıq edir.

SSiTech

SiTech — AI ilə gücləndirilmiş veb hazırlanması

Sürətli və müasir saytlar qurur, AI-ı real biznes proseslərinə gətiririk. Layihəniz və ya sualınız var? Kömək etməyə hazırıq.