Dragonfly, Redis ve Memcached için daha hızlı ikame olduğunu iddia eden bir proje

Öyle bir haber çıktı ki ilk sürüm zaten mevcut bellek içi veri önbelleğe alma sistemi Memcached ve Redis protokolleri için destek sağlayan Dragonfly, ancak sorguların çok daha yüksek performans ve daha az bellek tüketimi ile çalışmasına izin verir.

Sistem, verileri anahtar/değer biçiminde işler ve ağır yüklü siteleri hızlandırmak, yavaş sorguları DBMS'de önbelleğe almak ve ara verileri RAM'de önbelleğe almak için hafif bir çözüm olarak kullanılabilir.

BSL MySQL'in kurucu ortakları tarafından önerildi Açık Çekirdek modeline bir alternatif olarak. BSL'nin özü, genişletilmiş işlevsellik kodunun başlangıçta değişiklik için mevcut olmasıdır, ancak bir süre için, yalnızca atlamak için ticari bir lisans satın alınmasını gerektiren ek koşullara tabi olarak ücretsiz olarak kullanılabilir.

Dragonfly projesinin ek lisans koşulları, kodun yalnızca 2.0 Haziran 1'de Apache 2027 lisansına dönüştürülmesini gerektirir. O zamana kadar lisans, kodun yalnızca hizmet ve ürünlerinin çalışmasını sağlamak için kullanılmasına izin verir, ancak Dragonfly'a eklenti görevi gören ücretli bulut hizmetleri oluşturmak için kullanımı yasaklar.

Yusufçuk dünyanın en hızlı bellek depolama sistemi olduğunu iddia ediyor, geliştiricilere ve kıyaslamalara göre. Dragonfly, Redis ile karşılaştırıldığında 25 kat performans artışı elde etti ve tipik iş yükleri altında bellek tüketiminde 3 kat azalma. Tek bir Dragonfly sunucusu saniyede milyonlarca isteği işleyebilir; örneğin, bir Amazon EC2 c6gn.16xlarge ortamında, saniyede 3,8 milyon istek çıktısı elde edildi.

5 GB depolama testlerinde Dragonfly, Redis'ten %30 daha az bellek gerektirdi. "bgsave" komutunu kullanarak anlık görüntülerin oluşturulması sırasında, bellek tüketimi artar, ancak yoğun zamanlarda Redis'tekinden neredeyse üç kat daha az korunur ve anlık görüntü yazma işleminin kendisi çok daha hızlıdır (testte, bir anlık görüntü yazdı Dragonfly 30 saniyede ve Redis - 42 saniyede).

Çok iş parçacıklı mimari sayesinde yüksek performans elde edilir paylaşılan kaynak yok (paylaşılan-hiçbir şey), bu, muteksler veya döndürme kilitleri olmadan çalışan, her bir iş parçacığına kendi veri parçasına sahip ayrı ve bağımsız bir denetleyicinin eklendiği anlamına gelir. Hafif VLL kilitleri, birden fazla anahtarla uğraşırken atomikliği sağlamak için kullanılır. Bilgileri bellekte verimli bir şekilde depolamak için, bir tür bölümlenmiş karma tabloları uygulayan kısa tablo yapısı kullanılır.

içinde mevcut olan fonksiyonlardan ilk sürüm, RESP2 protokolü desteğini ve 130 Redis komutunu vurgular, kabaca Redis 2.8 sürümünün işlevselliğine karşılık gelir.

Buna ek olarak, Dragonfly, CAS hariç tüm Memcached komutlarını destekler (doğrula ve ayarla), anlık görüntüler oluşturmak için eşzamansız işlemler için destek sağlar, öngörülebilir bellek tüketimi sağlar, yerleşik bir Lua 5.4 yorumlayıcı sağlar ve karmalar, kümeler ve listeler gibi karmaşık veri türlerini destekler (ZSET, HSET, LIST, SETS , ve STRING).

Ayrı olarak, bir önbelleğe alma modu mevcuttur, boş bellek tükendiğinde eski verilerin otomatik olarak yeni verilerle değiştirildiği. Verilerin ilgili olduğu düşünülen ömür boyu verilere bağlanmak mümkündür.

Depolama durumu, yeniden başlatmanın ardından daha sonra kurtarma için arka planda diske boşaltılabilir. Sistemi yönetmek için bir HTTP konsolu (TCP bağlantı noktası 6379'a bağlanır) ve Prometheus uyumlu ölçümleri döndürmek için bir API sağlanır. Gelecek sürümlerde, Redis komutları için desteği genişletmeyi ve yük devretme ve yük dengeleme için depolamayı çoğaltma yeteneğini uygulamayı planlıyoruz.

Son olarak, bununla ilgili daha fazla bilgi edinmek istiyorsanız, Dragonfly kodunun C/C++ ile yazıldığını ve BSL lisansı (Business Source License) altında dağıtıldığını bilmelisiniz.

Proje hakkında danışabilirsiniz Aşağıdaki bağlantıda.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: AB Internet Networks 2008 SL
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.