FerretDB 0.3 proiektuaren oharra argitaratu da, eta horri esker, dokumentuetara zuzendutako MongoDB DBMS PostgreSQLrekin ordeztu dezakezu aplikazioaren kodean aldaketarik egin gabe. FerretDB proxy zerbitzari gisa inplementatuta dago, MongoDB-rako deiak PostgreSQL-rako SQL kontsultetara itzultzen dituena, eta horrek PostgreSQL benetako biltegiratze gisa erabiltzeko aukera ematen du. Kodea Go-n idatzita dago eta Apache 2.0 lizentziapean banatzen da.
Migrazioaren beharra sor daiteke MongoDB jabedun SSPL lizentziara igarotzearekin lotuta, hau da, AGPLv3 lizentzian oinarritzen dena, baina ez dago irekita, SSPL lizentziapean entregatzeko eskakizun diskriminatzailea baitauka, ez bakarrik aplikazio kodea bera. , baina baita hornikuntza hodeiko zerbitzuan parte hartzen duten osagai guztien iturburu-kodeak ere.
FerretDB-ren helburu nagusia beren aplikazioetan MongoDB-ren gaitasun aurreratuak erabiltzen ez dituzten erabiltzaileak dira, baina software-pila guztiz irekia erabili nahi duten erabiltzaileak dira. Gaur egungo garapen-fasean, FerretDB-k aplikazio tipikoetan gehien erabiltzen diren MongoDB gaitasunen zati bat baino ez du onartzen oraindik. Etorkizunean, MongoDB-ren kontrolatzaileekin bateragarritasun osoa lortzeko asmoa dute eta FerretDB MongoDB-ren ordezko garden gisa erabiltzeko gaitasuna eskaintzea.
MongoDB sistema azkar eta eskalagarrien arteko nitxo bat hartzen du gako/balioen datuekin eta funtzionalak eta kontsultatzeko errazak diren DBMS erlazionalak. MongoDB-k dokumentuak JSON antzeko formatuan biltegiratzea onartzen du, kontsultak sortzeko nahiko lengoaia malgua du, gordetako hainbat atribututarako indizeak sor ditzake, objektu bitar handiak modu eraginkorrean biltegiratzen ditu, datu-basean aldatzeko eta datuak gehitzeko eragiketen erregistroa onartzen du. Map/Reduce paradigmaren arabera lan egin, erreplikatzea eta akatsekiko tolerantzia-konfigurazioak eraikitzea onartzen du.
Π Π²ΡΠΏΡΡΠΊΠ΅ FerretDB 0.3 ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° findAndModify ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΠ°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ, Π½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠ°Ρ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ β $inc ΠΈ $set. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠΊΠ°Π»ΡΡΠ½ΡΡ
ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ
.
Iturria: opennet.ru