Prima versione stabile di FerretDB, implementazione di MongoDB basata nantu à PostgreSQL DBMS

A liberazione di u prughjettu FerretDB 1.0 hè stata publicata, chì permette di rimpiazzà u DBMS MongoDB orientatu à documentu cù PostgreSQL senza fà cambiamenti à u codice di l'applicazione. FerretDB hè implementatu cum'è un servitore proxy chì traduce e chjama à MongoDB in dumande SQL à PostgreSQL, chì vi permette di utilizà PostgreSQL cum'è l'almacenamiento propiu. A versione 1.0 hè marcata cum'è a prima versione stabile pronta per l'usu generale. U codice hè scrittu in Go è distribuitu sottu a licenza Apache 2.0.

U publicu di destinazione primariu di FerretDB hè l'utilizatori chì ùn utilizanu micca e capacità avanzate di MongoDB in e so applicazioni, ma volenu aduprà una pila di software completamente aperta. In u so stadiu attuale di sviluppu, FerretDB supporta un subset di capacità MongoDB chì sò più cumunimenti usati in applicazioni tipiche. A necessità di implementà FerretDB pò esse in cunnessione cù a transizione di MongoDB à a licenza SSPL proprietaria, chì hè basatu annantu à a licenza AGPLv3, ma ùn hè micca aperta, postu chì cuntene un requisitu discriminatoriu per furnisce sottu a licenza SSPL micca solu u codice di l'applicazione. stessu, ma ancu i codici surghjenti di tutti i cumpunenti implicati in a prestazione di serviziu di nuvola.

MongoDB occupa un nichu trà i sistemi veloci è scalabili chì operanu nantu à dati chjave / valore è DBMSs relazionale chì sò funziunali è faciuli di interrogà. MongoDB supporta l'almacenamiento di documenti in un formatu JSON-like, hà una lingua abbastanza flessibile per generà e dumande, pò creà indici per diversi attributi almacenati, furnisce in modu efficiente u almacenamentu di grandi oggetti binari, supporta u logu di operazioni per cambià è aghjunghje dati à a basa di dati, pò. travaglià in cunfurmità cù u paradigma Map / Reduce, supporta a replicazione è custruisce cunfigurazioni toleranti à i difetti.

Trà i cambiamenti in FerretDB 1.0:

  • I cumandamenti createIndexes è dropIndexes sò stati implementati per creà è sguassà unu o più indici nantu à una cullizzioni.
  • U cumandimu getMore hè statu implementatu per vede una nova parte di u risultatu ottenutu da eseguisce cumandamenti chì tornanu un cursore, cum'è truvà è aggregate.
  • Aghjunghje supportu per l'operatore di aggregazione $sum per calculà a summa di i valori di u gruppu.
  • Aghjunghje supportu per l'operatori $limit è $skip per limità u numeru è saltà di documenti durante l'aggregazione.
  • Aghjunghje supportu per l'operatore $count per cuntà i documenti durante l'agregazione.
  • Aghjunghje supportu per l'operatore $unwind per analizà i campi di array in documenti entranti è generà una lista cù un documentu separatu per ogni elementu di array.
  • Aghjunghje un supportu parziale per i cumandamenti collStats, dbStats è dataSize per ottene statistiche nantu à a cullizzioni è a basa di dati, è ancu a dimensione di dati.

Source: opennet.ru

Add a comment