OrientDB is an open source NoSQLdatabase management system written in Java. It is a Multi-model database, supporting graph, document and object models,[2] the relationships are managed as in graph databases with direct connections between records. It supports schema-less, schema-full and schema-mixed modes. It has a strong security profiling system based on users and roles and supports querying with Gremlin along with SQL extended for graph traversal. OrientDB uses several indexing mechanisms based on B-tree and Extendible hashing, the last one is known as "hash index". Each record has Surrogate key which indicates the position of the record on disk. Links between records (edges) are stored either as the record's position stored directly inside of the referrer or as B-tree of record positions (so-called record IDs or RIDs), that serves as a container of RIDs, which allows fast traversal (with O(1) complexity) of one-to-many relationships and fast addition/removal of new links. OrientDB is the 6th most popular graph database according to the DB-Engines graph database ranking,[3] as of January 2024.
The development of OrientDB relies on an open-source community. The project uses GitHub[4] to manage the sources, contributors and versioning.
Engine
OrientDB is built with a multi-model graph/document engine. While OrientDB includes a SQL layer, the support for edges effectively means that these may be used to traverse relationships rather than employing a JOIN statement.[5] OrientDB handles every record / document as an object and the linking between objects / documents is implemented using direct pointers to the record's positions on disk. This leads to quick retrieval of related data as compared to joins in an RDBMS.[6]
Editions & licenses
OrientDB Community Edition is free for any use (Apache 2 license). There is no commercial version of OrientDB.
OrientDB was originally authored by Luca Garulli in 2010. Luca wrote it as a Java rewrite of the fast persistent layer of Orient ODBMS database (originally developed by Luca Garulli in 1999 in C++). During 2012–2014 years storage engine was redeveloped by Andrii Lomakin. It has got a new name "plocal" which stands for "paginated local". This name implies that the new storage engine is based on the concept of the splitting of data files by pages and page is treated as a single atomic unit of change. Since 2012, the project is being sponsored by OrientDB LTD (former Orient Technologies LTD), a for-profit company with Luca as its CEO and founder. In 2013 Andrii Lomakin has joined the company as R&D lead engineer and company's co-owner.[14][15]
The first time the word "multi-model" has been associated to the databases was on May 30, 2012, in Cologne, Germany, during Luca Garulli's keynote "NoSQL Adoption – What’s the Next Step?".[16][17] Luca Garulli envisioned the evolution of the 1st generation NoSQL products into new products with more features able to be used by multiple use cases. OrientDB was the first product to embrace documents, graphs, key-value, geospatial and reactive models in the same product, at the core level. This means that the multiple models were integrated into the core without using layers. For this reason, OrientDB is a "Native" Multi-model database.
OrientDB has been covered by media outlets and is the winner of the 2015 InfoWorld Bossie award.[18]
On September 15, 2017, OrientDB LTD company has been acquired by CallidusCloud a public company traded on NASDAQ.[19]
On January 30, 2018, it was announced SAP (company) acquired CallidusCloud for $2.4 billion.[20] and therefore OrientDB is now supported by SAP (company).
On September 1, 2021,[21] the original founder Luca Garulli left SAP (company) and created a new database project ArcadeDB with a similar data presentation model after SAP decided to stop providing commercial support for OrientDB.