Rilascio di FerretDB 0.3, un'implementazione di MongoDB basata sul DBMS PostgreSQL

È stata pubblicata la release del progetto FerretDB 0.3 che permette di sostituire il DBMS document-based MongoDB con PostgreSQL senza apportare modifiche al codice dell'applicazione. FerretDB è implementato come un server proxy che traduce le chiamate a MongoDB in query SQL a PostgreSQL, il che consente di utilizzare PostgreSQL come archivio effettivo. Il codice è scritto in Go e distribuito sotto la licenza Apache 2.0.

La necessità di migrazione potrebbe sorgere in connessione con il passaggio di MongoDB alla licenza SSPL non libera, che si basa sulla licenza AGPLv3, ma non è aperta, poiché contiene un requisito discriminatorio di fornire sotto la licenza SSPL non solo l'applicazione codice stesso, ma anche i codici sorgente di tutti i componenti coinvolti nella fornitura del servizio cloud.

Il pubblico target 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. Allo stadio attuale di sviluppo, FerretDB supporta ancora solo una parte delle funzionalità MongoDB che vengono spesso utilizzate nelle applicazioni tipiche. In futuro, intendono raggiungere la piena compatibilità con i driver per MongoDB e fornire la possibilità di utilizzare FerretDB come sostituto trasparente di MongoDB.

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

La versione FerretDB 0.3 ha introdotto il comando findAndModify, che modifica un documento ma lo riporta alla versione originale. Sono stati implementati gli operatori di aggiornamento dei campi $inc e $set. Aggiunto supporto per l'ordinamento di tipi di dati scalari.

Fonte: opennet.ru

Aggiungi un commento