PostgreSQL-ga asoslangan MongoDB ilovasi bo'lgan FerretDB ning birinchi barqaror versiyasi

FerretDB 1.0 chiqarildi. Bu hujjatga yo'naltirilgan MongoDB ma'lumotlar bazasini dastur kodini o'zgartirmasdan PostgreSQL bilan almashtirish imkonini beradi. FerretDB MongoDB so'rovlarini PostgreSQL uchun SQL so'rovlariga tarjima qiladigan proksi-server sifatida amalga oshiriladi, bu esa PostgreSQL-dan haqiqiy saqlash serveri sifatida foydalanishga imkon beradi. 1.0 versiyasi umumiy foydalanishga tayyor birinchi barqaror nashr sifatida belgilangan. Kod Go-da yozilgan va Apache 2.0 litsenziyasi ostida litsenziyalangan.

FerretDB ning asosiy maqsadli auditoriyasi o'z ilovalarida MongoDB ning ilg'or xususiyatlaridan foydalanmaydigan, lekin to'liq ochiq kodli dasturiy ta'minot to'plamidan foydalanmoqchi bo'lgan foydalanuvchilardir. Hozirgi rivojlanish bosqichida FerretDB odatiy ilovalarda eng ko'p qo'llaniladigan MongoDB xususiyatlarining bir qismini qo'llab-quvvatlaydi. FerretDB ni amalga oshirish zarurati MongoDB ning AGPLv3 ga asoslangan, lekin ochiq manba bo'lmagan xususiy SSPL litsenziyasiga o'tishi bilan bog'liq bo'lishi mumkin, chunki u nafaqat dastur kodining o'zi, balki bulut xizmatini taqdim etishda ishtirok etadigan barcha komponentlar uchun manba kodini ham SSPL litsenziyasiga ega bo'lishini talab qilish orqali kamsitadi.

MongoDB kalit/qiymat ma'lumotlari va funktsional va so'rov qilish oson bo'lgan relyatsion ma'lumotlar bazasida ishlaydigan tez va kengaytiriladigan tizimlar o'rtasida joyni egallaydi. MongoDB hujjatlarni JSON formatida saqlashni qo'llab-quvvatlaydi, so'rovlarni yaratish uchun juda moslashuvchan tilga ega, turli xil saqlangan atributlar uchun indekslarni yaratishi mumkin, katta ikkilik ob'ektlarni samarali saqlashni ta'minlaydi, ma'lumotlar bazasiga ma'lumotlarni o'zgartirish va qo'shish operatsiyalarini qayd qilishni qo'llab-quvvatlaydi. Xarita/Kamaytirish paradigmasiga muvofiq ishlash, replikatsiyani qo'llab-quvvatlaydi va xatolarga chidamli konfiguratsiyalarni qurish.

FerretDB 1.0 dagi o'zgarishlar orasida:

  • CreateIndexes va dropIndexes buyruqlari bir yoki bir nechta indekslarni yaratish va to'plamga tushirish uchun amalga oshiriladi.
  • GetMore buyrug'i topish va yig'ish kabi kursorni qaytarish buyruqlarini bajarishda olingan natijaning yangi qismini chiqarish uchun amalga oshirildi.
  • Guruh qiymatlari yigβ€˜indisini hisoblash uchun $sum aggregate operatori uchun qoβ€˜shimcha yordam qoβ€˜shildi.
  • $limit va $skip operatorlari sonini cheklash va yigΚ»ish paytida hujjatlarni oΚ»tkazib yuborish uchun qoΚ»shilgan yordam.
  • Hujjatlarni jamlash vaqtida hisoblash uchun $count operatori qoΚ»shildi.
  • Kiruvchi hujjatlardagi massiv maydonlarini tahlil qilish va har bir massiv elementi uchun alohida hujjat bilan roΚ»yxat yaratish uchun $unwind operatori uchun qoΚ»shimcha qoΚ»llab-quvvatlash.
  • To'plam va ma'lumotlar bazasi, shuningdek, ma'lumotlar hajmi haqida statistik ma'lumotlarni olish uchun collStats, dbStats va dataSize buyruqlari uchun qisman qo'llab-quvvatlash qo'shildi.

Manba: opennet.ru

DDoS himoyasi, VPS VDS serverlari bo'lgan saytlar uchun ishonchli hosting sotib oling πŸ”₯ DDoS himoyasi, VPS VDS serverlari bilan ishonchli veb-sayt xostingini sotib oling | ProHoster