OrientDB

OrientDB is an open source NoSQL database management system written in Java. It is a Multi-model database, supporting graph, document, key/value, and object models,[2] but 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", there are plans to implement LSM-tree and Fractal tree index based indexes. Each record has Surrogate key which indicates position of record inside of Array list , links between records are stored either as single value of record's position stored inside of referrer or as B-tree of record positions (so-called record IDs or RIDs) which allows fast traversal (with O(1) complexity) of one-to-many relationships and fast addition/removal of new links. OrientDB is the third most popular graph database according to the DB-Engines graph database ranking,[3] as of September 2017.

OrientDB
Developer(s)OrientDB Ltd
Initial release2010 (2010)
Stable release
3.1.0 / June 1, 2020 (2020-06-01)[1]
Repository
Written inJava
PlatformJava SE
TypeDocument-oriented database, Graph database, Multi-model database
LicenseApache 2 License
Websiteorientdb.org

The development of OrientDB still relies on an open source community led by OrientDB LTD company created by its original author Luca Garulli. The project uses GitHub[4] to manage the sources, contributors and versioning, Google Group[5] and Stack Overflow[6] to provide free support to the worldwide users. OrientDB also offers a free Udemy course[7] for those hoping to learn the basics and get started with OrientDB.

Engine

OrientDB is built with a multi-model graph/document engine. OrientDB feels like a graph database first, but there's no reason the key-value store can't be used on its own.[8] 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.[9] OrientDB handles every record / document as an object and the linking between objects / documents is not through references, it's direct linking (saving a pointer to the object). This leads to quick retrieval of related data as compared to joins in an RDBMS.[10]

Editions & licenses

OrientDB Community Edition is free for any use (Apache 2 license). The open source software is built upon by a community of developers. Features such as horizontal scaling, fault tolerance, clustering, sharding, and replication aren’t disabled in the OrientDB Community Edition.

OrientDB Enterprise Edition is the commercial extension of OrientDB Community Edition created to handle more robust and demanding use cases. OrientDB Enterprise Edition includes additional features such as a query profiler, distributed clustering configuration, metrics recording, a live monitor, Teleporter (a migration tool), and configurable alerts.[11]

Features

  • Quick installation. OrientDB can be installed and running in less than 60 seconds[12]
  • Fully transactional: supports ACID transactions guaranteeing that all database transactions are processed reliably and in the event of a crash all pending documents are recovered and committed.
  • Graph structured data model: native management of graphs. Fully compliant with the Apache TinkerPop[13] Gremlin (previously known as Blueprints)[14] open source graph computing framework.
  • SQL: supports SQL queries with extensions to handle relationships without SQL join, manage trees, and graphs of connected documents.
  • Web technologies: natively supports HTTP, RESTful protocol, and JSON additional libraries or components.
  • Distributed: full support for multi-master replication including geographically distributed clusters.
  • Run anywhere: implemented using pure Java allowing it to be run on Linux, OS X, Windows, or any system with a compliant JVM.
  • 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.
  • Full server has a footprint of about 512 MB.
  • Commercial support is available from OrientDB.
  • Pattern matching: Introduced in version 2.2, the Match statement queries the database in a declarative manner, using pattern matching.[15]
  • Security features introduced in OrientDB 2.2 provide an extensible framework for adding external authenticators, password validation, LDAP import of database roles and users, advanced auditing capabilities, and syslog support. OrientDB Enterprise Edition provides Kerberos (protocol) authentication full browser SPNEGO support. When it comes to database encryption, starting with version 2.2, OrientDB can encrypt records on disk. This prevents unauthorized users from accessing database content or even from bypassing OrientDB security.[16]
  • Teleporter: Allows relational databases to be quickly imported into OrientDB in few simple steps.[17]
  • Cloud ready: OrientDB can be deployed in the cloud and supports the following providers: Amazon Web Services, Microsoft Azure, CenturyLink Cloud, Jelastic, DigitalOcean[18]

Applications

History

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), which was originally written in C++. During 2012–2014 years storage engine was redeveloped by Andrey 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 Andrey Lomakin has joined the company as R&D lead engineer and company's co-owner.[26][27]

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?".[28][29] 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.[30]

On September 15, 2017, OrientDB LTD company has been acquired by CallidusCloud a public company traded on NASDAQ.[31]

On January 30, 2018, it was announced SAP (company) acquired CallidusCloud for $2.4 billion.[32] and therefore OrientDB is now supported by SAP (company).

See also

References

  1. "OrientDB 3.1 Release Notes". Retrieved 26 June 2020.
  2. "Multi-Model Database - OrientDB Manual".
  3. "DB-Engines Ranking - popularity ranking of graph DBMS".
  4. "orientechnologies/orientdb". 30 May 2020.
  5. "Google Groups".
  6. "Posts containing 'orientdb' - Stack Overflow".
  7. "OrientDB - Getting Started - Udemy".
  8. Wayner, Peter (21 September 2015). "11 cutting-edge databases worth exploring now".
  9. Ltd., Bloor Research International (6 August 2014). "Diaku: more than governance - Bloor".
  10. "Hidden Gems of Web / Mobile Development from Open-Source". Archived from the original on 2016-10-13.
  11. "OrientDB - Distributed Multi-Model and Graph Database".
  12. OrientDB (3 June 2016). "OrientDB setup" via YouTube.
  13. TinkerPop, Apache. "Apache TinkerPop".
  14. "Archived copy". Archived from the original on 2013-01-14. Retrieved 2020-04-26.CS1 maint: archived copy as title (link)
  15. "Match · OrientDB Manual".
  16. "Security v2.2 New Features · OrientDB Manual".
  17. "Teleporter · OrientDB Manual".
  18. "OrientDB in the Cloud - Scalable and with Zero Configuration".
  19. "Harness graphs & documents for Real-time Fraud Prevention".
  20. "Why I Use OrientDB on Production Applications - DZone Database".
  21. Nuix. "Nuix 7 Conquers Customer Challenges for Today and Builds Hyper-Scale Capacity for the Future".
  22. "Diaku Axon - Data Governance powered by OrientDB".
  23. Bonnici, V; Russo, F; Bombieri, N; Pulvirenti, A; Giugno, R (2014). "Comprehensive reconstruction and visualization of non-coding regulatory networks in human". Front Bioeng Biotechnol. 2: 69. doi:10.3389/fbioe.2014.00069. PMC 4261811. PMID 25540777.
  24. "MovieLens recommendation engine with OrientDB - Pizza Connections". Archived from the original on 2017-07-26. Retrieved 2016-07-15.
  25. "Traffic Management Systems with OrientDB".
  26. "Expert Interview with Luca Garulli Of OrientDB On Multi-Model Database Management For Big Data". 18 May 2015. Archived from the original on 22 May 2015. Retrieved 15 July 2016.
  27. admin. "Intervista a Luca Garulli – JavaStaff.com".
  28. "Multi-Model storage 1/2 one product". 2012-06-01. Cite journal requires |journal= (help)
  29. "Nosql Matters Conference 2012 | NoSQL Matters CGN 2012" (PDF). 2012.nosql-matters.org. Retrieved 2017-01-12.
  30. staff, InfoWorld (16 September 2015). "Bossie Awards 2015: The best open source application development tools".
  31. "CallidusCloud Acquires Leading Multi-Model Database Technology" (Press release). 2017-09-19. Retrieved 2017-10-11.
  32. "SAP snags CallidusCloud for $2.4 billion". TechCrunch. January 30, 2018. Retrieved January 30, 2018.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.