What is OrientDB?


OrientDB is an Open Source NoSQL DBMS with the features of both Document and Graph DBMSs. Written in Java, it is incredibly fast: it can store up to 150,000 records per second on common hardware. Even for a Document based database, the relationships are managed as in Graph Databases with direct connections among records. You can traverse parts of or entire trees and graphs of records in a few milliseconds. Supports schema-less, schema-full and schema-mixed modes. Has a strong security profiling system based on user and roles and supports SQL amongst the query languages. Thanks to the SQL layer, it’s straightforward to use for those skilled in the relational database world.



Resources GitHub Project
Getting Started
Issue Tracker




OrientDB comes in two editions. Community Edition is FREE for any use (Apache 2 license). Enterprise Edition is commercial software developed by the same team that developed the OrientDB engine. If you’re using OrientDB in production, don’t miss the Professional Support service.


Is it a Relational DBMS?


No. OrientDB adheres to the NoSQL movement, even though it supports a subset of SQL as query language. In this way, it’s easy to start using it without having to learn too much new stuff. OrientDB is a Document Database, but has the best features of other DBMSs. For example, relationships are handled as in Graph Databases.


How does it compare with other products?


OrientDB is a Document-Graph DBMS, so you can compare it against DocumentDB and GraphDB products. If you already know MongoDB, look at OrientDB vs MongoDB page.

Take a look also at GraphDB comparison and DocumentDB comparison. What about speed? Download the independent Benchmark between GraphDB products “XGDBench: A Benchmarking Platform for Graph Stores in Exascale Clouds“ by Tokyo Institute of Technology and IBM Research.


Why is it so fast?


OrientDB has been designed to be very fast. It inherits the best features and concepts from Document, Graph and Object Databases. Furthermore it uses the own MVRB-Tree algorithm as a mix of Red-Black Tree and B+Tree. MVRB-Tree consumes about half memory of the Red-Black Tree implementation maintaining the original speed while it balances the tree on insertion/update. Furthermore the MVRB-Tree allows fast retrieving and storing of nodes in persistent way.


How does it perform in regards to scalability?


The most common reason applications scale up badly is, very often, the database. The database is the bottleneck of most applications.  OrientDB scales up very well on a single machine. A single server does the work of about 125 servers running MySQL.  The transactional engine can run in distributed systems supporting up to 302,231,454,903,657 billion (2^78) records for the maximum capacity of 19,807,040,628,566,084 Terabytes of data distributed on multiple disks in multiple nodes.

When you need more throughput simply add a new server in the network and it will join the current distributed server cluster. Synchronization occurs automatically as soon as the server is brought online. You can’t get much easier than that!


What about reliability?


What happens when a server node crashes? The server cluster redistributes the load across the available nodes and all the clients connected to the node in failure are automatically switched to an available server node with no fail-over to the application level.


Easy to install and use?


Absolutely. OrientDB is written completely in Java and can run on any platform without configuration and installation. The Full Server distribution is about 1Mb without the demo database. Do you develop with a language different than Java? No problem, just take a look at the Programming Language Bindings.