OrientDB is the most versatile DBMS supporting Graph, Document, Reactive, Full-Text, Geospatial and Key-Value models in one Multi-Model product. OrientDB can run distributed (Multi-Master), supports SQL, ACID Transactions, Full-Text indexing and Reactive Queries. OrientDB Community Edition is Open Source using a liberal Apache 2 license.
Java PLpgSQL Shell Batchfile Groovy HTML
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.github updated issue template Jan 30, 2017
.mvn updates mvnw to 3.5.3 Jun 16, 2018
_base removed old leftover base ant build Sep 14, 2017
client fixed compilation error due to wrong cherry-pick Aug 8, 2018
core fixed issue on unique index validation on distributed coordinator node Aug 17, 2018
crashtests cleaned schema hierarchy, removed methods not needed since a while ago Jul 12, 2018
distributed Revert "add LSN notification on structural query execution in distrib… Aug 17, 2018
distribution-tp2 Set version to 3.1.0-SNAPSHOT Jul 5, 2018
distribution Set version to 3.1.0-SNAPSHOT Jul 5, 2018
etl fix hanging ETL process Aug 9, 2018
graphdb removed not needed flags and parameters from record iterators Aug 7, 2018
javassist version bumped to 3.0.0-SNAPSHOT Dec 18, 2017
jdbc update minor version on JDBC metadata test Jul 5, 2018
lucene Set version to 3.1.0-SNAPSHOT Jul 5, 2018
object Implement OViewDocument and refactor the management of updatable views Aug 9, 2018
server Added Database to OClientConnection when executing a Database request Aug 6, 2018
test-commons Set version to 3.1.0-SNAPSHOT Jul 5, 2018
tests removed not needed flags and parameters from record iterators Aug 7, 2018
tools Set version to 3.1.0-SNAPSHOT Jul 5, 2018
.gitignore updates gitignore: linux, mac, windows, eclipse, idea, gradle, maven May 9, 2017
.travis.yml tests enabled Dec 16, 2015
Jenkinsfile disable QA tests for now (fixing testcontainers) Jun 20, 2018
Jenkinsfile-crash.groovy refactors Jenkins files Dec 29, 2016
Jenkinsfile-distributed.groovy increase timeout to 240 mins Dec 30, 2016
Jenkinsfile.PREV refactors Jenkins files Dec 29, 2016
README.md edit OrientDB license info so that GitHub recognizes it Jun 9, 2018
findbugs_filter.xml toglle x flag off fo txt files Feb 17, 2016
history.txt update history for v 3.0.3 Jul 2, 2018
license.txt edit OrientDB license info so that GitHub recognizes it Jun 9, 2018
mvnw adds mvn wrapper Jun 16, 2018
mvnw.cmd adds mvn wrapper Jun 16, 2018
pom.xml Set version to 3.1.0-SNAPSHOT Jul 5, 2018
readme.txt updates readme and history for 3.0.0 Feb 23, 2017
upgrade.txt Revert "remove redundant file" Nov 13, 2014

README.md

OrientDB

License Develop branch: Build Status 2.2.x branch: Build Status Chat with the community: Gitter chat

What is OrientDB?

OrientDB is an Open Source Multi-Model NoSQL DBMS with the support of Native Graphs, Documents Full-Text, Reactivity, Geo-Spatial and Object Oriented concepts. It's written in Java and it's amazingly fast: it can store 220,000 records per second on common hardware. No expensive run-time JOINs, connections are managed as persistent pointers between records. You can traverse thousands 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 people skilled in the Relational world.

Get started with OrientDB.

Is OrientDB a Relational DBMS?

No. OrientDB adheres to the NoSQL movement even though it supports ACID Transactions and SQL as query language. In this way it's easy to start using it without having to learn too much new stuff.

Scalability: the database is the bottleneck of most applications

The most common reason applications scale out badly is, very often, the database. The database is the bottleneck of most applications. OrientDB scales out very well on multiple machines, thanks to the Multi-Master replication where there is no single bottleneck on writes like with Master-Slave replication. The database can be 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 on a single server or multiple nodes.

I can't believe it! Why is it so fast?

OrientDB has been designed to be very fast. It inherits the best features and concepts from Object Databases, Graph DBMS and modern NoSQL engines. OrientDB manages relationships without the run-time costly join operation, but rather with direct pointers (links) between records. No matters if you have 1 or 1,000 Billion of records, the traversing cost remains constant. Download the Benchmark PDF XGDBench: A Benchmarking Platform for Graph Stores in Exascale Clouds by Tokyo Institute of Technology and IBM Research.

How does it compare with other products?

As Multi-Model DBMS, OrientDB could work as an extended Document Database and an extended Graph Database. Take a look at OrientDB vs MongoDB for Document Databases and OrientDB vs Neo4j to have a comparison with a popular Graph Database.

Easy to install and use

Yes. OrientDB is totally written in Java and can run on any platform without configuration and installation. The full Server distribution is a few MBs without the demo database. Do you develop with a language different than Java? No problem, look at the Programming Language Binding.

Professional services

OrientDB Community Edition is free for any use (Apache 2 license). If you are in production don't miss the Enterprise Edition and professional support service. For courses and training look at the on-line course catalog.

Main References

Get started with OrientDB.


Licensing

OrientDB is licensed by OrientDB LTD under the Apache 2 license. OrientDB relies on the following 3rd party libraries, which are compatible with the Apache license:

References:

Sponsors

YourKit supports open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of YourKit Java Profiler and YourKit .NET Profiler, innovative and intelligent tools for profiling Java and .NET applications.


security status | stability status