FerretDB 1.0 har redan släppts och det här är dess nyheter

FerretDB

FerretDB grundades för att bli den de facto ersättaren med öppen källkod för MongoDB.

Lanseringen av ny version av FerretDB 1.0-projektet, som låter dig ersätta MongoDB:s dokumentorienterade DBMS med PostgreSQL utan att göra några ändringar i din applikationskod. FerretDB är implementerad som en proxyserver som översätter MongoDB-anrop i SQL-frågor till PostgreSQL, så att du kan använda PostgreSQL som faktisk lagring.

Version 1.0 är markerad som den första stabila versionen redo för allmän användning. FerretDBs primära målgrupp är användare som inte använder de avancerade funktionerna i MongoDB i sina applikationer, utan vill använda en helt öppen mjukvarustack.

På sitt nuvarande utvecklingsstadium, FerretDB stöder en delmängd av MongoDB-funktioner som är vanligast i vanliga applikationer. Behovet av att implementera FerretDB kan uppstå i samband med övergången av MongoDB till en icke-fri SSPL-licens, som är baserad på AGPLv3-licensen, men inte är öppen källkod, eftersom den innehåller ett diskriminerande krav att tillhandahålla under SSPL-licensen inte bara själva applikationskoden, men även källkoderna för alla komponenter som är involverade i tillhandahållandet av molntjänster.

MongoDB upptar en nisch mellan snabba och skalbara system som arbetar på nyckel-/värdedata och DBMS relationsdatabaser som är funktionella och lätta att söka efter. MongoDB stöder lagring av dokument i ett JSON-liknande format, har ett ganska flexibelt språk för att bygga frågor, kan skapa index för olika lagrade attribut, ger effektiv lagring av binära stora objekt, stöder loggningsoperationer för att ändra och lägga till data i databasen, kan fungera enligt Map/Reduce-paradigmet, stöder replikering och att bygga feltoleranta konfigurationer.

De viktigaste nyheterna i FerretDB 1.0

I denna nya version som presenteras lyfts det fram att kommandona createIndex och dropIndex har implementerats för att skapa och placera ett eller flera index på en samling, förutom kommandot getMore implementerades för att visa en ny del av det hämtade resultatet från att köra kommandon som returnerar en markör, till exempel hitta och lägg till.

En annan av ändringarna som sticker ut från den nya versionen lagt till stöd för $sum-aggregationsoperatorn att beräkna summan av gruppvärden, samt vad som lagts till stöd för operatörerna $limit och $skip för att begränsa antalet och hoppa över dokument vid tillägg och att stöd för $count-operatorn lades till för att räkna dokument vid tillägg.

Utöver detta noteras det också att stöd för $unwind-operatorn lades till för att analysera arrayfälten i inkommande dokument och bilda en lista med ett separat dokument för varje element i arrayen och även lagt till partiellt stöd för kommandona collStats , dbStats och dataSize för att få insamlings- och databasstatistik och storleken på datan.

Av andra förändringar som sticker ut av den nya versionen:

  • Iteratorer används nu för `sort`, `limit`, `skip` och `projicering`
  • Bump-beroenden
  • Förbättringar av resursspårning
  • Lade till tester för "skip"-argumentet "hitta" och "räkna".
  • Stäng iteratorn ordentligt
  • Förbättringar för att initiera stora antal i testdata

Slutligen om du är intresserad av att veta mer om detkan du kontrollera detaljerna I följande länk.

För den som är intresserad av koden bör du veta att den är skriven i Go och distribueras under Apache 2.0-licensen.

Och det borde de veta det bästa sättet att testa FerretDB är att modifiera det och köra det på värden (Linux, macOS eller Windows) med PostgreSQL och andra beroenden som körs i Docker-behållare via Docker Compose.

På Linux måste docker vara installerat på värden. På macOS och Windows måste Docker Desktop användas, medan det på Windows måste konfigureras för att använda WSL 2 utan någon distribution; alla kommandon måste köras på värden.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.