DuckDB - Gömülü OLAP DB açık kaynak
(duckdb.org)"Analytics için SQLite"
-
Karmaşık analiz sorguları için optimize edilmiş gömülü bir RDBMS
-
C++11 ile yazılmış, bağımlılığı olmayan tek bir binary olarak host süreç içinde çalışır
-
Python/R/Java/C/C++/Node.js API'leri sunar
-
SQLite gibi veritabanını tek bir dosyada saklar
-
Uygun kullanım senaryoları
→ CSV/Parquet gibi tablo biçimindeki verilerin işlenmesi ve saklanması
→ Birden fazla büyük tabloyu Join ve Aggregate ederek yapılan etkileşimli veri analizi
→ Birden fazla büyük tabloda aynı anda büyük değişiklikler yapılırken (birden çok satır ekleme veya kolon ekleme/silme/değiştirme vb.)
6 yorum
Gömülü DB tarafında OLTP için SQLite, OLAP içinse DuckDB şeklinde bir ayrım hedefliyor gibi görünüyor.
20 yıl önce çıkıp artık gömülü tarafta hakimiyet kurmuş SQLite'tan farklı olarak, bu ise 0.1 sürümünün çıkmasının üzerinden yalnızca yaklaşık bir buçuk yıl geçmiş yeni bir açık kaynak projesi. ^^
Birkaç gün önce node.js API'si de yeni eklendiği için çeşitli şekillerde kullanmak daha kolay hale gelmiş gibi.
Her gördüğümde hissediyorum ama OLTP ile OLAP arasındaki farkı hâlâ net olarak bilmiyorum. hıçkırık Bunu gerçekten içime sinen şekilde açıklayan bir içerik de yok gibi.
Evet, genelde karşılaştığımız açıklamalar işlem ve analiz olduğu için (adının da ima ettiği gibi), iyi bilinen RDB’ler hem veri ekleme-çıkarma işlerinde hızlı oluyor hem de analiz işlerinde hızlı oluyor, değil mi? Örneğin Oracle ya da PostgreSQL’in belirgin biçimde tek bir tarafa özelleştiğini söylemek pek mümkün değil... Zaten büyük veri çağındaki analizlerin de böyle sistemlerden çoktan epeyce uzaklaştığı hissi var; demek istediğim, bugün hâlâ OLTP ile OLAP’ı ayırmanın ne anlam ifade ettiğini çok da anlayamıyorum ^^;
OLTP, ekleme, çıkarma, silme gibi işlemlere özelleşmiştir.
OLAP ise içeride bulunan verileri çeşitli şekillerde işleyip analiz etmeye yöneliktir.
Kabaca böyle düşünebilirsiniz, ne dersiniz?
Hmm.. benim açıklama biçimim şöyle:
OLTP yataydır: bir şeylerin satır bazında eklendiği durumlar (yeni bir sipariş geliyor)
OLAP dikeydir: belirli bir sütunun tamamını okuyup hesaplama yapmak ya da değiştirmek gibi işlemler (günlük ortalama ciroyu hesaplamak)
OLTP yatay
OLAP ise dikeymiş