First beta-release of Ferretdb, implementation of Mongodb based on DBMS PostgreSQL

published the project freetdb 0.8 , 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. Version 0.8 is noted as the first issue with the status of beta versions (previously the development was at the alpha testing stage). The code is written in the language of Go and spreads under the license Apache 2.0. SSPL license, which is based on AGPLV3 license, but is not open, since it contains a discriminatory requirement to supply SSPL under the application code itself, 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.8:

  • Changes in the method of storing data in PostgreSQL, which violate reverse compatibility, but allow increasing performance due to the use of indices.
  • Added support for the operator $ min .
  • . .

  • Provided to streamline arguments for the Insert.
  • team.

  • The possibility of authentication for postgresql.

/Media reports cited above.