FerretDB 1.0 er allerede blevet frigivet, og dette er nyhederne

FerretDB

FerretDB blev grundlagt for at blive den de facto open source-erstatning for MongoDB.

Lanceringen af ny version af FerretDB 1.0-projektet, som giver dig mulighed for at erstatte MongoDBs dokumentorienterede DBMS med PostgreSQL uden at foretage ændringer i din applikationskode. FerretDB er implementeret som en proxyserver, der oversætter MongoDB-kald i SQL-forespørgsler til PostgreSQL, så du kan bruge PostgreSQL som faktisk lagring.

Version 1.0 er markeret som den første stabile udgivelse klar til generel brug. FerretDBs primære målgruppe er brugere, der ikke bruger de avancerede funktioner i MongoDB i deres applikationer, men ønsker at bruge en helt åben softwarestak.

På sit nuværende udviklingsstadium, FerretDB understøtter en delmængde af MongoDB-funktioner der er mest almindeligt anvendt i typiske applikationer. Behovet for at implementere FerretDB kan opstå i forbindelse med overgangen af ​​MongoDB til en ikke-fri SSPL-licens, som er baseret på AGPLv3-licensen, men ikke er open source, da den indeholder et diskriminerende krav om at levere under SSPL-licensen ikke kun selve applikationskoden, men også kildekoderne for alle de komponenter, der er involveret i leveringen af ​​cloud-tjenester.

MongoDB indtager en niche mellem hurtige og skalerbare systemer, der opererer på nøgle/værdidata og DBMS'er relationelle databaser, der er funktionelle og nemme at forespørge på. MongoDB understøtter lagring af dokumenter i et JSON-lignende format, har et ret fleksibelt sprog til opbygning af forespørgsler, kan oprette indekser til forskellige lagrede attributter, giver effektiv lagring af binære store objekter, understøtter logningsoperationer til ændring og tilføjelse af data til databasen, kan arbejde i henhold til Map/Reduce-paradigmet, understøtter replikering og opbygning af fejltolerante konfigurationer.

De vigtigste nyheder i FerretDB 1.0

I denne nye version, der præsenteres, fremhæves det kommandoerne createIndex og dropIndex er blevet implementeret at oprette og placere et eller flere indekser på en samling, ud over kommandoen getMore blev implementeret for at vise et nyt udsnit af det hentede resultat fra at udføre kommandoer, der returnerer en markør, såsom find og add.

Endnu en af ​​de ændringer, der skiller sig ud fra den nye version tilføjet understøttelse af $sum-aggregationsoperatøren at beregne summen af ​​gruppeværdier, samt hvad der blev tilføjet understøttelse af operatørerne $limit og $skip at begrænse antallet og springe dokumenter over ved tilføjelse, og at understøttelse af $count-operatoren blev tilføjet for at tælle dokumenter ved tilføjelse.

Udover dette bemærkes det også, at understøttelse af $unwind-operatoren blev tilføjet for at parse array-felterne i indgående dokumenter og danne en liste med et separat dokument for hvert element i arrayet og også tilføjet delvis understøttelse af kommandoerne collStats , dbStats og dataSize for at få indsamlings- og databasestatistik og størrelsen af ​​dataene.

Af andre ændringer, der skiller sig ud af den nye version:

  • Iteratorer bruges nu til "sort", "limit", "spring" og "projektion".
  • bump afhængigheder
  • Forbedringer af ressourcesporing
  • Tilføjede tests for "spring"-argumentet "find" og "tæller".
  • Luk iteratoren ordentligt
  • Forbedringer til initialisering af store tal i testdata

Endelig hvis du er interesseret i at vide mere om det, kan du kontrollere detaljerne I det følgende link.

For dem, der er interesseret i koden, skal du vide, at den er skrevet i Go og distribueres under Apache 2.0-licensen.

Og det burde de vide den bedste måde at teste FerretDB på er at ændre den og køre den på værten (Linux, macOS eller Windows) med PostgreSQL og andre afhængigheder, der kører inde i Docker-containere via Docker Compose.

På Linux skal docker være installeret på værten. På macOS og Windows skal Docker Desktop bruges, mens det på Windows skal konfigureres til at bruge WSL 2 uden nogen distribution; alle kommandoer skal udføres på værten.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for data: AB Internet Networks 2008 SL
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.