home shape

AvocadoDB: The Best NoSQL Database | ArangoDB Blog 2012

Note: We changed the name of the database in May 2012. AvocadoDB is now called ArangoDB.

Our mission: projects are different, project requirements change. We want to offer with AvocadoDB a most universally applicable nosql database which can be used in a maximum number of different use cases. In buzzword bingo language: we want to become the MySql in nosql – without MySql’s annoyances of course ;-).

1. AvocadoDB is an all-in-one key-value store, graph database, and document store
Information is filed in documents which can be as simple or complex as you need. You can realize a simple key-value store with AvocadoDB, but you can use it as well as document store like MongoDB.
Better—because you can traverse over document “edges”, AvocadoDB is a brilliant choice as graph database. An application that employs AvocadoDB can include any mix of data models.

2. AvocadoDB Shapes – schema-free schemas
From a developer’s perspective, AvocadoDB’s documents are schema-free. Better: The database automatically identifies structural consistencies within different documents and exploits the recognized shapes as an implicit schema. AvocadoDB’s approach combines all advantages of schema-free and schema-based databases (i.e. performance, more performance, and even more performance ;-)).

All of AvocadoDB’s stored data has a specific scheme. That’s really great, because you can efficiently query particular parts of your documents as needed instead of whole data sets or entire documents.

3. Indices
AvocadoDB supports many index types:

  • full-text indices
  • geo indices
  • skip lists
  • hash indices
  • bitmap indices

4. Actions (executable JavaScript within a database)
AvocadoDB got actions. Actions are JavaScript methods you can store independently of documents within a database. You can even query them externally. For example, REST calls toward the back-end will be stored as actions, resulting in omission or slimming of App servers.

5. Durability
The more times you write your data to disk, the slower the database becomes as IO takes time. On the other hand frequent writing minimizes the risk that data is lost if the server crashes. AvocadoDB lets administrator decide if he needs a maximum of performance, a maximum of durability – or anything in between.
AvocadoDB supports the unique powers and advantages of SSD hard drives. The indices and structures in AvocadoDB are designed to reach a maximum of writing performance.

6. Consistency
Even a database running on a single server is prone to inconsistency. Changing multi-layered distributed data could result in undesired incidents during processing, probably ending in just partial document updating. AvocadoDB supports transactions and provides ACID-wise consistency.

…, and what happens using multiple servers?

Starting from release 2, AvocadoDB supports even a cluster mode. Alas, even AvocadoDB can’t ignore the CAP theorem: You can’t provide consistency, availability, and partition tolerance simultaneously. But: AvocadoDB lets you focus on your preferred CAP-theorem features.

AvocadoDB effortlessly permits replications. We like the “zero-admin principle”. Making replications with AvocadoDB is really easy: Insert IP address and go!
Following replication types are intended for version 2:

  • master-master synchronous
  • master-master asynchronous
  • master-slave synchronous
  • master-slave asynchronous

7. Best of all: it’s open source. You can download AvocadoDB on Github. And we are looking for people who want to join the team (programming, documentation, testing, etc.).

Frank Celler

Frank Celler

Frank is both entrepreneur and backend developer, developing mostly memory databases for two decades. He is the CTO and co-founder of ArangoDB. Try to challenge Frank asking him questions on C, C++ and MRuby. Besides Frank organizes Cologne’s NoSQL group & is an active member of NoSQL community.

Leave a Comment

Get the latest tutorials, blog posts and news: