FerretDB 1.0 è già stato rilasciato e queste sono le sue novità

FurettoDB

FerretDB è stato fondato per diventare de facto il sostituto open source di MongoDB.

Il lancio del nuova versione del progetto FerretDB 1.0, che consente di sostituire il DBMS orientato ai documenti di MongoDB con PostgreSQL senza apportare modifiche al codice dell'applicazione. FerretDB è implementato come un server proxy che traduce le chiamate MongoDB nelle query SQL in PostgreSQL, consentendo di utilizzare PostgreSQL come archivio effettivo.

La versione 1.0 è contrassegnata come la prima versione stabile pronta per l'uso generale. Il pubblico di destinazione principale di FerretDB sono gli utenti che non utilizzano le funzionalità avanzate di MongoDB nelle loro applicazioni, ma desiderano utilizzare uno stack software completamente aperto.

Nella sua attuale fase di sviluppo, FerretDB supporta un sottoinsieme delle funzionalità di MongoDB che sono più comunemente usati nelle applicazioni tipiche. La necessità di implementare FerretDB può sorgere in relazione alla transizione di MongoDB a una licenza SSPL non libera, che si basa sulla licenza AGPLv3, ma non è open source, in quanto contiene un requisito discriminatorio di fornire con la licenza SSPL non solo il codice applicativo stesso, ma anche i codici sorgente di tutti i componenti coinvolti nell'erogazione dei servizi cloud.

MongoDB occupa una nicchia tra i sistemi veloci e scalabili che operano su dati chiave/valore e DBMS database relazionali funzionali e facili da interrogare. MongoDB supporta l'archiviazione di documenti in un formato simile a JSON, ha un linguaggio abbastanza flessibile per la creazione di query, può creare indici per vari attributi archiviati, fornisce un'archiviazione efficiente di oggetti binari di grandi dimensioni, supporta operazioni di registrazione per la modifica e l'aggiunta di dati al database, può funzionare secondo il paradigma Map/Reduce, supporta la replica e la creazione di configurazioni fault-tolerant.

Principali novità di FerretDB 1.0

In questa nuova versione che viene presentata, si evidenzia che sono stati implementati i comandi createIndexes e dropIndexes per creare e posizionare uno o più indici su una collezione, oltre al comando getMore è stato implementato per visualizzare una nuova sezione del risultato recuperato dall'esecuzione di comandi che restituiscono un cursore, come trova e aggiungi.

Un altro dei cambiamenti che si distingue dalla nuova versione aggiunto il supporto per l'operatore di aggregazione $sum per calcolare la somma dei valori del gruppo, nonché ciò che è stato aggiunto supporto per gli operatori $limit e $skip per limitare il numero e ignorare i documenti durante l'aggiunta e che è stato aggiunto il supporto per l'operatore $count per contare i documenti durante l'aggiunta.

Oltre a ciò, si nota anche che è stato aggiunto il supporto per l'operatore $unwind per analizzare i campi dell'array nei documenti in entrata e formare un elenco con un documento separato per ogni elemento dell'array e aggiunto anche il supporto parziale per i comandi collStats , dbStats e dataSize per ottenere le statistiche della raccolta e del database e la dimensione dei dati.

Del altri cambiamenti che risaltano della nuova versione:

  • Gli iteratori sono ora usati per `sort`, `limit`, `skip` e `projection`
  • dipendenze di urto
  • Miglioramenti al monitoraggio delle risorse
  • Aggiunti test per l'argomento `skip` di `find` e `count
  • Chiudere correttamente l'iteratore
  • Miglioramenti all'inizializzazione di numeri grandi nei dati di test

Infine se sei interessato a saperne di più, puoi controllare i dettagli nel seguente link

Per chi fosse interessato al codice, sappiate che è scritto in Go ed è distribuito sotto licenza Apache 2.0.

E dovrebbero saperlo il modo migliore per testare FerretDB è modificarlo ed eseguirlo sull'host (Linux, macOS o Windows) con PostgreSQL e altre dipendenze in esecuzione all'interno dei contenitori Docker tramite Docker Compose.

Su Linux, docker deve essere installato sull'host. Su macOS e Windows è necessario utilizzare Docker Desktop, mentre su Windows deve essere configurato per utilizzare WSL 2 senza alcuna distribuzione; tutti i comandi devono essere eseguiti sull'host.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.