After the year of development presented release of the document- oriented DBMS mongodb 6.0 , which occupies a niche between fast and scalable systems that operate in the key/value format, and relational DBMSs, functional and convenient in in formation of requests. Mongodb code is written in C ++ and is distributed under the license of SSPL, which is based on AGPLV3 license, but is not open, as it contains discriminatory, as it contains discriminatory The requirement of supply under the SSPL license is not only the code of the application itself, but also the initial texts of all the components involved in the provision of cloud service.
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 the database in accordance with the MAP/REDUCE paradigm, supports replication and construction of fault -resistant configurations.
Mongodb has built -in means to ensure segmentation (distribution of a set of data on servers based on a particular key), in combination with replication, allowing to build a horizontally scalable storage cluster in which there is no single refusal point (a failure of any node does not affect the work of the database) , Automatic recovery is maintained after the failure and transfer of the load from the failed node. The cluster expansion or the transformation of one server into a cluster is carried out without stopping the database by the simple addition of new machines.
- Implemented the possibility of fulfilling queries covered by data stored in encrypted form ( Queryable encryption ). Data is deciphered on the user’s side and in the process of processing the request remain encrypted (the request is executed over encrypted data, without preliminary decryption).
In the current form, only comparison expressions are allowed in the requests, but in the future it is planned to add support for checking the ranges, prefixes, suffixes, button and other operations.