Dragonfly

Veritabanı & Veri Teknolojileri
Dragonfly
Dragonfly, modern çok iş parçacıklı (multi-threaded) mimarisiyle Redis ve Memcached için doğrudan değiştirilebilir (drop-in) alternatif bir bellek içi veri deposudur. Tek düğümde 25 kata kadar daha yüksek verim, sharding'siz dikey ölçeklenme ve tam Redis API uyumluluğu sunar.
Nedir?
Dragonfly, Redis ve Memcached protokollerini konuşan; ancak Seastar ve ScyllaDB gibi modern veritabanlarından esinlenen shared-nothing, çok iş parçacıklı bir mimari üzerine inşa edilen açık kaynaklı bir bellek içi veri deposudur. Linux ve Docker üzerinde çalışır ve tek düğümde düzinelerce çekirdeğe kadar dikey olarak ölçeklenir.
Ne işe yarar?
Dragonfly; anahtar-değer depolaması, pub/sub, stream'ler, sıralı kümeler ve Redis uygulamalarının bağlı olduğu tüm veri yapılarını — sunucu sayısının çok küçük bir kesriyle — sağlar. Testler, tek bir c6gn.16xlarge üzerinde 3,8 milyon QPS gösteriyor (Redis'te ~250k); üstelik kompakt dashtable uygulaması sayesinde daha az bellek kullanarak.
Nerede kullanılır?
Dragonfly, mevcut Redis dağıtımlarına doğrudan değiştirilebilir (drop-in) alternatif olarak yerleşir: oturum cache'leri, API hız sınırlayıcılar, özellik bayrağı depoları, gerçek zamanlı skor tabloları, iş kuyrukları ve pub/sub fanout. Redis cluster'ı tek bir primary'yi aştığında ve takım sharding'in operasyonel maliyetinden kaçınmak istediğinde tercih edilir.
Ne zaman ve neden ortaya çıktı?
Dragonfly, 2022'de eski Google mühendisleri tarafından Redis'in temel darboğazını — tek iş parçacıklı olay döngüsü mimarisini — çözmek için yayımlandı. Modern sunucular rutin olarak 64+ çekirdeğe ve 1TB RAM'e sahip; Redis instance başına yalnızca bir çekirdek kullanabiliyor, bu da dikey ölçek daha basit ve ucuz olduğu halde yatay ölçeği zorunlu kılıyordu.
Internative'de neden kullanıyoruz?
Redis faturası gelirlerinden hızlı büyüyen müşteriler için — genellikle cache-yoğun iş yükü olan SaaS şirketleri — Dragonfly dağıtıyoruz. Tek bir Dragonfly düğümü, çoğu zaman 5–10 düğümlük bir Redis cluster'ının yerini alıyor; aynı göçte hem donanım maliyeti hem de nöbet karmaşası düşüyor. Protokol uyumluluğu sayesinde uygulama kodunda sıfır değişiklik.
Veritabanı & Veri Teknolojileri kategorisinde daha fazlası
Kütüphanenin aynı kategorisindeki diğer teknolojiler.

Elasticsearch
Elasticsearch, hızlı, ölçeklenebilir tam metin arama ve gerçek zamanlı veri analizi için tasarlanmış dağıtık bir arama ve analiz motorudur. Büyük hacimli yapılandırılmış ve yapılandırılmamış veriler üzerinde güçlü sorgulama, dizinleme ve toplama işlemleri yapar.

MongoDB
MongoDB, ölçeklenebilirlik ve esneklik için tasarlanmış belge odaklı bir NoSQL veritabanıdır. Verileri JSON benzeri belgelerde saklar, bu da onu yüksek performans ve şema esnekliği gerektiren modern uygulamalar için ideal hale getirir.

Azure Cosmos DB
Azure Cosmos DB, Microsoft tarafından sunulan, küresel olarak dağıtılmış, çoklu model NoSQL veritabanı hizmetidir. Düşük gecikmeli veri erişimi, otomatik ölçeklenme ve yüksek kullanılabilirlik için çoklu API desteği sağlar.

Raven DB
RavenDB, yüksek performans ve ölçeklenebilirlik için tasarlanmış açık kaynaklı bir NoSQL belge veritabanıdır. Modern dağıtık uygulamalar için ACID işlemleri, yerleşik çoğaltma ve tam metin arama sunar.

Amazon DynamoDB
Amazon DynamoDB, büyük ölçek ve düşük gecikme için tasarlanmış tamamen yönetilen bir NoSQL anahtar-değer ve belge veritabanıdır. Bulut yerel uygulamalar için otomatik ölçeklendirme, yüksek kullanılabilirlik ve tutarlı performans sağlar.

Redis
Redis, veritabanı, önbellek ve mesaj aracısı olarak kullanılan bir bellek içi veri deposudur. Ultra düşük gecikme süresi ve yüksek verimlilik sunarak, önbellekleme, gerçek zamanlı analiz ve dağıtık sistemler için idealdir.