Neo4j
Neo4j is a graph database management system developed by Neo4j, Inc. Described by its developers as an ACID-compliant transactional database with native graph storage and processing,[3] Neo4j is the most popular graph database according to DB-Engines ranking,[4] and the 21st most popular database overall.[5]
Developer(s) | Neo4j |
---|---|
Initial release | 2007[1] |
Stable release | 4.1.1
/ July 14, 2020[2] |
Repository | |
Written in | Java |
Type | Graph database |
License |
|
Website | neo4j |
Neo4j is available in a GPL3-licensed open-source "community edition", with online backup and high availability extensions licensed under a closed-source commercial license.[6] Neo also licenses Neo4j with these extensions under closed-source commercial terms.[7]
Neo4j is implemented in Java and accessible from software written in other languages using the Cypher query language through a transactional HTTP endpoint, or through the binary "bolt" protocol.[8][9][10][11]
History
Version 1.0 was released in February 2010.[12]
Neo4j version 2.0 was released in December 2013.[13]
Neo4j version 3.0 was released in April 2016.[14]
In November 2016 Neo4j successfully secured $36M in Series D Funding led by Greenbridge Partners Ltd.[15]
In November 2018 Neo4j successfully secured $80M in Series E Funding led by One Peak Partners and Morgan Stanley Expansion Capital, with participation from other investors including Creandum, Eight Roads and Greenbridge Partners.[16]
Release history
Release | First release[17] | Latest
minor version[18] |
Latest release[18] | End of Support Date[17] |
Milestones |
---|---|---|---|---|---|
1.0 | 2010-02-23 | 1.0 | N/A | 2011-08-23 | Kernel, Index, Remote-graphdb, Shell[19] |
1.1 | 2010-07-30 | 1.1 | N/A | 2012-01-30 | Graph-algo, Online-backup[19] |
1.2 | 2010-12-29 | 1.2 | N/A | 2012-06-29 | Server including Web Admin, High Availability, Usage Data Collection[19] |
1.3 | 2011-04-12 | 1.3 | N/A | 2012-09-12 | Neo4j Community now licensed under GPL, 256 Billion database primitives, Gremlin 0.8[19] |
1.4 | 2011-07-08 | 1.4 | N/A | 2013-01-08 | The first iteration of the Cypher Query Language, Experimental support for batch operations in REST |
1.5 | 2011-11-09 | 1.5 | N/A | 2013-03-09 | Store Format Change, Added DISTINCT to all aggregate functions in Cypher,
New layout of the property store(s), Upgraded to Lucene version 3.5[19] |
1.6 | 2012-01-22 | 1.6 | N/A | 2013-07-22 | Cypher allShortestPaths, management bean for the diagnostics logging SPI, gremlin 1.4[19] |
1.7 | 2012-04-18 | 1.7 | N/A | 2013-10-18 | Moved BatchInserter to a different package, lock free atomic array cache, GC monitor[19] |
1.8 | 2012-09-28 | 1.8 | N/A | 2014-03-28 | Bidirectional traversals, Multiple start nodes[19] |
1.9 | 2013-05-21 | 1.9.9 | 2014-10-13 | 2014-11-21 | Performance improvement on initial loading of relationship types during startup,
Pulled out Gremlin as separate plugin to support different versions[20] |
2.0 | 2013-12-11 | 2.0.4 | 2014-07-08 | 2015-06-11 | Extending model to “labeled” property graph and introduced visual IDE[21][22] |
2.1 | 2014-05-29 | 2.1.8 | 2015-04-01 | 2015-11-29 | Cypher new cost based planner, Fixes issue in ReferenceCache, potential ommission, potential lock leak[23] |
2.2 | 2015-03-25 | 2.2.10 | 2016-06-16 | 2016-09-25 | Massive Write Scalability, Massive Read Scalability, Cost-based query optimizer,
Query plan visualization[24] |
2.3 | 2015-10-21 | 2.3.12 | 2017-12-12 | 2017-04-21 | Break free of JVM-imposed limitations by moving the database cache off-heap,
Spring Data Neo4j 4.0, Neo4j-Docker Image, Windows Powershell Support, Mac Installer, and Launcher[25] |
3.0 | 2016-04-16 | 3.0.12 | 2017-10-03 | 2017-10-31 | user-defined/stored procedures called APOC (Awesome Procedures on Cypher),
Bolt binary protocol, in-house language drivers for Java, .NET, JavaScript and Python[26][22] |
3.1 | 2016-12-13 | 3.1.9 | 2018-06-05 | 2018-06-13 | Causal Clustering, Enterprise-Class Security and Control, User-Defined Functions,
Neo4j IBM POWER8 CAPI Flash, User and role-based security and directory integrations[27][22] |
3.2 | 2017-05-11 | 3.2.14 | 2019-02-26 | 2018-11-31 | Multi-Data Center Support, Causal Clustering API, Compiled Cypher Runtime, Node Keys,
Query Monitoring, Kerberos Encryption, Clustering on CAPI Flash, Schema constraints, new indexes and new Cypher editor with syntax highlights and autocompletion[28][22] |
3.3 | 2017-10-24 | 3.3.9 | 2018-11-02 | 2019-04-28 | Write performance is 55% faster than Neo4j 3.2, Neo4j Data Lake Integrator toolkit, Neo4j ETL[29] |
3.4 | 2018-05-17 | 3.4.17 | 2019-11-19 | 2020-03-31 | Multi-Clustering, New Data Types for Space and Time, Performance Improvements[30] |
3.5 | 2018-11-29 | 3.5.20 | 2020-07-13 | 2021-11-28 | Native indexing, Full-text search, The recommended index provider to use is native-btree-1.0[31] |
4.0 | 2020-01-15 | 4.0.7 | 2020-07-20 | 2021-07-14 | Java 11 is required, Multiple databases, Internal metadata repository “system” database,
Schema-based security and Role-Based Access Control, Role and user management capabilities, Sharding and federated access, A new neo4j:// scheme[32][33] |
4.1 | 2020-06-23 | 4.1.1 | 2020-07-14 | 2023-06-22 | Graph privileges in Role-Based Access Control (RBAC) security, Database privileges for transaction management, Database management privileges, PUBLIC built-in role, Cluster Leadership Control, Cluster Leadership Balancing, Cypher Query Replanning Option, Cypher PIPELINED Runtime operators, Automatic routing of administration commands[34] |
Licensing and editions
Neo4j comes in 2 editions: Community and Enterprise. It is dual-licensed: GPL v3 and a commercial license. The Community Edition is free but is limited to running on one node only due to the lack of clustering and is without hot backups.[35]
The Enterprise Edition unlocks these limitations, allowing for clustering, hot backups, and monitoring. The Enterprise Edition is available under a closed-source Commercial license.
Data structure
In Neo4j, everything is stored in the form of an edge, node, or attribute. Each node and edge can have any number of attributes. Both nodes and edges can be labelled. Labels can be used to narrow searches. As of version 2.0, indexing was added to Cypher with the introduction of schemas.[36] Previously, indexes were supported separately from Cypher.[37]
Neo4j, Inc.
Neo4j is developed by Neo4j, Inc., based in the San Francisco Bay Area, United States, and also in Malmö, Sweden. The Neo4j, Inc. board of directors consists of Michael Treskow (Eight Roads), Emmanuel Lang (Greenbridge), Christian Jepsen, Denise Persson (CMO of Snowflake), David Klein (One Peak), and Emil Eifrem (CEO of Neo4j).[38]
References
- Neubauer, Peter [@peterneubauer] (17 Feb 2010). "@sarkkine #Neo4j was developed as part of a CMS SaaS 2000-2007, became released OSS 2007 when Neo Technology spun out" (Tweet) – via Twitter.
- "Release Notes: Neo4j 4.1.1". Neo4j. 2020-07-14. Retrieved July 14, 2020.
- Neo Technology. "Neo4j Graph Database". Retrieved 2015-11-04.
- "DB-Engines Ranking of Graph DBMS". DB-Engines. 2018-06-01. Retrieved 2018-06-20.
- "DB-Engines Ranking - popularity ranking of database management systems". db-engines.com. Retrieved 2018-08-15.
- Philip Rathle (November 15, 2018). "Simplicity Wins: We're Shifting to an Open Core Licensing Model for Neo4j Enterprise Edition". Retrieved 2019-01-16.
- Emil Eifrem (April 13, 2011). "Graph Databases, Licensing and MySQL". Archived from the original on 2011-04-26. Retrieved 2011-04-29.
- "Bolt Protocol".
- Todd Hoff (June 13, 2009). "Neo4j - a Graph Database that Kicks Buttox". High Scalability. Possibility Outpost. Retrieved 2010-02-17.
- Gavin Terrill (June 5, 2008). "Neo4j - an Embedded, Network Database". InfoQ. C4Media Inc. Retrieved 2010-02-17.
- "5.1. Transactional Cypher HTTP endpoint". Retrieved 2015-11-04.
- "The top 10 ways to get to know Neo4j". Neo4j Blog. February 16, 2010. Retrieved 2010-02-17.
- "Neo4j 2.0 GA - Graphs for Everyone". Neo4j Blog. December 11, 2013. Retrieved 2014-01-10.
- "Neo4j 3.0.0 - Neo4j Graph Database Platform". Release Date. April 26, 2016. Retrieved 2020-04-23.
- "Neo Technology closes $36 million in funding as graph database adoption soars". SiliconANGLE. Retrieved 2016-11-21.
- "Graph database platform Neo4j locks in $80 mln Series E". PE Hub Wire. Archived from the original on 2019-04-26. Retrieved 2018-11-01.
- "Neo4j Supported Versions". Neo4j Graph Database Platform. Retrieved 2020-06-23.
- "Release Notes Archive". Neo4j Graph Database Platform. Retrieved 2020-06-23.
- "neo4j/neo4j". GitHub. Retrieved 2020-01-28.
- "neo4j/neo4j". GitHub. Retrieved 2020-01-28.
- "neo4j/neo4j". GitHub. Retrieved 2020-01-28.
- "Neo4j Open Source Project". Neo4j Graph Database Platform. Retrieved 2020-01-28.
- "neo4j/neo4j". GitHub. Retrieved 2020-01-28.
- "Neo4j 2.2.0". Neo4j Graph Database Platform. Retrieved 2020-01-28.
- "Neo4j 2.3.0". Neo4j Graph Database Platform. Retrieved 2020-01-28.
- "Neo4j 3.0.0". Neo4j Graph Database Platform. Retrieved 2020-01-28.
- "Neo4j 3.1.0". Neo4j Graph Database Platform. Retrieved 2020-01-28.
- "Neo4j 3.2.0". Neo4j Graph Database Platform. Retrieved 2020-01-28.
- "Neo4j 3.3.0". Neo4j Graph Database Platform. Retrieved 2020-01-28.
- "Neo4j 3.4.0". Neo4j Graph Database Platform. Retrieved 2020-01-28.
- "Neo4j 3.5.0". Neo4j Graph Database Platform. Retrieved 2020-01-28.
- "Neo4j 4.0.0". Neo4j Graph Database Platform. Retrieved 2020-01-28.
- "2.1. System requirements - Chapter 2. Installation". neo4j.com. Retrieved 2020-01-28.
- "Neo4j 4.1.0". Neo4j Graph Database Platform. Retrieved 2020-06-23.
- "The Neo4j Editions".
- "The Neo4j Manual v2.1.5".
- "The Neo4j Manual v1.8.3".
- Neo4j. "Staff - Neo4j Graph Database". Retrieved 2020-06-19.