Tukunga o FerretDB 0.1, he whakatinanatanga o MongoDB i runga i te PostgreSQL DBMS

Ko te tukunga o te kaupapa FerretDB 0.1 (i mua ko MangoDB) kua whakaputahia, ka taea e koe te whakakapi i te DBMS MongoDB mo te tuhinga me te PostgreSQL me te kore e whakarereke i te waehere tono. Ka whakatinanahia a FerretDB hei tūmau takawaenga e whakamaori ana i nga waea ki MangoDB ki nga patai SQL ki te PostgreSQL, ka taea te whakamahi a PostgreSQL hei rokiroki tuuturu. Ka tuhia te waehere ki te Haere ka tohatohahia i raro i te raihana Apache 2.0.

Ko te hiahia mo te heke ka ara ake na te whakawhiti a MongoDB ki te raihana SSPL rangatira, i ahu mai i te raihana AGPLv3, engari kaore i te tuwhera, na te mea kei roto he whakaritenga whakahirahira ki te tuku i raro i te raihana SSPL ehara i te waehere tono anake, engari ano hoki. te waehere puna o nga waahanga katoa e uru ana ki te ratonga kapua.

Ko te hunga whakarongo a FerretDB ko nga kaiwhakamahi kaore e whakamahi i nga kaha matatau o MongoDB i roto i a raatau tono, engari e hiahia ana ki te whakamahi i tetahi puranga rorohiko tuwhera. I tenei wa o te whakawhanaketanga, kei te tautoko tonu a FerretDB i tetahi waahanga o nga kaha MongoDB e whakamahia ana i roto i nga tono angamaheni. I te wa kei te heke mai, ka whakamahere ratou ki te whakatutuki i te tino hototahi ki nga taraiwa mo MongoDB me te whakarato i te kaha ki te whakamahi i te FerretDB hei whakakapi marama mo MongoDB.

Kia maumahara tatou kei te noho a MongoDB i tetahi kohanga i waenga i nga punaha tere me te tauineine e whakahaere ana i nga raraunga i roto i te whakatakotoranga matua/uara, me nga DBMS hononga e mahi ana, e ngawari ana ki te whakatakoto patai. Ka tautoko a MongoDB ki te penapena tuhinga ki te JSON-rite te ahua, he reo ngawari mo te whakaputa patai, ka taea te hanga tohu mo nga momo huanga rongoa, ka taea te penapena i nga taonga ruarua nui, te tautoko i te takiuru o nga mahi mo te whakarereke me te taapiri raraunga ki te papaa raraunga, ka taea mahi i runga i te tauira Mahere/Whakaiti, e tautoko ana i te tukurua me te hanga o nga whirihoranga he-kore.

Ko te tukunga o FerretDB 0.1.0 i tino hoahoa ano i te tikanga mo te tango raraunga mai i te PostgreSQL. I mua, mo ia tono MongoDB ka tau mai, kotahi te patai SQL i hangaia ki PostgreSQL, ma te whakamahi i nga mahi mo te mahi me te whakatakotoranga JSON me te tātari i nga hua ki te taha PostgreSQL. Na nga rereketanga o nga tohu o te PostgreSQL me te MongoDB json mahi, he rereke te whanonga i te wa e whakataurite ana me te tohatoha momo rereke. Hei whakaoti i tenei raru, kua tangohia nga raraunga mai i te PostgreSQL, a ka tātarihia te hua ki te taha FerretDB, i taea ai te whakahoki i te whanonga o MongoDB i te nuinga o nga ahuatanga.

Ko te utu o te hototahi kua piki ake he hekenga o nga mahi, i nga putanga kei te heke mai ka tumanako ratou ki te utu ma te whiriwhiringa i te taha FerretDB ko nga patai anake he rereke te whanonga. Hei tauira, ko te patai "db.collection.find({_id: 'some-id-value'})" ka taea te tukatuka katoa ki PostgreSQL. Ko te whainga tuatahi o te kaupapa i tenei wahanga o te whakawhanaketanga ko te whakatutuki i te hototahi ki a MongoDB, a ka tukuna nga mahi ki te papamuri mo naianei. I roto i nga huringa mahi i roto i te putanga hou, ko te tautoko mo nga kaiwhakahaere moka katoa, ko te kaiwhakahaere whakatairite "$eq", me nga kaiwhakahaere "$elemMatch" me "$bitsAllClear" kua tuhia.

Source: opennet.ru

Tāpiri i te kōrero