Izdanje FerretDB 0.3, implementacija MongoDB bazirana na PostgreSQL DBMS

Objavljeno je izdanje FerretDB 0.3 projekta, koji vam omogućava da zamenite dokumentno orijentisani DBMS MongoDB sa PostgreSQL bez promene koda aplikacije. FerretDB je implementiran kao proxy server koji prevodi pozive MongoDB u SQL upite za PostgreSQL, što vam omogućava da koristite PostgreSQL kao stvarnu pohranu. Kod je napisan u Go i distribuiran pod licencom Apache 2.0.

Potreba za migracijom može se pojaviti u vezi sa prelaskom MongoDB-a na vlasničku SSPL licencu, koja je zasnovana na AGPLv3 licenci, ali nije otvorena, budući da sadrži diskriminatorni zahtjev za isporuku pod SSPL licencom ne samo samog koda aplikacije , ali i izvorni kodovi svih komponenti uključenih u pružanje usluge u oblaku.

FerretDB-ova primarna ciljna publika su korisnici koji ne koriste napredne mogućnosti MongoDB-a u svojim aplikacijama, ali žele da koriste potpuno otvoren softverski stog. U trenutnoj fazi razvoja, FerretDB još uvijek podržava samo dio MongoDB mogućnosti koje se najčešće koriste u tipičnim aplikacijama. U budućnosti planiraju postići punu kompatibilnost sa drajverima za MongoDB i pružiti mogućnost korištenja FerretDB-a kao transparentne zamjene za MongoDB.

MongoDB zauzima nišu između brzih i skalabilnih sistema koji rade na podacima ključ/vrijednost i relacionih DBMS-ova koji su funkcionalni i laki za upite. MongoDB podržava pohranjivanje dokumenata u JSON formatu, ima prilično fleksibilan jezik za generiranje upita, može kreirati indekse za različite pohranjene atribute, efikasno obezbjeđuje skladištenje velikih binarnih objekata, podržava evidentiranje operacija za promjenu i dodavanje podataka u bazu podataka, može radi u skladu sa paradigmom Map/Reduce, podržava replikaciju i izgradnju konfiguracija otpornih na greške.

Izdanje FerretDB 0.3 uvelo je naredbu findAndModify, koja modificira dokument, ali ga vraća u originalnu verziju. Implementirani su operatori ažuriranja polja $inc i $set. Dodata podrška za sortiranje skalarnih tipova podataka.

izvor: opennet.ru

Dodajte komentar