Belge odaklı DBMS MongoDB 5.0 mevcut

Verileri anahtar/değer formatında çalıştıran hızlı ve ölçeklenebilir sistemler ile işlevsel ve sorgu oluşturması kolay ilişkisel DBMS'ler arasında bir yer kaplayan belge odaklı DBMS MongoDB 5.0'ın sürümü sunuldu. MongoDB kodu C++ dilinde yazılmıştır ve AGPLv3 lisansını temel alan SSPL lisansı altında dağıtılmıştır ancak SSPL lisansı kapsamında yalnızca uygulama kodunun kendisini değil aynı zamanda kaynak kodunu da sunmak için ayrımcı bir gereklilik içerdiğinden açık değildir. bulut hizmetinin sağlanmasında yer alan tüm bileşenlerin kodu.

MongoDB, belgelerin JSON benzeri bir formatta saklanmasını destekler, sorgu oluşturmak için oldukça esnek bir dile sahiptir, çeşitli depolanan nitelikler için dizinler oluşturabilir, büyük ikili nesnelerin verimli bir şekilde depolanmasını sağlar, veritabanına veri ekleme ve değiştirme işlemlerinin günlüğe kaydedilmesini destekler, Eşleme/Küçültme paradigmasına uygun olarak çalışır, hataya dayanıklı konfigürasyonların çoğaltılmasını ve oluşturulmasını destekler.

MongoDB, çoğaltmayla birlikte parçalama (belirli bir anahtara dayalı olarak bir dizi veriyi sunucular arasında dağıtma) sağlamaya yönelik yerleşik araçlara sahiptir ve tek bir hata noktasının (hata) bulunmadığı yatay olarak ölçeklenebilir bir depolama kümesi oluşturmanıza olanak tanır. herhangi bir düğümün veri tabanının çalışmasını etkilememesi), bir arıza sonrasında otomatik kurtarma ve arızalı bir düğümden yükün aktarılması. Bir kümenin genişletilmesi veya bir sunucunun bir kümeye dönüştürülmesi, yalnızca yeni makinelerin eklenmesiyle veritabanını durdurmadan gerçekleştirilir.

