Sgaoileadh FerretDB 0.1, buileachadh MongoDB stèidhichte air PostgreSQL DBMS

Chaidh sgaoileadh a’ phròiseict FerretDB 0.1 (MangoDB roimhe) fhoillseachadh, a’ toirt cothrom dhut PostgreSQL a chuir an àite an DBMS MongoDB a tha ag amas air sgrìobhainnean gun a bhith a’ dèanamh atharrachaidhean air a’ chòd tagraidh. Tha FerretDB air a chuir an gnìomh mar fhrithealaiche proxy a bhios ag eadar-theangachadh fiosan gu MangoDB gu ceistean SQL gu PostgreSQL, a’ leigeil le PostgreSQL a chleachdadh mar fhìor stòradh. Tha an còd sgrìobhte ann an Go agus air a chuairteachadh fo chead Apache 2.0.

Dh’ fhaodadh an fheum air imrich èirigh mar thoradh air gluasad MongoDB gu cead seilbh SSPL, a tha stèidhichte air cead AGPLv3, ach nach eil fosgailte, leis gu bheil riatanas leth-bhreith ann airson lìbhrigeadh fo chead SSPL chan e a-mhàin an còd tagraidh fhèin, ach cuideachd còd stòr a h-uile pàirt a tha an sàs ann an solar seirbheis sgòthan.

Is e luchd-èisteachd targaid FerretDB luchd-cleachdaidh nach bi a’ cleachdadh comasan adhartach MongoDB anns na tagraidhean aca, ach a tha airson stac bathar-bog gu tur fosgailte a chleachdadh. Aig an ìre leasachaidh a th’ ann an-dràsta, tha FerretDB fhathast a’ toirt taic do dìreach pàirt de na comasan MongoDB a thathas a’ cleachdadh gu tric ann an tagraidhean àbhaisteach. Anns an àm ri teachd, tha iad an dùil làn cho-chòrdalachd a choileanadh le draibhearan airson MongoDB agus an comas a thoirt seachad FerretDB a chleachdadh mar àite follaiseach airson MongoDB.

Cuimhnich gu bheil MongoDB ann an àite sònraichte eadar siostaman luath agus so-ruigsinneach a bhios ag obair air dàta ann an cruth iuchair / luach, agus DBMS dàimheach, obrachail agus goireasach ann a bhith a’ togail cheistean. Tha MongoDB a’ toirt taic do bhith a’ stòradh sgrìobhainnean ann an cruth coltach ri JSON, tha cànan gu math sùbailte aige airson ceistean a ghineadh, is urrainn dhaibh clàran-amais a chruthachadh airson diofar bhuadhan a tha air an stòradh, gu h-èifeachdach a’ stòradh nithean mòra dà-chànanach, a’ toirt taic do logadh obrachaidhean gus dàta atharrachadh agus a chur ris an stòr-dàta, is urrainn ag obair a rèir a’ phàtran Mapa/Lùghdaich, a’ toirt taic do ath-riochdachadh agus a’ togail rèiteachaidhean fulangach air lochdan.

Rinn sgaoileadh FerretDB 0.1.0 ath-dhealbhadh gu tur air an dòigh air dàta fhaighinn air ais bho PostgreSQL. Roimhe sin, airson gach iarrtas MongoDB a bha a’ tighinn a-steach, chaidh aon cheist SQL a chruthachadh gu PostgreSQL, a’ cleachdadh gnìomhan airson a bhith ag obair le cruth JSON agus a’ sìoladh nan toraidhean air taobh PostgreSQL. Mar thoradh air eadar-dhealachaidhean ann an semantics gnìomhan PostgreSQL agus MongoDB json, bha eadar-dhealachadh ann an giùlan nuair a bha iad a’ dèanamh coimeas agus a’ rèiteach diofar sheòrsaichean. Gus an duilgheadas seo fhuasgladh, tha dàta a-nis air a thoirt a-mach gun fheum bho PostgreSQL, agus tha an toradh air a shìoladh air taobh FerretDB, a rinn e comasach giùlan MongoDB ath-aithris anns a’ mhòr-chuid de shuidheachaidhean.

Bha prìs co-fhreagarrachd nas àirde na lughdachadh ann an coileanadh, a tha iad an dùil ann am fiosan san àm ri teachd a dhìoladh le bhith a’ sìoladh gu roghnach air taobh FerretDB a-mhàin ceistean far a bheil eadar-dhealachadh ann an giùlan. Mar eisimpleir, faodar a' cheist "db.collection.find ({_id: 'some-id-value'})" a phròiseasadh gu tur ann am PostgreSQL. Is e prìomh amas a’ phròiseict aig an ìre leasachaidh seo co-chòrdalachd a choileanadh le MongoDB, agus tha coileanadh air a chuir sìos chun chùl airson a-nis. Am measg nan atharrachaidhean gnìomh anns an dreach ùr, tha taic airson a h-uile gnìomhaiche bit, an gnìomhaiche coimeas “$ eq”, a bharrachd air na gnìomhaichean “$ elemMatch” agus “$bitsAllClear” air an toirt fa-near.

Source: fosgailtenet.ru

Cuir beachd ann