Hilbert Curves & Polyhedrons for Geo-Indexing | ArangoDB Blog 2012

Cambridge mathematician Richard R. Parker presents a novel algorithm he has developed using a Hilbert curve and Polyhedrons to efficiently implement geo-indexing.

More info...

AvocadoDB Memory Management & Consistency | ArangoDB Blog 2012

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

AvocadoDB uses AppendOnly memory-mapped files with frequent fsync. Derived data (indices, etc.) is stored in the main memory only. This article explains why that particular combination leads to high performance and consistent data at the same time―even in case of a system failure.

Classical database systems – a bulk of data and insufficient main memory

Put simply, there are three possible settings regarding databases:

  • Setting 1: All data fits into the main memory.
  • Setting 2: The complete data pool does not fit into the main memory all at once, but the main memory is large enough to store all the data accessed in an average time span.
  • Setting 3: Even the sub-set of data accessed in an average time span is too large for the main memory.

Classical database systems had to cope with setting 3 because main memory was too expensive to store the majority of data.

Basically, classical database systems had to manage the main memory themselves. To manage all data sets that exceeded the capacity of the main memory they needed sufficiently intelligent algorithms which the system software couldn’t provide (i.e., to stream the data through main memory for full table scans).

(more…)

More info...

Wanted: Python API Contributors for NoSQL Project | ArangoDB Blog 2012

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

Are you a Python expert and want to contribute to an open source project? We need your help writing an API for Python for a new nosql database!

AvocadoDB is a rather new open source project – a fancy nosql database with a couple of interesting features:

  • Schema-free schemata
  • Usable as application server
  • Consequent use of JavaScript
  • multi-threaded
  • Flexible data modeling (key value pairs, document store, graph database)
  • Free index choice
  • Configurable durability
  • Support for modern storage hardware like SSD and large caches

You'll find more information on AvocadoDB here.

AvocadoDB is  100% open source using the Apache Licence 2.0.
Work in progress: general API and APIs for Ruby & PHP
Part of what we are currently doing is working on the APIs.  AvocadoDB itself will provide

  • a REST interface
  • a query by example API
  • a query language for more complex queries

Good news for the Ruby community:  Thanx to @tisba, @moonbeamlabs and @a2800276, AvocadoDB will get a nice Ruby API and integration into Rails. Jan is implementing the PHP Api.
Python? Python!
Unfortunately we are no Python experts. Therefore we need the help of the community to support Python properly. We are looking for someone willing and able to develop a  Python driver for AvocadoDB. It would be awesome to  provide a  document object manager like mongoEngine for Django as well (we would love to hear your thoughts on this – do you suggest anything else for Python?).

We have already compiled an „over the wire spec“ which describes the REST interface (attention: it’s work in progress and a few details will change in the next days).
Sounds all interesting? Join the team!
Do you want to become part of this project? Telling us how a proper implementation for Python should look like? Implementing? Great! :-) We would love to hear from you:

twitter: @fceller

email: hackers AT avocadodb.org

P.S. Are you a Java/Lua/C#/Whatever guy and would like AvocadoDB to support your language as well? YES! Ruby, Python and PHP is a good start, but we want to provide other languages as well, of course. So: Contact us as well! :-)

More info...

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 ;-).

(more…)

More info...

AvocadoDB’s Design Objectives | ArangoDB Blog 2012

Before we started programming the new open source NoSQL database, we reflected which design objectives to achieve or to drop. This article summarizes our considerations.

In a nutshell:

  • Schema-free schemas with shapes: Inherent structures at hand are automatically recognized and subsequently optimized.
  • Querying: ArangoDB is able to accomplish complex operations on the provided data (query-by-example and query-language).
  • Application Server: ArangoDB is able to act as application server on Javascript-devised routines.
  • Mostly memory/durability: ArangoDB is memory-based including frequent file system synchronizing.
  • AppendOnly/MVCC: Updates generate new versions of a document; automatic garbage collection.
  • ArangoDB is multi-threaded.
  • No indices on file: Only raw data is written on hard disk.
  • ArangoDB supports single nodes and small, homogenous clusters with zero administration.

(more…)

More info...

Hello World! Introduction to ArangoDB | ArangoDB Blog 2012

We’ll use this space for further information on what’s going on in the project, milestones, events, interesting in-depth information etc.

More info...

Get the latest tutorials,
blog posts and news: