15 puan yazan xguru 2022-09-05 | 2 yorum | WhatsApp'ta paylaş
  • PVLDB Vol 15'te yayımlanan, SQLite'ın geleceğine dair makale
  • SQLite, OLTP için tasarlandı; ancak son dönemde edge computing ve veri bilimi nedeniyle OLAP ihtiyacı artıyor
  • OLAP'ta güçlü performans gösteren DuckDB, "Analytics için SQLite" olarak adlandırılıyor
  • SQLite ve DuckDB performansları karşılaştırılıyor; bunun üzerinden analitik veri işlemeyi iyileştirerek SSB'de 4.2x daha hızlı hale getiren çalışmalar özetleniyor
  • Benchmark içeriği
    • Yazma transaction'larında SQLite, DuckDB'den 10x-500x daha hızlı
    • Analitik benchmark'ta (Star Schema Benchmark, SSB) DuckDB, SQLite'tan 30-50x daha hızlı
  • İyileştirmeler sürdürülecek olsa da, başlangıçtaki amaçları farklı olduğu için aynı performansı elde etmek zor
  • Ayrı bir yaklaşımla SQLite3/HE, OLTP performansında düşüş olmadan SSB'de 100x performans sağladı
  • Bu tür denemelerle motor performansı geliştirilecek ve ek optimizasyonlar eklenecek

2 yorum

 
kunggom 2022-09-06

Bu makalede çeşitli içerikler var, ancak OLAP işlemeyi iyileştirerek ilgili benchmark sonuçlarını nasıl geliştirdikleri kısmını özellikle merak ettiğim için özgün metne kısaca göz attım.

Sonuç olarak, söz konusu iyileştirmenin özü; veri analizi için kullanılan sorguların join işlemesini geliştirmek amacıyla Bloom filter eklenmiş olmasıydı.

SQLite'ta OLAP benchmark'ında kullanılan sorgular profillendiğinde, gerçekte nihai sonuca hiç dahil olmayan kısımlar için bile B-tree veri yapısında arama yapıldığı görülmüş. Bu nedenle, nihai sonuca girmeyecek kısımları önceden ayıklayıp işlemek için, belirli bir öğenin mevcut olmadığını kesin olarak söyleyebilen olasılıksal bir veri yapısı olan Bloom filter eklenmiş; iyileştirmenin ana noktası da buydu.

Bu vesileyle Bloom filter hakkında birkaç tanıtım yazısı:

Ayrıca son zamanlarda Xor Filter diye bir şeyin de çıktığı söyleniyor.