From the webpage:
We recently started a new open source project – a nosql database called AvocadoDB.
Key features include:
- Schema-free schemata let you combine the space efficiency of MySQL with the performance power of NoSQL
- Use AvocadoDB as an application server and fuse your application and database together for maximal throughput
- JavaScript for all: no language zoo, use just one language from your browser to your back-end
- AvocadoDB is multi-threaded – exploit the power of all your cores
- Flexible data modeling: model your data as combination of key-value pairs, documents or graphs – perfect for social relations
- Free index choice: use the correct index for your problem, be it a skip list or a n-gram search
- Configurable durability: let the application decide if it needs more durability or more performance
- No-nonsense storage: AvocadoDB uses of all the power of modern storage hardware, like SSD and large caches
- It is open source (Apache Licence 2.0)
The presentation you will find at the homepage says you can view your data as a graph. Apparently edges can have multiple properties. Looks worth further investigation.
Thanks for your interest. We are planing to have a version containing basic graph algorithms ready in April. AvocadoDB allows to treat documents as “edges”. Two documents can be connected by such an edge-document. That way one can easily build so-called property graphs, i.e. graphs where the vertices and edges both can be augmented with properties. We are currently working on a query language that supports graph queries in a natural way.
avocado> a = db.vertices.save({ name : “alice” });
99421/1606749
avocado> b = db.vertices.save({ name : “bob” });
99421/1672285
avocado> e = edges.relationship.save(a, b, { label : “knows”, weight : 3 });
1737821/3245149
avocado> edges.relationship.edges(a)
[{ “_id” : “1737821/3245149”, “_rev” : 3245149, “_from” : “99421/1606749”, “_to” : “99421/1672285”, “weight” : 3, “label” : “knows” }]
Comment by fceller — March 31, 2012 @ 11:02 am
Appreciate the comment!
Have you looked at Gremlin or Cypher as graph query languages?
Hope you are having a great weekend!
Patrick
Comment by Patrick Durusau — March 31, 2012 @ 4:23 pm
thanks for the hint with Gremlin and Cypher. As AvocadoDB covers also other data models than graphs a pure implementation of one of both languages does not fit our requirements completely.
Therefore we had to define our own query language for complex queries (we’ll present our ideas in a few minutes to the local nosql user group, English slides will be available later on. Drop me a line if you are interested 🙂 ).
We are thinking to work on Gremlin later on as an option for people who do not need Avocado’s full feature scope.
Comment by loremsqlsum — April 4, 2012 @ 12:06 pm
Thanks!
Yes, I am sending an email about the query language slides! I am very interested in query languages.
Curious if you mean that there are data structures that cannot be represented by graphs or that some graph implementations have internal models that are more restrictive than graphs in general?
Hope your presentation has gone well!
Patrick
Comment by Patrick Durusau — April 4, 2012 @ 7:11 pm