Është publikuar versioni 0.7 i projektit FerretDB, i cili lejon zëvendësimin e bazës së të dhënave dokumentale MongoDB me PostgreSQL pa bërë ndryshime në kodin e aplikacioneve. FerretDB është realizuar si një server proxy, që përkthef kërkesat drejt MongoDB në pyetje SQL për PostgreSQL, duke lejuar përdorimin e PostgreSQL si depo reale. Kodi është shkruar në gjuhën Go dhe shpërndahet nën licencën Apache 2.0.
Nevoja për migrim mund të lindë për shkak të kalimit të MongoDB në një licencë jo të lirë SSPL, e cila bazohet në licencën AGPLv3, por nuk është e hapur, pasi përmban një kërkesë diskriminuese në lidhje me shpërndarjen nën licencën SSPL jo vetëm për kodin e vetë aplikacioneve, por gjithashtu për burimet e të gjithë komponentëve të përfshirë në ofrimin e shërbimit në re.
Grupi kryesor i audiencës për FerretDB janë përdoruesit që nuk e përdorin në aplikacionet e tyre potencialin e avancuar të MongoDB, por dëshirojnë të përdorin një paketë programore plotësisht të hapur. Në këtë fazë të zhvillimit, FerretDB përkrah vetëm një pjesë të funksionaliteteve të MongoDB, më së shumti të përdorura në aplikacione tipike. Në të ardhmen planifikohet të arrihet përputhshmëria e plotë me drejtuesit për MongoDB dhe të sigurohet mundësia për të përdorur FerretDB si një zëvendësim transparent për MongoDB.
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 0.7:
- Është implementuar komanda diagnostike msg_explain, e nevojshme për platformën Tigris.
- Komandës listCollections i është shtuar mbështetje për filtra (opcija "filter").
- Është lejuar përdorimi i simbolit "-" në emrat e bazave të të dhënave.
- Numri i parametrave të mbështetur në komandën find është rritur.
- Në paketën wire me realizimin e protokollit "wire" (protokoll për ndërveprimin me MongoDB) është shtuar mundësia e verifikimit të dokumenteve. Versioni minimal i mbështetur i protokollit wire është ulur në 13, që korrespondon me MongoDB 5.0.
Burimi: opennet.ru
