Geri Dön
DuckDB v2.0 önizlemesi: sunucu modu, tetikleyiciler ve yeni depolama formatı
SiTech AI Team2 წთ. საკითხავი

DuckDB v2.0 önizlemesi: sunucu modu, tetikleyiciler ve yeni depolama formatı

Analitik veritabanı istemci-sunucu moduna, tam tetikleyici desteğine, birinci sınıf VARIANT tipine ve asenkron G/Ç'ye kavuşuyor. Cyanoptera adlı 2.0 sürümü bu sonbaharda çıkıyor.

DuckDB, süreç içinde çalışan analitik veritabanının bu sonbaharda çıkacak yeni büyük sürümü 2.0'ın önizlemesini yayınladı. Sürüm, tarçın renkli ördekten esinlenen Cyanoptera adını taşıyor; mart ayında yayınlanan v1.5'ten bu yana yapılmış 10.000'den fazla commit içeriyor ve proje bunu "DuckDB'nin sunucu olarak yılı"nın başlangıcı olarak tanımlıyor.

Nihayet sunucu modu

En dikkat çekici değişiklik istemci-sunucu desteği. Mayıs ayında tanıtılan quack eklentisi DuckDB'nin kendi protokolünü uyguluyor ve v2.0'da kararlı hale geliyor: herhangi bir DuckDB süreci veritabanlarını ağ üzerinden sunabiliyor, başka bir DuckDB de yeni CONNECT ifadesiyle ona bağlanıp sorguları oraya yönlendirebiliyor. CONNECT yalnızca DuckDB ile sınırlı değil: bir PostgreSQL veya MySQL sunucusuna yöneltildiğinde tabloları ağdan çekmek yerine SQL'i doğrudan uzak sisteme gönderiyor; bunu yeni remote pushdown iyileştiricisi sağlıyor. Ekip, DuckDB'nin ilk günden beri tam MVCC ile işlemsel bir veritabanı olduğunu hatırlatıyor; bu avantaj artık çok kullanıcılı ve uzun süreli kurulumlarda işe yarıyor.

VARIANT, tetikleyiciler ve SQL eklemeleri

v1.5'te tanıtılan VARIANT tipi tam anlamıyla birinci sınıf hale geliyor: ayrıştırma doğrudan depolamadan yapılıyor, çıkarım taramalara itiliyor, Parquet okuma ve yazma destekleniyor ve variant_* fonksiyon ailesi ekleniyor. Ekip, sürümden kısa süre sonra normal JSON tipini de VARIANT üzerine kurmayı planlıyor; böylece mevcut JSON iş yükleri sorguları değiştirmeden aynı avantajlardan yararlanacak.

Tetikleyiciler eksiksiz geliyor: BEFORE ve AFTER, FOR EACH ROW ve FOR EACH STATEMENT, REFERENCING OLD/NEW TABLE ile geçiş tabloları, olay başına birden çok tetikleyici, RETURNING ve DROP TRIGGER. Klasik kullanım alanı, değişiklikleri kaydeden bir denetim tablosu.

SQL lehçesine join koşulu olarak top-k benzerlik araması (vektör iş yükleri için APPROX NEAREST), CTE içinde DML, iç içe şemalar, $variable sözdizimi, json_set gibi JSON değiştirme fonksiyonları ve USING KEY toplulaştırmalı özyinelemeli CTE'ler ekleniyor.

Daha hızlı G/Ç, daha hızlı sorgular, imzalı eklentiler

Asenkron G/Ç artık motorun tamamında çalışıyor; böylece G/Ç katmanı sorgu işlemeden bağımsız ölçekleniyor: önce Parquet, ardından CSV ve DuckDB'nin kendi formatı, ayrıca yeni MMAP ve DIRECT_IO modları. En büyük kazanç ağ depolamasında. Sorgu tarafında kısmi toplulaştırmalar join'lerin altına itiliyor, özyinelemeli CTE motoru yeniden yazıldı, toplulaştırmalar belleği aştığında diske taşıyor ve Windows CLI çok iş parçacıklı sonuç oluşturmada yaklaşık 2,2 kat hızlandı.

Eklentiler yenilenmiş kararlı bir C API ile, henüz geliştirme aşamasında olan kullanıcı tanımlı depolara kavuşuyor: bu depolar RSA ile imzalanmış eklentileri dağıtıyor ve kayıt sırasında her anahtarın SHA-256 parmak izi yazdırılıyor. Sonbahardan itibaren DuckDB Foundation bünyesinde, DuckDB, DuckLake ve Quack yol haritalarına katkı verecek bir paydaş danışma kurulu oluşturulacak. Önizleme sürümleri bu özelliklerin çoğunu bugün içeriyor; ancak ekip ayrıntıların sonbahar sürümüne kadar değişebileceği uyarısını yapıyor.

SSiTech

SiTech — AI destekli web geliştirme

Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.