Issue Ferretdb 0.7, Mongodb implementation based on PostgreSQ DBMS

published production of the project freetdb 0.7 , which allows you to replace the document-oriented Mongodb DBMS with postgreSQL without amending the application code. Ferretdb is implemented as a proxy server broadcasting to Mongodb calls to SQL checks to PostgreSQL, which allows you to use PostgreSQL as an actual storage. The code is written in the language of Go and spreads under the license Apache 2.0.

The need for migration may arise due SSPL, which is based on the AGPLV3 license, but is not open, since it contains a discriminatory requirement to supply SSPL under the SSPL license, but also the initial texts of all components involved in the provision of cloud service.

The main target audience of Ferretdb are users who do not use the expanded capabilities of Mongodb in their applications, but want to use a fully open software stack. At the current stage of development, Ferretdb so far supports only part of the Mongodb capabilities, most often used in typical applications. In the future, they plan to achieve full compatibility with drivers for Mongodb and provide the opportunity to use Ferretdb as a transparent replacement of mongodb.

Mongodb occupies a niche between quick and scalable systems that operate the key/value in the key/value format, and relational DBMSs, functional and convenient in the formation of requests. Mongodb supports the storage of documents in a JSON-like format, has a fairly flexible language for forming queries, can create indices for various stored attributes, effectively ensures storage of large binary objects, supports journaling operations to change and add data to the database, and can work in accordance with the paradigm MAP/REDUCE, supports replication and construction of failure -resistant configurations.

Among changes in Ferretdb 0.7:

  • The diagnostic team is realized by msg_explain necessary for the platform tigris .
  • In the team listcollections Filter support was added. >
  • allowed the use of the symbol “-” in the names of the database
  • The number of parameters supported in the Find.
  • team is increased

  • In the package wire with the implementation of the protocol “wire “(protocol for interaction with mongodb) The possibility of checking documents has been added. The minimum supported version of the Wire protocol is reduced to 13, which corresponds to Mongodb 5.0.

/Media reports cited above.