FerretDB бірінші тұрақты шығарылымы, PostgreSQL ДҚБЖ негізіндегі MongoDB іске асыру

FerretDB 1.0 жобасының шығарылымы жарияланды, ол құжатқа бағытталған MongoDB ДҚБЖ қолданбасының кодына өзгерістер енгізбей PostgreSQL-мен ауыстыруға мүмкіндік береді. FerretDB MongoDB-ге қоңырауларды SQL сұрауларына PostgreSQL-ге аударатын прокси-сервер ретінде жүзеге асырылады, бұл PostgreSQL-ті нақты сақтау орны ретінде пайдалануға мүмкіндік береді. 1.0 нұсқасы жалпы пайдалануға дайын бірінші тұрақты шығарылым ретінде белгіленген. Код Go бағдарламасында жазылған және Apache 2.0 лицензиясы бойынша таратылады.

FerretDB-тің негізгі мақсатты аудиториясы - қолданбаларында MongoDB кеңейтілген мүмкіндіктерін пайдаланбайтын, бірақ толығымен ашық бағдарламалық құрал стегін пайдаланғысы келетін пайдаланушылар. Қазіргі даму кезеңінде FerretDB типтік қолданбаларда жиі қолданылатын MongoDB мүмкіндіктерінің жиынын қолдайды. FerretDB енгізу қажеттілігі MongoDB-тің AGPLv3 лицензиясына негізделген меншікті SSPL лицензиясына көшуіне байланысты туындауы мүмкін, бірақ ашық емес, өйткені ол тек қолданба кодын ғана емес SSPL лицензиясы бойынша жеткізуге қатысты кемсітушілік талаптарды қамтиды. өзі, сонымен қатар бұлттық қызметті ұсынуға қатысатын барлық компоненттердің бастапқы кодтары.

MongoDB кілт/мән пішіміндегі деректерде жұмыс істейтін жылдам және масштабталатын жүйелер мен функционалды және сұрауларды құрастыру оңай реляциялық ДҚБЖ арасында орын алады. MongoDB құжаттарды JSON тәрізді пішімде сақтауды қолдайды, сұрауларды жасау үшін жеткілікті икемді тілге ие, әртүрлі сақталған атрибуттар үшін индекстерді жасай алады, үлкен екілік нысандардың сақталуын тиімді қамтамасыз етеді, деректер базасына деректерді өзгерту және қосу операцияларын тіркеуді қолдайды, мүмкін Карта/Кішірейту парадигмасына сәйкес жұмыс істеу, қатеге төзімді конфигурацияларды қайталауды және құруды қолдайды.

FerretDB 1.0 өзгерістерінің арасында:

  • CreateIndexes және dropIndexes пәрмендері жинақта бір немесе бірнеше индекстерді жасау және жою үшін орындалды.
  • getMore пәрмені курсорды қайтаратын пәрмендерді орындау нәтижесінде алынған нәтиженің жаңа бөлігін көрсету үшін іске асырылды, мысалы, табу және біріктіру.
  • Топ мәндерінің қосындысын есептеу үшін $sum біріктіру операторына қолдау қосылды.
  • $limit және $skip операторларына біріктіру кезінде құжаттардың санын шектеу және өткізіп жіберу үшін қолдау қосылды.
  • Жинақтау кезінде құжаттарды санау үшін $count операторына қолдау қосылды.
  • Кіріс құжаттардағы массив өрістерін талдау және әрбір жиым элементі үшін бөлек құжаты бар тізім жасау үшін $unwind операторына қолдау қосылды.
  • Жинақ және дерекқор, сондай-ақ деректер өлшемі туралы статистиканы алу үшін collStats, dbStats және dataSize пәрмендері үшін ішінара қолдау қосылды.

Ақпарат көзі: opennet.ru

пікір қалдыру