ArangoDB 3.1: Scaling Solutions, Part II
It’s not that long ago since we released ArangoDB 3.0 in which we introduced our binary storage format VelocyPack, the ArangoDB Agency for a self-managing cluster and the first persistent index by implementing Facebooks RocksDB. With all that we laid the foundation for a solid ground to scale with all three data-models.
With today’s ArangoDB 3.1 release we take things a few steps further and make cluster usage of ArangoDB more performant and convenient. Get ArangoDB 3.1.
General upgrades in 3.1
- Performance boost with our new boost-ASIO server infrastructure
- Performance boost by overhauling the ArangoDB query optimizer
- Improved internal abstraction for storage-engines as a preparation for MVCC and pluggable storage-engines
- VelocyPack over HTTP: Use our binary storage format VelocyPack over HTTP
- VelocyStream: for high performance needs you can now directly stream VelocyPack. This is already implemented in our Java driver (all other drivers maintained by ArangoDB will follow soon).
Cluster
- Parallel Intra-Cluster-Communication
- HLC: The Hybrid Logical Clock is used for timestamps in revision strings which is part of the preparation for cluster-wide transactions
- Auto-failover timeouts: you can now configure the timeouts for automatic failovers
- Progress Display when relocating shards
- Stand-Alone Agency: You can now use ArangoDB as a resilient, RAFT-based key/value store as an alternative to e.g. ZooKeeper or etcd. (You’ll surely ask yourself why we created it and we’ll answer this legitimate question in a blog post soon).
Graph Features
- Vertex-centric indices for graphs in AQL: You can now generate indices on edges which are a combination of the vertex and an attribute.
- SmartGraphs: This is a the big new feature of our Enterprise Edition and enables you to shard really huge graphs to a cluster and achieve close to the same performance as on a single instance. Read more about SmartGraphs and our Enterprise Edition.
For the Java World
We put a lot of effort into our new Java Driver which will only work with ArangoDB 3.1 onwards. Our Java team completely refactored the driver which is now up to 4x faster than the previous one. The new features include:
- multi document operations
- Uses VelocyPack
- VelocyStream ready
- asynchronous request handling
Read more about the features in the corresponding blog post. You can download the new Java drivers here: ArangoDB-Java-Driver 4.1.0 & ArangoDB-Java-Driver-Async 4.1.0. We also included a new detailed Java drivers documentation.
Web UI
- New Graph Viewer: The previous solution was not suitable for large graph visualizations. With an extended Canvas support the Graph Viewer is now feature-rich and can handle large graph visualizations. As a second engine we made a first implementation of WebGL. Feedback to our new GraphViewer is highly appreciated.
- AQL Editor: We invested a lot into usability and e.g. simplified the elaboration of performance issues of your queries. With the Query Performance Profiler you can now get info about the query performance so you can investigate which part of the execution took how long. You can also choose between JSON, tabular and graph output for your results.
We hope that we included many useful features for you into ArangoDB 3.1. We appreciate your feedback about the new release a lot. If you’re missing something, find a bug or want to talk about an idea with us, feel free to get in touch via our Slack Community channel or contact us form.
Have fun playing around with ArangoDB 3.1!
Get the latest tutorials, blog posts and news: