Introduction to the Pregel Module in ArangoDB
This post is outdated, please see more recent infos below.
Please see a technical article about our current Pregel integration in our blog, details about the various Pregel algorithms ArangoDB supports in our documentation and a tutorial about Community Detection with real data in our training center.
Ever since Google introduced Pregel as a system for large-scale graph processing we thought of a way how to enable this feature in ArangoDB. So we set up an ArangoDB cluster, created some huge graphs and started evaluating the concept. We came up with a new ArangoDB module (called pregelRunner) that enables the user to write own algorithms, pass them to ArangoDB and have them executed in a Pregel-like fashion.
This means that the user’s algorithm is executed step wise on each server in the cluster in parallel for all its local vertices. In each step the vertices can send messages to each other to distribute information. These messages can be received by the other vertex in the next step. The algorithm terminates when there are no more active vertices left and no message has been sent.
We started to implement an experimental version of Pregel in ArangoDB. You need to check-out the pregel
branch of ArangoDB in order to play with the following examples. Please be advised that the implementation is still in an early phase and very like to change. In this post we will provide a brief introduction to ArangoDB’s Pregel module by guiding you through the implementation of an example algorithm.
ArangoDB Java Driver: Batch & Asynchronous Mode | ArangoDB Blog
The current arangodb-java-driver supports the usage of ArangoDB’s batch and asynchronous interface. This post will guide you through the usage of these features.
The batch interface
The batch interface enables the user to stack a series of calls and execute them in a batch request. Each stacked request returns a request id that can be used to retrieve the single results from the batch response. So how do you use this feature in the java driver ?
First we create an instance of the java driver:
ArangoConfigure configure = new ArangoConfigure();
configure.init();
ArangoDriver driver = new ArangoDriver(configure);
ArangoDB Java Driver: Simplifying Database Interactions
A new arangodb-java-driver is out now, it’s on github. The driver is available for ArangoDB from version 2.2 onwards.
How to include the driver in your application ?
The driver is available as maven artifact. To add the driver to your project with maven, add the following code to your pom.xml:
<dependencies>
<dependency>
<groupId>com.arangodb</groupId>
<artifactId>arangodb-java-driver</artifactId>
<version>2.2</version>
</dependency>
....
</dependencies>
ArangoDB 2.3 Beta 2: Available for Testing | ArangoDB Blog
This version is deprecated. Download the new version of ArangoDB
A new beta release is available for testing.
Please note that there are issues with the keys generated by the OBS. We will sort this out as fast as possible. Currently you simple have to trust the keys during install.
This beta release contains various fixes which were found during testing beta1.
Improved Non-Unique Hash Indexes in ArangoDB 2.3
With ArangoDB 2.3 now getting into the beta stage, it’s time to spread the word about new features and improvements.
Today’s post will be about the changes made to non-unique hash indexes.
Setting Up Test Data: ArangoDB Tutorial & Best Practices
Today I was asked to look at code that was supposed to read data from a MySQL data source, process it and then import it into ArangoDB.
To run and debug the code I had to have some MySQL data source. So I thought I’d quickly set up a simple example table with a few rows. It turned out that this took more time than what I had expected.
Maybe I’m spoilt by JavaScript-enabled, schema-free databases where creating such test setups is so much easier.
Prepare your answers… ArangoDB at NYC Database-Month on 11/11
There is a warm-up routine on every evening at the NYC Database Month. Speakers ask trivia questions to the auditorium, related to the topic of the following talk. The first correct answer wins some “swag”. On Tuesday, Nov. 11, 2014 Max from ArangoDB will talk about Polyglot Persistence and multi-model NoSQL databases.
To get a competitive advantage, here are some questions Max might ask:
Q: What does the term Polyglot Persistence mean?
A: Use a variety of different data storage technologies for different kinds of data. (src: Martin Fowler)
Q: What types on NoSQL data-/ storage-models does ArangoDB support?
A: key/values, documents, graphs
Q: NoSQL often comes with restrictions – which of the following features are missing in ArangoDB: joins, transactions, ACID guarantees?
A: none. (ArangoDB even scales and provides competitive performance)
If you are around NYC, let’s grab a seat and watch Max on stage: http://www.databasemonth.com/database/polyglot-persistence
Can’t be there? Then here’s your chance. Be the first to answer the following question in the comments below and get a new ArangoDB t-shirt:
Q: How many different programming languages are supported by ArangoDB?
First Beta of ArangoDB 2.3: Explore New Features | ArangoDB Blog
This version is deprecated. Download the new version of ArangoDB
We are proud to present ArangoDB 2.3. The first beta version is now available for download from our web-site or you can use “brew install –unstable arangodb” under Mac OS X. You can also look into the nightly documentation for more information.
Please note that the main feature of this release contains a complete rewrite of the query engine, allowing much more optimizations than before – especially in the cluster case. It would be very helpful for us, if you could test this query engine as much as possible. If you find any unexpected behavior, please let us know.
The data-files can be upgraded from 2.x to 2.3. You should, however, backup the database directory beforehand, as this is a beta-release.
Features and improvements
The following list shows in detail which features have been added or improved in ArangoDB 2.3. ArangoDB 2.3 also contains several bug-fixes that are not listed here.
FullStack London
I recently had the chance to visit FullStack London, a well organized conference. Thanks a lot to Skills Matter. FullStack was opened by Douglas Crockford about “The Better Parts” of ES6. I cannot wait to start using them. Douglas was followed by Isaac Schlueter talking about open source in companies. Although this talk was not technical I learned a lot and it was very inspiring.
The remainder of the conference was all about using JavaScript mostly on server-side using Node.js or in robotics. As robotics is not my kind of topic I visited the talks about server-side JS. They confirmed my impression where JS development is heading to: Microservices. (more…)
Set Up Bash Completion for ArangoDB: Step-by-Step Guide
I was interested in how bash auto-completion works and how to write a custom completer. After about an hour of work, I came up with a solution that at least seems to work on Ubuntu. I now have auto-completion for ArangoDB and all its client tools!
The problem
I use the command-line for almost everything, including starting and stopping ArangoDB and its client tools. They provide lots of options which I cannot completely memorize.
The bash solution for “I don’t know what I am looking for” is to press the TAB key. This will bring up a list of suggestions for how to complete the currently entered word. I thought using the same thing for ArangoDB’s command-line options would be nice, too.
Get the latest tutorials,
blog posts and news:
Thanks for subscribing! Please check your email for further instructions.