PostgreSQL DBMS tabanlı MongoDB uygulaması olan FerretDB'nin ilk kararlı sürümü

Uygulama kodunda değişiklik yapmadan belge odaklı DBMS MongoDB'yi PostgreSQL ile değiştirmenize olanak tanıyan FerretDB 1.0 projesinin sürümü yayınlandı. FerretDB, MongoDB'ye yapılan çağrıları SQL sorgularına PostgreSQL'e çeviren ve PostgreSQL'i gerçek depolama alanı olarak kullanmanıza olanak tanıyan bir proxy sunucusu olarak uygulanır. Sürüm 1.0, genel kullanıma hazır ilk kararlı sürüm olarak işaretlendi. Kod Go'da yazılmıştır ve Apache 2.0 lisansı altında dağıtılmaktadır.

FerretDB'nin öncelikli hedef kitlesi, uygulamalarında MongoDB'nin gelişmiş yeteneklerini kullanmayan, tamamen açık bir yazılım yığını kullanmak isteyen kullanıcılardır. FerretDB, mevcut geliştirme aşamasında, tipik uygulamalarda en yaygın olarak kullanılan MongoDB yeteneklerinin bir alt kümesini desteklemektedir. FerretDB'yi uygulama ihtiyacı, MongoDB'nin AGPLv3 lisansını temel alan ancak açık olmayan, yalnızca uygulama kodunu değil SSPL lisansı kapsamında teslim etme yönünde ayrımcı bir gereklilik içerdiğinden özel SSPL lisansına geçişiyle bağlantılı olarak ortaya çıkabilir. kendisi değil, aynı zamanda bulut hizmetinin sağlanmasında yer alan tüm bileşenlerin kaynak kodları.

MongoDB, anahtar/değer biçimindeki veriler üzerinde çalışan hızlı ve ölçeklenebilir sistemler ile işlevsel ve sorguları formüle etmesi kolay ilişkisel DBMS'ler arasında bir yer tutar. 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.

FerretDB 1.0'daki değişiklikler arasında:

  • CreateIndexes ve dropIndexes komutları, bir koleksiyonda bir veya daha fazla dizin oluşturmak ve silmek için uygulanmıştır.
  • Bul ve topla gibi imleç döndüren komutların yürütülmesinden elde edilen sonucun yeni bir bölümünü görüntülemek için getMore komutu uygulandı.
  • Grup değerlerinin toplamını hesaplamak için $sum toplama operatörüne yönelik destek eklendi.
  • Toplama sırasında belgelerin sayısını ve atlanmasını sınırlamak için $limit ve $skip operatörleri için destek eklendi.
  • Toplama sırasında belgeleri saymak için $count operatörüne yönelik destek eklendi.
  • Gelen belgelerdeki dizi alanlarını ayrıştırmak ve her dizi öğesi için ayrı bir belge içeren bir liste oluşturmak için $unwind operatörüne yönelik destek eklendi.
  • Koleksiyon ve veritabanının yanı sıra veri boyutuyla ilgili istatistikler elde etmek amacıyla collStats, dbStats ve dataSize komutlarına kısmi destek eklendi.

Kaynak: opennet.ru

Yorum ekle