KiviDB: Rust ile Yazılmış, Daha Hızlı Redis Uyumlu Bellek İçi Veritabanı ve Vektör Önbelleği
Kaynak: Hacker News
İçindekiler 3 başlık
KiviDB Nedir?#
KiviDB, Redis ve Valkey için Rust dilinde geliştirilmiş hızlı ve çok iş parçacıklı (multi-threaded) bir alternatiftir. RESP2 ve RESP3 protokollerini doğrudan desteklediği için mevcut Redis istemcileri, redis-cli ve yazılım kütüphaneleri hiçbir kod değişikliği gerektirmeden çalışır. İçerisinde yerleşik olarak tam metin (full-text) ve vektör arama yetenekleri barındırır.
Parçalı (sharded) bellek içi anahtar-değer mimarisi sayesinde sistemdeki tüm işlemci çekirdeklerini aktif olarak kullanır. Veri kalıcılığını ise anlık görüntüler (snapshots) ve isteğe bağlı sadece ekleme yapılan dosyalar (AOF) üzerinden sağlar. Aynı 32 çekirdekli donanımda KiviDB, saniyede 21 milyon ardışık (pipelined) GET isteğine yanıt verebilmektedir. Bu performans, Redis 8'in yaklaşık 9 katı ve Dragonfly'ın 2.3 katı hıza denk gelirken, Dragonfly'ın p99 gecikme süresinin (latency) yarısından daha düşük bir değer sunar.
docker run -d -p 6380:6380 kividb/kividb
redis-cli -p 6380 PING # PONG
KiviDB, mevcut Redis kurulumlarıyla yan yana sorunsuz çalışabilmek için varsayılan 6379 yerine 6380 portunu dinler. İstemcinizi doğrudan bu porta yönlendirebilir veya --port 6379 parametresiyle başlatabilirsiniz. Modern yazılım geliştirme süreçlerinde, özellikle RAG ve yapay zeka uygulamalarında hem önbellekleme hem de vektör arama ihtiyaçlarını tek bir yüksek performanslı motorda birleştirmek mimari karmaşıklığı önemli ölçüde azaltır.
- Protokol: Redis uyumlu komut yüzeyi (desteklenen tüm komutlar için
COMMANDS.mddosyasına bakılabilir). - Arama ve vektörler: Tam metin, etiket, sayısal ve vektör (FLAT / HNSW) aramaları için Redis Stack tarzı
FT.*komutları. - Lua betikleri: İsteğe bağlı Cargo özelliği.
EVAL,SCRIPT,FUNCTION,FCALLve ilgili komutlar--features luaile yapılan derlemelerde kullanılabilir. - TLS: İsteğe bağlı Cargo özelliği (
--features tls). - Varsayılan dinleme adresi: Korumalı mod (protected mode) açık şekilde
0.0.0.0:6380. - Lisans: GNU Affero Genel Kamu Lisansı v3 (AGPL-3.0-only), açık kaynak. KiviDB'yi kullanmak kendi uygulamanızı AGPL kapsamına sokmaz.
Rakipleriyle Karşılaştırması#
Ekim 2026 itibarıyla KiviDB ve alternatiflerinin temel mimari farkları geliştiriciler için önemli seçimler sunar:
- Lisans: KiviDB (AGPL-3.0), Redis 8 (RSALv2, SSPLv1 veya AGPL-3.0), Valkey 8 (BSD-3-Clause), Dragonfly (BSL 1.1), KeyDB (BSD-3-Clause).
- Dil: KiviDB (Rust), Redis 8 (C), Valkey 8 (C), Dragonfly (C++), KeyDB (C++).
- Komut Çalıştırma Mimarisi: KiviDB (her çekirdekte - sharded), Redis 8 (tek iş parçacığı + G/Ç iş parçacıkları), Valkey 8 (tek iş parçacığı + G/Ç iş parçacıkları), Dragonfly (her çekirdekte - shared-nothing), KeyDB (birden fazla iş parçacığı).
- Tam Metin ve Vektör Arama (
FT.*): KiviDB (yerleşik), Redis 8 (yerleşik - Query Engine), Valkey 8 (ayrı modül), Dragonfly (yerleşik), KeyDB (yok). - Lua Betik Desteği: KiviDB (
luaderlemesi ile), Redis 8, Valkey 8, Dragonfly ve KeyDB (evet).
Performans#
Veri işleme hacmi (throughput), gecikme süresi, vektör arama ve vektör veri yükleme (ingest) metrikleri, çok çekirdekli mimarinin üretim ortamlarındaki doğrudan kazanımlarını göstermektedir. Tüm test verileri Ekim 2026'da AWS Graviton3 bare metal (c7gn.metal, 64 vCPU) sunucuda 32 çekirdekle sınırlandırılarak ve yük oluşturucu ayrı bir sunucuda çalıştırılarak elde edilmiştir. Yüksek trafikli sistemler tasarlayan mühendisler için tek iş parçacıklı darboğazları aşmak, donanım maliyetlerini düşürürken sistem ölçeklenebilirliğini doğrudan artırır.
Kaynak ve atıf
Bu yazı, Hacker News üzerinde yayımlanan içerikten yararlanılarak Edumints tarafından yapay zekâ desteğiyle Türkçe hazırlandı. Ayrıntılar ve yazarların kendi anlatımı için orijinaline bakabilirsin:
- github.com/kividbio/kividb