Išleista FerretDB 0.3, MongoDB diegimas, pagrįstas PostgreSQL DBVS

Paskelbtas FerretDB 0.3 projekto leidimas, leidžiantis pakeisti į dokumentus orientuotą DBVS MongoDB su PostgreSQL nekeičiant programos kodo. FerretDB yra įdiegtas kaip tarpinis serveris, kuris iškvietimus į MongoDB paverčia SQL užklausomis į PostgreSQL, o tai leidžia naudoti PostgreSQL kaip tikrąją saugyklą. Kodas parašytas Go ir platinamas pagal Apache 2.0 licenciją.

Perkėlimo poreikis gali iškilti dėl MongoDB perėjimo prie patentuotos SSPL licencijos, kuri yra pagrįsta AGPLv3 licencija, bet nėra atvira, nes joje yra diskriminacinis reikalavimas pagal SSPL licenciją pateikti ne tik patį programos kodą. , bet ir visų komponentų, dalyvaujančių teikiant debesies paslaugą, šaltinio kodus.

FerretDB pagrindinė tikslinė auditorija yra vartotojai, kurie savo programose nenaudoja pažangių MongoDB galimybių, bet nori naudoti visiškai atvirą programinės įrangos krūvą. Dabartiniame kūrimo etape FerretDB vis dar palaiko tik dalį MongoDB galimybių, kurios dažniausiai naudojamos tipinėse programose. Ateityje jie planuoja pasiekti visišką suderinamumą su MongoDB tvarkyklėmis ir suteikti galimybę naudoti FerretDB kaip skaidrų MongoDB pakaitalą.

„MongoDB“ užima nišą tarp greitų ir keičiamo dydžio sistemų, veikiančių pagal rakto / vertės duomenis, ir reliacinių DBVS, kurios yra funkcionalios ir lengvai pateikiamos užklausos. „MongoDB“ palaiko dokumentų saugojimą į JSON panašų formatą, turi gana lanksčią užklausų generavimo kalbą, gali kurti indeksus įvairiems saugomiems atributams, efektyviai saugo didelius dvejetainius objektus, palaiko operacijų registravimą duomenų keitimui ir įtraukimui į duomenų bazę, gali dirbti pagal paradigmą Map/Reduce, palaiko replikaciją ir gedimams atsparių konfigūracijų kūrimą.

FerretDB 0.3 leidimas pristatė komandą findAndModify, kuri modifikuoja dokumentą, bet grąžina jo pradinę versiją. Įdiegti lauko naujinimo operatoriai $inc ir $set. Pridėtas skaliarinių duomenų tipų rūšiavimo palaikymas.

Šaltinis: opennet.ru

Добавить комментарий