FerretDB 1.0 er allerede utgitt, og dette er nyhetene

FerretDB

FerretDB ble grunnlagt for å bli de facto åpen kildekode-erstatning for MongoDB.

Lanseringen av ny versjon av FerretDB 1.0-prosjektet, som lar deg erstatte MongoDBs dokumentorienterte DBMS med PostgreSQL uten å gjøre noen endringer i applikasjonskoden. FerretDB er implementert som en proxy-server som oversetter MongoDB-anrop i SQL-spørringer til PostgreSQL, slik at du kan bruke PostgreSQL som faktisk lagring.

Versjon 1.0 er merket som den første stabile utgivelsen klar for generell bruk. FerretDBs primære målgruppe er brukere som ikke bruker de avanserte funksjonene til MongoDB i sine applikasjoner, men ønsker å bruke en helt åpen programvarestabel.

På det nåværende utviklingsstadiet, FerretDB støtter et undersett av MongoDB-funksjoner som er mest brukt i typiske applikasjoner. Behovet for å implementere FerretDB kan oppstå i forbindelse med overgangen av MongoDB til en ikke-fri SSPL-lisens, som er basert på AGPLv3-lisensen, men ikke er åpen kildekode, da den inneholder et diskriminerende krav om å levere under SSPL-lisensen, ikke bare selve applikasjonskoden, men også kildekodene til alle komponentene som er involvert i leveringen av skytjenester.

MongoDB opptar en nisje mellom raske og skalerbare systemer som opererer på nøkkel-/verdidata og DBMS-er relasjonsdatabaser som er funksjonelle og enkle å søke etter. MongoDB støtter lagring av dokumenter i et JSON-lignende format, har et ganske fleksibelt språk for å bygge spørringer, kan lage indekser for ulike lagrede attributter, gir effektiv lagring av binære store objekter, støtter loggingsoperasjoner for å endre og legge til data til databasen, kan fungere i henhold til Map/Reduce-paradigmet, støtter replikering og bygging av feiltolerante konfigurasjoner.

Hovednyhetene til FerretDB 1.0

I denne nye versjonen som presenteres er det fremhevet at kommandoene createIndex og dropIndex er implementert å opprette og plassere en eller flere indekser på en samling, i tillegg til kommandoen getMore ble implementert for å vise en ny del av det hentede resultatet fra å utføre kommandoer som returnerer en markør, for eksempel finn og legg til.

En annen av endringene som skiller seg ut fra den nye versjonen lagt til støtte for $sum aggregeringsoperatøren å beregne summen av gruppeverdier, samt hva som ble lagt til støtte for operatørene $limit og $skip for å begrense antallet og hoppe over dokumenter når du legger til, og at støtte for $count-operatøren ble lagt til for å telle dokumenter når du legger til.

I tillegg til dette bemerkes det også at støtte for $unwind-operatoren ble lagt til for å analysere array-feltene i innkommende dokumenter og danne en liste med et eget dokument for hvert element i arrayen og også lagt til delvis støtte for kommandoene collStats , dbStats og dataSize for å få innsamlings- og databasestatistikk og størrelsen på dataene.

Av andre endringer som skiller seg ut av den nye versjonen:

  • Iteratorer brukes nå for `sort`, `limit`, `skip` og `projection`
  • bump avhengigheter
  • Ressurssporingsforbedringer
  • Lagt til tester for "hopp"-argumentet "finn" og "tell".
  • Lukk iteratoren ordentlig
  • Forbedringer av initialisering av store tall i testdata

Endelig hvis du er interessert i å vite mer om det, kan du sjekke detaljene I den følgende lenken.

For de som er interessert i koden, bør du vite at den er skrevet i Go og distribueres under Apache 2.0-lisensen.

Og det burde de vite den beste måten å teste FerretDB på er å modifisere den og kjøre den på verten (Linux, macOS eller Windows) med PostgreSQL og andre avhengigheter som kjører i Docker-beholdere via Docker Compose.

På Linux må docker være installert på verten. På macOS og Windows må Docker Desktop brukes, mens på Windows må det konfigureres til å bruke WSL 2 uten distribusjon; alle kommandoer må utføres på verten.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: AB Internet Networks 2008 SL
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.