à publikua versione 1.0 e projektit FerretDB, që lejon zëvendësimin e DBMS me dokumente MongoDB me PostgreSQL pa bërë ndryshime në kodin e aplikacioneve. FerretDB është implementuar si një server proxy, i cili përkthen kërkesat për MongoDB në kërkesa SQL për PostgreSQL, duke lejuar përdorimin e PostgreSQL si depo reale. Versioni 1.0 shënohet si lëshimi i parë stabil, i gatshëm për përdorim të gjerë. Kodi është shkruar në gjuhën Go dhe shpërndahet nën licencën Apache 2.0.
Grupi primar i audiencës së FerretDB janë përdoruesit që nuk shfrytëzojnë në aplikacionet e tyre funksionalitetet e avancuara të MongoDB, por dëshirojnë të përdorin një teknologji plotësisht të hapur. Në këtë fazë të zhvillimit, FerretDB mbështet një nëngrup të mundësive të MongoDB, të cilat përdoren më shpesh në aplikacione standarde. Nevoja për implementimin e FerretDB mund të lindë si rezultat i kalimit të MongoDB në një licencë jo të hapur SSPL, e cila bazohet në licencën AGPLv3, por nuk është e hapur, pasi përmban një kërkesë diskriminuese për dorëzimin nën licencën SSPL jo vetëm për kodin e vet aplikacionit, por edhe për kodin burimor të të gjitha komponenteve të involvuara në ofrimin e shërbimit në re.
MongoDB zĂ« njĂ« niĆĂ« midis sistemeve tĂ« shpejta dhe tĂ« shkallĂ«zueshme qĂ« operojnĂ« me tĂ« dhĂ«nat nĂ« formatin çelĂ«s/vlerĂ« dhe bazat e tĂ« dhĂ«nave relacionale, funksionale dhe tĂ« lehta pĂ«r formimin e kĂ«rkesave. MongoDB mbĂ«shtet ruajtjen e dokumenteve nĂ« njĂ« format tĂ« ngjashĂ«m me JSON, ka njĂ« gjuhĂ« tĂ« mjaftueshme fleksibile pĂ«r formimin e kĂ«rkesave, mund tĂ« krijojĂ« indekse pĂ«r atributet e ndryshme tĂ« ruajtura, siguron ruajtjen efektive tĂ« objekteve binarĂ« tĂ« mĂ«dhenj, mbĂ«shtet regjistrimin e operacioneve pĂ«r ndryshimin dhe shtimin e tĂ« dhĂ«nave nĂ« DB, mund tĂ« punojĂ« sipas paradigmat Map/Reduce, mbĂ«shtet replikimin dhe ndĂ«rtimin e konfigurimeve tĂ« qĂ«ndrueshme.
Ndër ndryshimet në FerretDB 1.0:
- Janë implementuar komandat createIndexes dhe dropIndexes për krijimin dhe fshirjen e një ose më shumë indekseve për koleksionin.
- ĂshtĂ« implementuar komanda getMore pĂ«r tĂ« nxjerrĂ« njĂ« sasi tĂ« re rezultatesh tĂ« marra nga ekzekutimi i komandave qĂ« kthejnĂ« kursorin, si find dhe aggregate.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r operatorin agregues $sum pĂ«r llogaritjen e shumĂ«s sĂ« vlerave tĂ« grupit.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r operatorĂ«t $limit dhe $skip pĂ«r tĂ« kufizuar numrin dhe pĂ«r tĂ« anashkaluar dokumentet gjatĂ« agregimit.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r operatorin $count pĂ«r numĂ«rimin e dokumenteve gjatĂ« agregimit.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r operatorin $unwind pĂ«r tĂ« shpĂ«rbĂ«rĂ« fushat e arrays nĂ« dokumentet hyrĂ«se dhe pĂ«r tĂ« formuar njĂ« listĂ« me njĂ« dokument tĂ« veçantĂ« pĂ«r secilin element tĂ« array-t.
- ĂshtĂ« shtuar mbĂ«shtetje e pjesshme pĂ«r komandat collStats, dbStats dhe dataSize pĂ«r tĂ« marrĂ« statistikĂ«n mbi koleksionin dhe DB-nĂ«, si dhe pĂ«r madhĂ«sinĂ« e tĂ« dhĂ«nave.
Burimi: opennet.ru
