Redis 6.0 DBMS'nin Sürümü

Tedarikli DBMS sürümü redis 6.0, NoSQL sistemleri sınıfına aittir. Redis, anahtar/değer verilerini depolamak için listeler, karmalar ve kümeler gibi yapılandırılmış veri formatları desteği ve sunucu tarafı Lua işleyici komut dosyalarını çalıştırma yeteneği ile geliştirilmiş Memcached benzeri işlevler sağlar. Proje kodu sağlanan BSD lisansı altındadır. Geçen yıldan bu yana RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom gibi kurumsal kullanıcılara gelişmiş yetenekler sunan ek modüller sağlanan Tescilli RSAL lisansı altında. Bu modüllerin AGPLv3 lisansı kapsamında açık versiyonlarının geliştirilmesine proje tarafından devam edilmektedir. İyiFORM.

Memcached'den farklı olarak Redis, verilerin diskte kalıcı olarak depolanmasını sağlar ve acil kapanma durumunda veritabanının güvenliğini garanti eder. Projenin kaynak kodu BSD lisansı altında dağıtılmaktadır. İstemci kitaplıkları Perl, Python, PHP, Java, Ruby ve Tcl dahil olmak üzere en popüler diller için mevcuttur. Redis, bir grup komutu tek adımda yürütmenize olanak tanıyan, belirli bir komut kümesinin yürütülmesinde tutarlılık ve tutarlılık (diğer isteklerden gelen komutlar müdahale edemez) sağlayan ve sorun olması durumunda geri almanıza olanak tanıyan işlemleri destekler. değişiklikler. Tüm veriler tamamen RAM'de önbelleğe alınır.

Veri yönetimi için arttırma/azaltma, standart liste ve set işlemleri (birleştirme, kesişim), tuş yeniden adlandırma, çoklu seçim ve sıralama fonksiyonları gibi komutlar sağlanmıştır. İki depolama modu desteklenir: verilerin diske periyodik senkronizasyonu ve diskte bir değişiklik günlüğünün bakımı. İkinci durumda, tüm değişikliklerin tam güvenliği garanti edilir. Master-slave verilerinin çoğaltılmasını, engellemesiz modda gerçekleştirilen birden fazla sunucuya organize etmek mümkündür. Ayrıca, mesajların aboneliğe göre müşterilere dağıtıldığı bir kanalın oluşturulduğu bir "yayınla/abone ol" mesajlaşma modu da mevcuttur.

Anahtar iyileştirmelerRedis 6.0'a eklendi:

  • Varsayılan olarak yeni RESP3 protokolü önerilir, ancak bağlantı kurulumu RESP2 modunda başlar ve istemci yalnızca bağlantıda anlaşma yapılırken yeni HELLO komutunun kullanılması durumunda yeni protokole geçer. RESP3, istemci tarafında genel dizileri dönüştürmeye gerek kalmadan ve dönüş türlerini ayırarak karmaşık veri türlerini doğrudan döndürmenize olanak tanır.
  • Erişim kontrol listesi desteği (ACL), istemci tarafından hangi işlemlerin gerçekleştirilebileceğini ve hangilerinin gerçekleştirilemeyeceğini doğru bir şekilde belirlemenize olanak tanır. ACL'ler ayrıca geliştirme sırasındaki olası hatalara karşı korumayı da mümkün kılar; örneğin, yalnızca BRPOPLPUSH işlemini gerçekleştiren bir işleyicinin diğer işlemleri yürütmesi yasaklanabilir ve eğer hata ayıklama sırasında eklenen FLUSHALL çağrısı yanlışlıkla üretim kodunda unutulursa, bu durum sorunlara yol açmaz. Bir ACL'nin uygulanması herhangi bir ek yüke neden olmaz ve performans üzerinde neredeyse hiçbir etkisi yoktur. ACL için arayüz modülleri de hazırlanmış olup, kendi kimlik doğrulama yöntemlerinizi oluşturmanıza olanak sağlar. Kaydedilen tüm ACL ihlallerini görüntülemek için “ACL LOG” komutu sağlanır. Tahmin edilemeyen oturum anahtarları oluşturmak için SHA256 tabanlı HMAC kullanılarak "ACL GENPASS" komutu eklendi.
  • Destek SSL / TLS istemci ile sunucu arasındaki iletişim kanalını şifrelemek için.
  • Destek istemci tarafında verileri önbelleğe almak. İstemci tarafı önbelleğini veritabanı durumuyla uzlaştırmak için iki mod mevcuttur: 1. İstemci önbelleğindeki girişin alaka kaybı hakkında onu bilgilendirmek için istemcinin daha önce talep ettiği anahtarların sunucuda hatırlanması. 2. İstemcinin belirli anahtar öneklerine abone olduğu ve bu öneklerin kapsamına giren anahtarların değişmesi durumunda sunucunun bunu bildirdiği “yayın” mekanizması. "Yayınlama" modunun avantajı, sunucunun, istemci tarafında önbelleğe alınan değerlerin haritasını depolayarak ek bellek harcamamasıdır, ancak dezavantajı, iletilen mesajların sayısının artmasıdır.
  • Redis'i mesaj kuyruklarını işlemek için kullanmanıza olanak tanıyan Disque mesaj aracısı, temel yapıdan kaldırılmıştır. ayrı modül.
  • Katma Küme Proxy'si, bir Redis sunucuları kümesi için bir proxy olup, bir istemcinin birden fazla Redis sunucusuyla çalışmayı tek bir örnekmiş gibi düzenlemesine olanak tanır. Proxy, istekleri gerekli verilere sahip düğümlere yönlendirebilir, bağlantıları çoğaltabilir, düğüm arızaları tespit edilirse kümeyi yeniden yapılandırabilir ve birden fazla düğüme yayılan istekleri yürütebilir.
  • Modül yazma API'si önemli ölçüde iyileştirildi ve esas olarak Redis, eklenti modülleri biçiminde sistemler oluşturmanıza olanak tanıyan bir çerçeveye dönüştürüldü.
  • RDB dosyalarının kullanıldıktan hemen sonra silindiği bir çoğaltma modu uygulandı.
  • PSYNC2 çoğaltma protokolü iyileştirildi; bu, kopya ve ana makine için ortak ofsetleri belirleme şansını artırarak kısmi yeniden senkronizasyonun daha sık gerçekleştirilmesini mümkün kıldı.
  • RDB dosyalarının yüklenmesi hızlandırıldı. Dosya içeriğine bağlı olarak hızlanma %20 ila %30 arasında değişir. Çok sayıda bağlı istemci olduğunda INFO komutunun yürütülmesi önemli ölçüde hızlandırılmıştır.
  • Karmaşık dizi işleme algoritmalarının uygulanmasıyla yeni bir STRALGO komutu eklendi. Şu anda yalnızca bir LCS (en uzun ortak alt dizi) algoritması mevcuttur ve bu, RNA ve DNA dizilerini karşılaştırırken yararlı olabilir.

Kaynak: opennet.ru

Yorum ekle