Updated Open Source Database Offers Cluster Restriction, Performance Improvements

Database maker ArangoDB has released the latest version of its namesake open source database with a feature that allows users to restrict individual databases to one node in a cluster.

The feature, called OneShard, is being introduced in the Enterprise Edition of ArangoDB 3.6, which is available now.

ArangoDB is a native multi-model database with flexible data models for documents, graphs, and key-values. A database created with OneShard enabled is bound to a single database server node, the company explained in a statement, but still replicated synchronously to additional nodes. This binding ensures the high-availability and fault tolerance of a cluster setup, but with performance similar to a single instance. It also makes it possible to run transactions with ACID (atomicity, consistency, isolation, durability) guarantees.

OneShard is ideal for use cases with graph traversals and JOIN-heavy queries, as well as multi-tenant applications, the company said. "In conversations with our community, we found many of our users expressed the need for the high-availability and fault-tolerant benefits of a cluster, but they didn't necessarily want to scale horizontally and sacrifice performance," said Claudius Weinberger, CEO and co-founder of ArangoDB, in a statement.

ArangoDB is available in both Enterprise and Community editions. New features common to both in this release include:

Subquery performance optimization:
This release introduces a new optimizer rule called "splice-subqueries," in which subquery splicing inlines the execution of certain subqueries.

Parallel execution of AQL queries:
This release comes with the ability to parallelize work in many-cluster ArangoDB Query Language (AQL) queries when there are multiple database servers involved. 

Late document materialization:
With the late document materialization optimization, this release limits sorting to index data for queries that use a combination of SORT and LIMIT, which the company says reduces memory usage and supports better utilizing caches. 

Early pruning of non-matching documents:
ArangoDB 3.6 evaluates FILTER conditions on non-index attributes at the same time it does a full collection or index scan. With the scanning and filtering happening concurrently, queries that filter on non-index attributes will run faster, the company said.
New ArangoSearch capabilities:
ArangoSearch, ArangoDB's full-text search engine with ranking capabilities, now offers edge n-grams to support word-based auto-completion queries. In this release, ArangoSearch also supports expressions with array comparison operators in AQL and the ability to mark the beginning/end of the input sequence in the n-gram Analyzer. TOKENS() and PHRASE() functions also accept arrays, enabling dynamic search expressions.

More information is available on GitHub.

About the Author

John K. Waters is the editor in chief of a number of sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS.  He can be reached at [email protected].