Prva stabilna izdaja FerretDB, implementacija MongoDB na osnovi SGBD PostgreSQL

Objavljen je izdanak projekta FerretDB 1.0, koji omogućava zamenu dokumentno-orijentisane baze podataka MongoDB sa PostgreSQL bez izmene koda aplikacija. FerretDB je implementiran kao proxy server, koji prenosi zahteve za MongoDB u SQL upite za PostgreSQL, što omogućava korišćenje PostgreSQL kao stvarnog skladišta podataka. Verzija 1.0 označena je kao prvo stabilno izdanje, spremno za široku upotrebu. Kod je napisan na jeziku Go i distribuira se pod Apache 2.0 licenci.

Osnovna ciljana publika FerretDB-a su korisnici koji ne koriste napredne mogućnosti MongoDB-a u svojim aplikacijama, ali žele da koriste potpuno otvoreni softverski paket. U trenutnoj fazi razvoja, FerretDB podržava podskup mogućnosti MongoDB-a, najčešće korišćenih u standardnim aplikacijama. Potreba za implementacijom FerretDB-a može se javiti u vezi sa prelaskom MongoDB-a na nelicenciranu SSPL licencu, koja je zasnovana na AGPLv3 licenci, ali nije otvorena, jer sadrži diskriminatorni zahtev o isporuci pod SSPL licencom ne samo koda same aplikacije, već i izvornog koda svih komponenti uključenih u pružanje cloud usluge.

MongoDB zauzima mesto između brzih i skalabilnih sistema koji upravljaju podacima u formatu ključ/vrednost i relacijskih baza podataka, funkcionalnih i pogodnih za formulisanje upita. MongoDB podržava skladištenje dokumenata u JSON-sličnom formatu, ima dovoljno fleksibilan jezik za formulisanje upita, može kreirati indekse za različite skladištene atribute, efikasno obezbeđuje skladištenje velikih binarnih objekata, podržava logovanje operacija izmene i dodavanja podataka u bazu podataka, može raditi prema paradigmi Map/Reduce, podržava replikaciju i izgradnju otpornih konfiguracija.

Među promenama u FerretDB 1.0:

  • Implementirane su komande createIndexes i dropIndexes za stvaranje i brisanje jednog ili više indeksa za kolekciju.
  • Implementirana je komanda getMore za prikaz nove serije rezultata dobijenih izvršavanjem komandi koje vraćaju kursor, kao što su find i aggregate.
  • Dodata je podrška za agregacijski operator $sum za izračunavanje zbira vrednosti grupe.
  • Dodana podpora za operaterje $limit in $skip za omejevanje števila in preskakovanje dokumentov med agregacijo.
  • Dodana podpora za operater $count za štetje dokumentov med agregacijo.
  • Dodana podpora za operater $unwind za razčlenjevanje polj matrike v vhodnih dokumentih in oblikovanje seznama z ločenim dokumentom za vsak element matrike.
  • Dodana delna podpora za ukaze collStats, dbStats in dataSize za pridobivanje statistike o zbirki in bazi podatkov ter velikosti podatkov.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster