Choosing a product is a tricky thing. Marketing messages are not all created equal. Sometimes the message over promises and under delivers, other times the product is under represented. These are the gems – the products that are so good, but not known for whatever reason.
For over a year I had known about OrientDB (www.orientdb.com) and when I first evaluated it, I couldn’t understand why it wasn’t ruling the database landscape. In a nutshell, OrientDB is a document-graph database. I’ll be writing more on this topic in future posts, but I remember reading about the product and wondering “what can’t I do with this!”.
So, what is a graph database? Essentially, it’s a database focussed on managing related data. Unlike traditional relational databases, there is no need for JOINs. The JOIN operator as it turns out is a very costly operation in terms of CPU usage. A graph database works with relationships via direct references, not foreign keys in a table.
The result is a monumental improvement in the flexibility of your data model and huge performance gains when traversing graph type data. My first reaction was “I am modelling data, exactly as my brain thinks”. I could build data in a rigid, schemaful way similar to a relational database or as a flexible, unstructured document similar to MongoDB. In fact, you can combine the best of both in one data model.
The long and short of the story is that I fell in love with the idea of a document-graph database and OrientDB. It is fast, flexible, robust and easy to use. What was missing was the message. That is where I come in. I will be joining the OrientDB team to help bring it’s wonderful story to the larger development community.
Keep an eye here for more information.