Kuburitswa kweFerretDB 0.1, kuita kweMongoDB kwakavakirwa paPostgreSQL DBMS

Kuburitswa kweiyo FerretDB 0.1 purojekiti (yaimbova MangoDB) yakadhindwa, ichikubvumidza kuti utore iyo DBMS MongoDB inotungamirwa negwaro nePostgreSQL usingaite shanduko kukodhi yekushandisa. FerretDB inoshandiswa sevhavhavhavha inoshandura mafoni kuMangoDB kuita SQL mibvunzo kuPostgreSQL, ichibvumira PostgreSQL kuti ishandiswe sechichengetedzo chaicho. Iyo kodhi yakanyorwa muGo uye yakagoverwa pasi peiyo Apache 2.0 rezinesi.

Iko kudiwa kwekutama kunogona kusimuka nekuda kwekuchinja kweMongoDB kuenda kune rezenisi reSSPL, iro rakavakirwa paAGPLv3 rezinesi, asi risingavhurike, nekuti riine rusarura runodiwa kuendesa pasi perezinesi reSSPL kwete chete kodhi yekunyorera pachayo, asiwo. iyo kodhi kodhi yezvinhu zvese zvinosanganisirwa mukupihwa kwegore sevhisi.

FerretDB inonangwa nevateereri vashandisi vasingashandise hunyanzvi hweMongoDB mumashandisirwo avo, asi vanoda kushandisa yakavhurika software stack. Padanho razvino rebudiriro, FerretDB ichiri kutsigira chikamu chete cheMongoDB hunyanzvi iyo inonyanya kushandiswa mumashandisirwo akajairika. Mune ramangwana, vanoronga kuwana kuenderana kuzere nevatyairi veMongoDB uye nekupa kugona kushandisa FerretDB sekutsiva kwakajeka kweMongoDB.

Ngatiyeukei kuti MongoDB inogara niche pakati pekukurumidza uye scalable masisitimu anoshandisa data mukiyi / kukosha fomati, uye ane hukama maDBMS anoshanda uye ari nyore kugadzira mibvunzo. MongoDB inotsigira kuchengetedza magwaro mune JSON-yakaita fomati, ine mutauro unochinjika wekuita mibvunzo, inogona kugadzira indexes yeakasiyana akachengetwa hunhu, zvinogoneka inopa chengetedzo yezvinhu zvakakura zvebhinari, inotsigira kutema mabasa ekuchinja uye kuwedzera data kune dhatabhesi, inogona shanda zvinoenderana neparadigm Mepu / Kuderedza, inotsigira kudzokorora uye kuvaka kwekukanganisa-kushivirira zvigadziriso.

Kuburitswa kweFerretDB 0.1.0 kwakanyatso gadziridza nzira yekudzoreredza data kubva kuPostgreSQL. Pakutanga, pachikumbiro chega chega cheMongoDB chinouya, mubvunzo umwe weSQL wakagadzirwa kuPostgreSQL, uchishandisa mabasa ekushanda neiyo JSON fomati uye kusefa mhedzisiro padivi rePostgreSQL. Nekuda kwekusiyana kwemasemantics ePostgreSQL uye MongoDB json mabasa, pakange paine mutsauko mukuita pakufananidza nekurongedza marudzi akasiyana. Kugadzirisa dambudziko iri, data yave kutorwa zvakare kubva kuPostgreSQL, uye mhedzisiro yacho inosefa parutivi rweFerretDB, izvo zvakaita kuti zvikwanise kudzokorora maitiro eMongoDB mumamiriro mazhinji.

Mutengo wekuwedzera kuenderana kwaive kudzikira kwekuita, uko mune ramangwana kuburitswa kwavanotarisira kuripa nekusarudza kusefa padivi reFerretDB chete mibvunzo ine mutsauko mukuzvibata. Semuenzaniso, mubvunzo "db.collection.find({_id: 'some-id-value'})" inogona kugadziriswa zvachose muPostgreSQL. Chinangwa chikuru chepurojekiti panguva ino yebudiriro ndechekuwana kuenderana neMongoDB, uye kuita kunodzoserwa kumashure ikozvino. Pakati peshanduko dzinoshanda mushanduro itsva, tsigiro yevashandisi vese, "$eq" yekuenzanisa opareta, pamwe ne "$elemMatch" uye "$bitsAllClear" vanoshanda inocherechedzwa.

Source: opennet.ru

Voeg