New version of DBMS ArangoDB 3.6

Published release of a multi-purpose DBMS ArangoDB 3.6, which provides flexible storage models for documents, graphs, and key-value data. Working with the database is carried out through a SQL-like query language AQL or through special JavaScript extensions. Data storage methods comply with ACID (atomicity, consistency, isolation, durability) requirements, support transactions, and provide both horizontal and vertical scalability. The DBMS can be managed through a web interface or a console client Arango SH. ArangoDB Code spreads licensed under Apache 2. The project is written in C and JavaScript.

Key features of ArangoDB:

  • The ability to do without defining a data storage scheme (Schema-free) - data is structured in the form of documents in which metadata and information about the structure are separated from user data;
  • Support for using ArangoDB as a server for JavaScript web applications with the ability to access the database via the REST/Web API;
  • Using JavaScript for browser applications accessing the database and for handlers executed on the side of the DBMS;
  • Multi-threaded architecture that distributes the load across all CPU cores;
  • A flexible data storage model that can combine key-value pairs, documents, and parameters that define relationships between records (means are provided for traversing graph vertices);
  • Different data representation models (documents, graphs, and key-value associations) can be mixed in one query, which makes it easier to aggregate heterogeneous data;
  • Support for queries with merge (JOIN);
  • Possibility to choose the type of index corresponding to the tasks to be solved (for example, you can use the index for full-text search);
  • Customizable reliability: the application itself can determine what is more important for it: higher reliability or higher performance;
  • Efficient storage that takes full advantage of modern hardware (such as SSDs) and can use large caches;
  • Transactions: the ability to run queries on multiple documents or collections at once, with optional transactional consistency and isolation;
  • Support for replication and sharding: the ability to create master-slave configurations and distribute data sets to different servers depending on a certain attribute;
  • A JavaScript framework is provided for creating microservices Foxx, which runs inside the DBMS server with direct data access.

Changesproposed in the ArangoDB 3.6 release:

  • Optimized the performance of subqueries, as well as UPDATE and REPLACE operations;
  • The possibility of parallelized execution of AQL queries has been implemented, which reduces the time of collecting data distributed over different nodes of the cluster;
  • Implemented deferred materialization of documents, allowing in some situations to get rid of the need to completely extract irrelevant documents;
  • When scanning documents, early rejection of documents that do not match the specified filter is provided;
  • The ArangoSearch full-text search engine has been improved to support ranking based on data similarity. Added analyzer support for query autocompletion, implemented TOKENS() and PHRASE() functions for dynamic generation of search queries;
  • Added maxRuntime setting to selectively limit the query execution time;
  • Added "--query.optimizer-rules" option to control activation of certain optimizations when processing queries;
  • Expanded opportunities for organizing the work of the cluster. Added "--cluster.upgrade" option to select upgrade mode for nodes in a cluster;
  • Added support for TLS 1.3 to encrypt the communication channel between the client and the server (by default, the client continues to use TLS 1.2).

Source: opennet.ru

Add a comment