- Go ile geliştirilmiş yüksek performanslı bir anahtar-değer veritabanıdır; C arayüzünü destekler ve LSM tree, MVCC, lock-free yapı gibi modern veritabanı tasarım ilkelerini yansıtır
- WAL (Write Ahead Logging) tabanlı anlık tutarlılık ve dayanıklılık sağlar; arka planda flush/compaction ve lock-free paralel işleme ile yüksek yazma/okuma performansı sunar
- Ağ ya da dağıtık yapı olmadan, tek düğümlü gömülü mimarisiyle hafif ve hızlı veri depolamayı hedefler
Wildcat'in başlıca özellikleri
- LSM tree tabanlıdır, yazma ağırlıklı iş yükleri için optimize edilmiştir
- MVCC (çok sürümlü eşzamanlılık kontrolü) ve lock-free veri yapılarıyla kritik yollarda kilitsiz işlem sunar
- WAL logging: tüm transaction durumunu kaydeder ve kurtarmayı destekler
- Sürüm farkındalıklı skip list ile bellek içi MVCC hızlandırması
- Thread-safe/lock-free yazma ve atomik cache/bellek yönetimi
- SSTable için immutable BTree yapısı, anahtar-değer ayrımı ve Bloom filter optimizasyonu desteği
- Transaction ACID garantisi ve seçilebilir dayanıklılık seviyeleri (Full/Partial/None)
- Crash recovery ile commit edilmiş ve tamamlanmamış transaction'ların kurtarılması
- Batch/iterator: aralık, prefix ve çift yönlü yineleme desteği
- Bloom Filter, key-value ayrımı(
.klog, .vlog), tombstone/sürüm farkındalıklı compaction gibi modern tasarımlar
- İstatistik/loglama/izleme: Stats(), LogChannel gibi çeşitli tanılama ve istatistik arayüzleri sunar
- C kütüphanesi build ve API: Go paylaşımlı kütüphanesi olarak build edilir, farklı dillerden doğrudan kullanılabilir
- Go 1.24+ ve Linux/macOS/Windows (64-bit) desteği
Neden önemli? (diğer gömülü KV çözümlerinden farkı)
- RocksDB, Badger vb. ile benzer LSM+MVCC yapısına sahip olsa da Go-native lock-free, çok iş parçacıklı tasarımıyla Go ortamında optimize edilmiş bir kullanım sunar
- Gömülü DB'ye özel: ağ/replikasyon ek yükü olmadan anlık tutarlılık/dayanıklılık/yüksek performans sağlar
- Transaction kurtarma ve tamamlanmamış durumun korunması sayesinde güvenilirlik ve şeffaflık yüksektir
- Çeşitli compaction/buffer/cache parametreleri ile iş yüküne göre özelleştirilmiş ayarlama yapılabilir
2 yorum
Şüpheli derecede çok sayıda veritabanı çıkan bir dil
Şüpheli derecede çok veritabanı çıkaran bir dil