Highlights by Version
The most notable features in the Community and Enterprise Edition of ArangoDB, grouped by version
Parallel gather: Faster, more memory-efficient processing of cluster queries by combining results on Coordinators in parallel.
Index cache refilling: Automatically repopulate in-memory index caches after writes that affect an edge index or cache-enabled persistent indexes to maximize cache hits and thus query performance.
ArangoSearch column cache: Always cache field normalization values, Geo Analyzer auxiliary data, stored values, primary sort columns, and primary key columns in memory to improve the performance of Views and inverted indexes.
geo_s2Analyzer: Efficiently index geo-spatial data using different binary formats, tuning the size on disk, the precision, and query performance.
Also see What’s New in 3.11.
Native ARM Support: Packages for the ARM architecture are now available, including native support for Apple silicon.
Computed Values: Persistent document attributes that are generated when documents are created or modified, using an AQL expression.
Inverted indexes: A new, eventually consistent index type that can accelerate a broad range of queries, providing similar search capabilities as
arangosearchViews, but defined per collection and simpler to use.
search-aliasViews: Add inverted indexes to
search-aliasViews for searching multiple collections at once, with ranking and search highlighting capabilities, as a lightweight alternative to
AQL Graph Traversals: All Shortest Paths allows you to query for all paths of shortest length between two documents.
EnterpriseGraphs: A new specialized version of SmartGraphs, with an automatic sharding key selection.
Search highlighting: Get the substring positions of matched terms, phrases, or n-grams.
Nested search: Match arrays of objects with all the conditions met by a single sub-object, and define for how many of the elements this must be true.
minhashAnalyzer for locality-sensitive hashing to approximate the Jaccard similarity, with inverted index and
arangosearchView support that allows you to implement entity resolution.
Parallelism for sharded graphs: Parallel execution of AQL traversal queries with many start vertices for all types of sharded graphs, leading to faster results.
Traversal Projections: Optimized data loading for AQL traversal queries if only a few document attributes are accessed.
Read from followers in clusters: Allow dirty reads so that Coordinators can read from any shard replica and not only from the leader, for scaling reads.
Also see What’s New in 3.10.
- ArangoSearch: New Segmentation Analyzer for language-agnostic tokenization of text. A Collation Analyzer to honor the alphabetical order of the specified language in range queries.
- (Disjoint) SmartGraphs using SatelliteCollections: SatelliteCollections can be used in (Disjoint) SmartGraphs to enable more local execution of graph queries.
Also see What’s New in 3.9.
Weighted traversals and k Paths: Two new AQL graph traversal methods to emit paths in order of increasing weights and to enumerate all paths between a source and a target vertex that match a given length.
ArangoSearch: New Pipeline Analyzer that allows you to combine multiple Analyzers, enabling case-insensitive n-gram-based fuzzy search and more. New AQL Analyzer so that you can use an AQL query to pre-process and filter your data for indexing. Support for geo-spatial queries through new Geo Analyzers and ArangoSearch Geo functions. A new Stop words Analyzer that can be used standalone or in an Analyzer pipeline.
WINDOWoperation for aggregations over adjacent rows, value ranges or time windows.
- Encryption at Rest utilizes hardware acceleration capabilities of modern CPUs.
Also see What’s New in 3.8.
ArangoSearch: Wildcard and fuzzy search (Levenshtein distance and n-gram based), enhanced phrase and proximity search, improved late document materialization and Views covering queries using their indexes without touching the storage engine, as well as a new SIMD-based index format for faster processing and stemming support for 15 additional languages.
Schema Validation: Enforce a JSON Schema for documents on collection level. Invalid documents can be rejected automatically by the database system, making it easy to maintain data quality.
Insert-Update and Insert-Ignore: New document API operations to upsert documents and to efficiently insert documents while skipping the creation if the document exists already.
HTTP/2 support: Better load-balancer and Kubernetes compatibility, improved request throughput.
SatelliteGraphs: Synchronously replicated graphs with local traversal execution.
Disjoint SmartGraphs: Improve traversal execution times for SmartGraphs without edges between vertices with different SmartGraph attributes.
Traversal parallelization: Optional parallel execution of nested traversals for single servers and OneShard clusters.
Also see What’s New in 3.7.
AQL: Improved query performance thanks to early pruning, subquery splicing, late document materialization, parallelization for certain cluster queries and more. New server-side
maxRuntimeoption for queries.
ArangoSearch: New Analyzer options for edge n-grams (
textAnalyzer), UTF-8 encoded n-gram input and optional start/end markers (
ngramAnalyzer). Support for dynamic expressions using arrays (array comparison operators in
SEARCHqueries and the
PHRASE()functions accept arrays). Views can benefit from the SmartJoins optimization.
- OneShard deployments offer a practicable solution that enables significant performance improvements by massively reducing cluster-internal communication. A database created with OneShard enabled is limited to a single DB-Server node but still replicated synchronously to ensure resilience. This configuration allows running transactions with ACID guarantees on shard leaders.
Also see What’s New in 3.6.
AQL Graph Traversals: k Shortest Paths allows you to query not just for one shortest path between two documents but multiple, sorted by length or weight. With PRUNE you can stop walking down certain paths early in a graph traversal to improve its efficiency.
Stream Transaction API: Perform multi-document transactions with individual begin and commit / abort commands using the new HTTP endpoints or via a supported driver.
Data Masking: arangodump provides a convenient way to extract production data but mask critical information that should not be visible.
Hot Backups: Create automatic, consistent backups of your cluster without noticeable impact on your production systems. In contrast to arangodump, hot backups are taken on the level of the underlying storage engine and hence both backup and restore are considerably faster.
SmartJoins: Run joins between identically sharded collections with performance close to that of a local join operation.
Advanced Data Masking: There are additional data masking functions available in the Enterprise Edition, such as for substituting email addresses and phone numbers with similar looking pseudo-data.
Also see What’s New in 3.5.
ArangoSearch: Search and similarity ranking engine integrated natively into ArangoDB and AQL. ArangoSearch combines Boolean retrieval capabilities with generalized ranking algorithms (BM25, TFDIF). Support of e.g. relevance-based searching, phrase and prefix-matching, complex boolean searches and query time relevance tuning. Search can be combined with all supported data models in a single query. Many specialized language Analyzers are already included for e.g. English, German, French, Chinese, Spanish and many other language.
GeoJSON Support and S2 Geo Index: ArangoDB now supports all geo primitives. (Multi-)Point, (Multi-)LineStrings, (Multi-)Polygons or intersections can be defined and queried for. The Google S2 geo index is optimized for RocksDB and enables efficient querying. Geo query results are automatically visualized with an OpenStreetMap integration within the Query Editor of the web interface.
Query Profiler: Enables the analysis of queries and adds additional information for the user to identify optimization potentials more easily. The profiler can be accessed via arangosh with
db._profileQuery(...)or via the Profile button in the Query Editor of the web interface.
Streaming Cursors: Cursors requested with the stream option on make queries calculate results on the fly and make them available for the client in a streaming fashion, as soon as possible.
RocksDB as Default Storage Engine: With ArangoDB 3.4 the default storage engine for fresh installations will switch from MMFiles to RocksDB. Many optimizations have been made to RocksDB since the first release in 3.2. For 3.4 we optimized the binary storage format for improved insertion, implemented “optional caching”, reduced the replication catch-up time and much more.
Also see What’s New in 3.4.
Datacenter-to-Datacenter Replication: Replicate the entire structure and content of an ArangoDB cluster asynchronously to another cluster in a different datacenter with ArangoSync. Multi-datacenter support means you can fallback to a replica of your cluster in case of a disaster in one datacenter.
Encrypted Backups: arangodump can create backups encrypted with a secret key using AES256 block cipher.
Server-level Replication: In addition to per-database replication, there is now an additional
globalApplier. Start the global replication on the Follower once and all current and future databases will be replicated from the Leader to the Follower automatically.
Asynchronous Failover: Make a single server instance resilient with a second server instance, one as Leader and the other as asynchronously replicating Follower, with automatic failover to the Follower if the Leader goes down.
Also see What’s New in 3.3.
RocksDB Storage Engine: You can now use as much data in ArangoDB as you can fit on your disk. Plus, you can enjoy performance boosts on writes by having only document-level locks.
Pregel: We implemented distributed graph processing with Pregel to discover hidden patterns, identify communities and perform in-depth analytics of large graph data sets.
Fault-Tolerant Foxx: The Foxx management internals have been rewritten from the ground up to make sure multi-coordinator cluster setups always keep their services in sync and new Coordinators are fully initialized even when all existing Coordinators are unavailable.
LDAP integration: Users and permissions can be managed from outside ArangoDB with an LDAP server in different authentication configurations.
Encryption at Rest: Let the server persist your sensitive data strongly encrypted to protect it even if the physical storage medium gets stolen.
SatelliteCollections: Faster join operations when working with sharded datasets by synchronously replicating selected collections to all DB-Servers in a cluster, so that joins can be executed locally.
Also see What’s New in 3.2.
Vertex-centric indexes: AQL traversal queries can utilize secondary edge collection indexes for better performance against graphs with supernodes.
VelocyPack over HTTP : In addition to JSON, the binary storage format VelocyPack can now also be used in transport over the HTTP protocol, as well as streamed using the new bi-directional asynchronous binary protocol VelocyStream.
SmartGraphs: Scale with graphs to a cluster and stay performant. With SmartGraphs you can use the “smartness” of your application layer to shard your graph efficiently to your machines and let traversals run locally.
Encryption Control: Choose your level of SSL encryption
Auditing: Keep a detailed log of all the important things that happened in ArangoDB.
Also see What’s New in 3.1.
self-organizing cluster with synchronous replication, master/master setup, shared nothing architecture, cluster management Agency.
Deeply integrated, native AQL graph traversal
VelocyPack as new internal binary storage format as well as for intermediate AQL values.
Persistent indexes via RocksDB suitable for sorting and range queries.
Foxx 3.0: overhauled JS framework for data-centric microservices
Significantly improved Web Interface
Also see What’s New in 3.0.