In IT there are moments when you feel as though you’re behind the curve. Years ago I carried around the belief that all hard drive heads needed parking prior to moving a machine, something which I used to demonstrate my ignorance at technology’s progress during my first IT job.
I recently had that feeling of being outside the tech loop when I went looking for a database management system that fitted a specific use case. Document-oriented databases, such as MongoDB and CouchDB, didn’t quite meet the requirements, nor did a pure relational database management system, such as PostgreSQL or MySQL. During some unfocussed searches I happened across OrientDB which claims to be a document-based database but with support for relationships, which addressed the requirements more fully. Further investigation revealed an entire ecosystem existed for OrientDB, including OrientDB drivers for pretty much every mainstream language and framework. There’s a Backend-as-a-Service version offering HTTP access with VPN connections. Further, OrientDB also understands SQL and has a REST interface, what’s not to like?
When I happen across technology whose existence I have failed to register and yet looks as though it hits a sweet-spot my first reaction is to to wonder what could be wrong with it. The list of OrientDB production deployments has a number of well-known-ish brands which helps add credibility to the product.
At less than 10MB in size, OrientDB is a remarkably small download, although it does require a JVM. This, perhaps, is one of the factors that has managed to keep OrientDB off my tech radar; it’s written in Java and Java just isn’t where all the cool kids are at nowadays – not that I’m suggesting that I’m either cool or a kid.
OrientDB may suffer from straddling more than one database paradigm: it’s a document database, it’s a graph database and it’s a relational database. It also plays country and western.
However I’m guessing that the real reason as to why I hadn’t heard of OrientDB before now is that it’s produced in Europe. If this had been the product of a US startup then we probably would have found it difficult to read the IT press without being aware of OrientDB, even before it was production-ready. OrientDB is European in its hype: understated and low-key. A US version of OrientDB would probably have secured massive amounts of venture capital funding, much of which would have been spent on public relations and employing well-known industry types to lend the product credibility, and TechCrunch would have been fawning in its coverage.
I’m still in the experimental phase of evaluation but when I happened to find out that the PHP OrientDB PHP Library offers an implementation of Dijkstra’s algorithm, it was a bit like paraphrasing that scene from Jerry Maguire, “you had me at Dijkstra’s algorithm”.