Yeni sürümün özellikleri:

  • Belirli aralıklarla kaydedilen parametre değerlerinin dilimlerini (zaman ve bu zamana karşılık gelen bir dizi değer) depolamak için optimize edilmiş bir zaman serisi (zaman serisi koleksiyonları) biçimindeki veriler için koleksiyonlar eklendi. Bu tür verileri saklama ihtiyacı, izleme sistemlerinde, finansal platformlarda ve sensör durumlarını yoklamaya yönelik sistemlerde ortaya çıkar. Zaman serisi verileriyle çalışma, sıradan belge koleksiyonlarında olduğu gibi gerçekleştirilir, ancak bunlar için dizinler ve depolama yöntemi, zaman referansı dikkate alınarak optimize edilir; bu, disk alanı tüketimini önemli ölçüde azaltabilir, sorguların yürütülmesindeki gecikmeleri azaltabilir ve gerçek zamanlı verileri etkinleştirebilir analiz.

    MongoDB, bu tür koleksiyonları, eklendiğinde zaman serisi verilerini otomatik olarak optimize edilmiş bir depolama biçiminde gruplayan dahili koleksiyonlar üzerine kurulu, yazılabilir, gerçekleştirilmemiş görünümler olarak ele alır. Bu durumda zaman bazlı her kayıt istendiğinde ayrı bir belge olarak ele alınır. Veriler zamana göre otomatik olarak sıralanır ve indekslenir (açıkça zaman indeksleri oluşturmaya gerek yoktur).

  • Koleksiyondaki belirli bir belge kümesiyle eylemler gerçekleştirmenize olanak tanıyan pencere operatörleri (analitik işlevler) için destek eklendi. Toplama işlevlerinden farklı olarak, pencere işlevleri gruplandırılmış kümeyi daraltmaz, bunun yerine sonuç kümesindeki bir veya daha fazla belgeyi içeren bir "pencerenin" içeriğine dayalı olarak toplanır. Belgelerin bir alt kümesini işlemek için, örneğin bir koleksiyondaki iki belge arasındaki farkları belirleyebileceğiniz, satış sıralamalarını hesaplayabileceğiniz ve karmaşık zaman serilerindeki bilgileri analiz edebileceğiniz yeni bir $setWindowFields aşaması önerilmektedir.
  • Bir uygulamayı belirli bir API durumuna bağlamanıza ve yeni DBMS sürümlerine geçiş yaparken olası geriye dönük uyumluluk ihlaliyle ilişkili riskleri ortadan kaldırmanıza olanak tanıyan API sürüm oluşturma desteği eklendi. API sürümü oluşturma, uygulama yaşam döngüsünü DBMS yaşam döngüsünden ayırır ve geliştiricilerin, DBMS'nin yeni bir sürümüne geçiş sırasında değil, yeni özelliklerin kullanılmasına ihtiyaç duyulduğunda uygulamada değişiklik yapmasına olanak tanır.
  • DBMS'yi durdurmadan, segmentasyon için kullanılan parça anahtarlarını anında değiştirmenize olanak tanıyan Canlı Yeniden Paylaşım mekanizması desteği eklendi.
  • İstemci tarafındaki alanları şifreleme olanakları genişletildi (İstemci Tarafı Alan Düzeyinde Şifreleme). Artık denetim filtrelerini yeniden yapılandırmak ve DBMS'yi durdurmadan x509 sertifikalarını döndürmek mümkün. TLS 1.3 için şifre paketini yapılandırmaya yönelik destek eklendi.
  • Ayrı bir proje olarak geliştirilen, Node.js platformu kullanılarak JavaScript ile yazılan ve Apache 2.0 lisansı altında dağıtılan yeni bir komut satırı kabuğu olan MongoDB Kabuğu (mongosh) önerilmektedir. MongoDB Shell, DBMS'ye bağlanmayı, ayarları değiştirmeyi ve sorgu göndermeyi mümkün kılar. Yöntemleri, komutları ve MQL ifadelerini girmek için akıllı otomatik tamamlamayı, sözdizimi vurgulamayı, bağlamsal yardımı, hata mesajlarını ayrıştırmayı ve eklentiler aracılığıyla işlevselliği genişletme yeteneğini destekler. Eski "mongo" CLI sarmalayıcısı kullanımdan kaldırıldı ve gelecekteki bir sürümde kaldırılacak.
    Belge odaklı DBMS MongoDB 5.0 mevcut
  • Yeni operatörler eklendi: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate ve $rand.
  • $expr ifadesi içinde $eq, $lt, $lte, $gt ve $gte operatörleri kullanılırken dizinlerin kullanılmasını sağlar.
  • Toplama, bulma, bulma, bulma, güncelleme, silme komutları ve db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() ve db.collection.remove() yöntemleri artık “let”i desteklemektedir. Değişkenleri istek gövdesinden ayırarak komutları daha okunabilir hale getiren değişkenlerin bir listesini tanımlama seçeneği.
  • Bir belge koleksiyonunda özel kilit alan bir işlem paralel olarak çalışıyorsa bulma, sayma, ayırma, toplama, mapReduce, listCollections ve listIndexes işlemleri artık engellenmiyor.
  • Siyasi açıdan yanlış terimleri kaldırma girişiminin bir parçası olarak, isMaster komutu ve db.isMaster() yöntemi, hello ve db.hello() olarak yeniden adlandırıldı.
  • Sürüm numaralandırma şeması değiştirildi ve öngörülebilir bir sürüm programına geçiş yapıldı. Yılda bir kez önemli bir sürüm (5.0, 6.0, 7.0), her üç ayda bir yeni özellikler içeren ara sürümler (5.1, 5.2, 5.3) ve gerektiğinde hata düzeltmeleri ve güvenlik açıkları içeren düzeltici güncellemeler (5.1.1, 5.1.2) yayınlanacaktır. .5.1.3, 5.1). Geçici sürümler bir sonraki büyük sürüm için işlevsellik geliştirecektir; MongoDB 5.2, 5.3 ve 6.0, MongoDB XNUMX sürümü için yeni özellikler sağlayacaktır.

Kaynak: opennet.ru

Yorum ekle