Updated Open Source Database Offers Cluster Restriction, Performance Improvements
- By John K. Waters
- January 9, 2020
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.
John K. Waters is the editor in chief of a number of Converge360.com 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].