OrientDB
Encyclopedia
OrientDB is an open source NoSQL
database management system
written in Java
. Even if it is a document-based database, 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 SQL
as a query languages. Thanks to the SQL layer OrientDB is straightforward to use. This results in ease-of-use for people skilled in the relational database model.
OrientDB uses a new indexing algorithm called MVRB-Tree, derived from the Red-Black Tree
and from the B+Tree; this reportedly has benefits of having both fast insertions and ultra fast lookups.
Nosql
In computing, NoSQL is a broad class of database management systems that differ from the classic model of the relational database management system in some significant ways. These data stores may not require fixed table schemas, usually avoid join operations, and typically scale horizontally...
database management system
Database management system
A database management system is a software package with computer programs that control the creation, maintenance, and use of a database. It allows organizations to conveniently develop databases for various applications by database administrators and other specialists. A database is an integrated...
written in Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
. Even if it is a document-based database, 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 SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....
as a query languages. Thanks to the SQL layer OrientDB is straightforward to use. This results in ease-of-use for people skilled in the relational database model.
OrientDB uses a new indexing algorithm called MVRB-Tree, derived from the Red-Black Tree
Red-black tree
A red–black tree is a type of self-balancing binary search tree, a data structure used in computer science, typically to implement associative arrays. The original structure was invented in 1972 by Rudolf Bayer and named "symmetric binary B-tree," but acquired its modern name in a paper in 1978 by...
and from the B+Tree; this reportedly has benefits of having both fast insertions and ultra fast lookups.
Features
- Transactional: supports ACIDACIDIn computer science, ACID is a set of properties that guarantee database transactions are processed reliably. In the context of databases, a single logical operation on the data is called a transaction...
Transactions. On crash it recovers pending documents - GraphDB: native management of graphs. 100% compliant with TinkerPop Blueprints standard for Graph databaseGraph databaseA graph database uses graph structures with nodes, edges, and properties to represent and store data. By definition, a graph database is any storage system that provides index-free adjacency. General graph databases that can store any graph are distinct from specialized graph databases such as...
- SQLSQLSQL is a programming language designed for managing data in relational database management systems ....
: supports SQL language with extensions to handle relationships without SQL join, manage trees and graphs of connected documents - Web ready: supports natively HTTP, RESTful protocol and JSONJSONJSON , or JavaScript Object Notation, is a lightweight text-based open standard designed for human-readable data interchange. It is derived from the JavaScript scripting language for representing simple data structures and associative arrays, called objects...
without use 3rd party libraries and components - Run everywhere: the engine is 100% pure JavaJava (programming language)Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
: runs on Linux, Windows and any system that supports Java technology - Embeddable: local mode to use the database bypassing the Server. Perfect for scenarios where the database is embedded
- Apache 2 License: always free for any usage. No fees or royalties required to use it
- Light: has a footprint of about 1Mb for the full server. No dependencies from other software. No other libraries needed
- Commercial support available