5 Best Open Source Graph Databases

There are many reasons for searching the best open source Graph Database programs. In the last few years, Graph Databases are becoming more and more popular, as they provide a great flexibility to represent your data.

The majority of Graph Databases are written in Java but there is a list of good solutions in Python, .NET, PHP, and C++.

What is Graph database?

Graph database helps you discover relationships between data. In Mathematical meaning, a Graph is a collection of elements – called Nodes that are joined together by Edges.

Each Node depicts some information and each Edge depicts a connection between two Nodes. With this in mind, a Graph Database is just a Database Program that models Nodes and Edges in a Graph as first-class units.

The main idea behind those Graphs is to allow you represent complex connections between data in a much more clear and understandable way. They make it easier to form different associations and create theories about your data.

Here, we collected some of the best free and open source graph databases.

1. Neo4j’s Community Edition

Neo4j is one of the most popular highly scalable and native graph database (written in Java) designed to leverage data relationships.

Neo4j’s Graph Platform is optimized to store, map, analyze, and traverse networks of connected data in order to uncover invisible contexts and hidden relationships.

With the help of intuitively mapping data points and the connections between them, Neo4j powers intelligent, real-time applications including: artificial intelligence, machine learning; the internet of things; real-time recommendations; master data management; fraud detection; identity and access management.

Neo4j’s comes with 2 editions: community and enterprise edition. Community Edition is ideal for learning Neo4j and small projects that do not require high levels of scaling or professional services and support. Enterprise Edition has the same features as Community Edition, with enterprise-grade availability, management, and scale-up and scale-out capabilities.

Key features and benefits of Neo4j’s Community Edition:

  • Labeled property graph model
  • Native graph processing & storage
  • Cypher graph query language
  • Fast writes via native label indexes
  • Fast reads via composite indexes
  • ACID Transactions
  • High-performance native API
  • Language drivers for Java, Python, C# & JavaScript, PHP, NodeJS, etc.
  • Extremely fast.

2. HyperGraphDB

HyperGraphDB is an open-source data storage mechanism with a general-purpose. As the name suggests, it is a database for storing hypergraphs.

HyperGraphDB is designed mainly for knowledge management, AI, and semantic web projects, but it is also used as an embedded object-oriented database for Java projects of all sizes. Or a graph database.

While HyperGraphDB falls into the general family of graph databases, much of its design provides the means to manage structure-rich information with arbitrary layers of complexity.

Key features and benefits:

  • Graph-oriented storage.
  • Powerful data modeling and knowledge representation.
  • N-ary, higher-order relationships between graph Nodes.
  • Graph traversals.
  • Relational-style queries.
  • Customizable indexing and storage management.
  • Extensible, dynamic DB schema.
  • Out of the box Java OO database.
  • Non-blocking concurrent writes and reads!
  • P2P framework for data distribution.

3. Titan Distributed Graph Database

Titan is one of the most scalable open source graph database optimized for storing and querying graphs containing hundreds of billions of vertices and edges.

You can do it in a Hadoop (one of the best big data tools for storage and management data), extremely helpful for huge datasets.

Titan is a transactional database that supports thousands of concurrent users executing complex graphs in real time. Titan has elastic and linear scalability for a growing data and user base. Implementation language – Java.

Key features and benefits:

  • Multi-datacenter high availability.
  • Support for ACID and eventual consistency.
  • Support for various storage backends: Apache Cassandra, Apache HBase, Oracle BerkeleyDB.
  • Support for global graph data analytics, reporting, and ETL through integration with big data platforms: Apache Spark, Apache Giraph, and Apache Hadoop.
  • Support for geo, numeric range, and full-text search via: ElasticSearch, Solr, Lucene.
  • Native integration with the TinkerPop graph stack: Gremlin graph query language, Gremlin graph server, Gremlin applications.

4. ArangoDB

ArangoDB is a very fast solution thanks to its C++ core. You can use ArangoDB as a specialized database for key/values, documents or graphs and mix up those data models in one query.

ArangoDB is designed as a native multi-model database that allows you model your data in a very flexible way and support a large number of use cases.

You can extend ArangoDB to suit better your needs. You can add logic through Foxx, a Google V8 powered JavaScript framework for database microservices, providing full access to the functionality of ArangoDB on a C++ level.

Key features and benefits:

  • Pattern Matching
  • Shortest Path
  • Distributed Graphs
  • Nested Properties
  • Full blown Traversals
  • Transactions
  • Self-organizing cluster state management.
  • Fast cluster startup and much more.

5. Apache TinkerPop

Apache TinkerPop is also a great open source graph database that is gaining popularity. Apache TinkerPop is a vendor-agnostic, graph computing framework distributed for both batch analytic graph processors (OLAP) and real-time, transactional graph databases (OLTP).

When a data system is TinkerPop-enabled, you are able to model your domain as a graph and analyze it using the Gremlin graph traversal language. Moreover, all TinkerPop-enabled systems integrate with one another.

Key features and benefits:

  • Graph traversal language – Gremlin designed to work across languages.
  • Tying together relational and graph databases in one model.
  • Up until Tinkerpop 3 is an option for people working in Python and other languages.
  • Can be used for small graphs or massive graphs in a distributed environment.
  • OLTP and OLAP traversals
  • Imperative and declarative traversals.

Need More Open Source Graph Databases?

Here are some other good solutions:

  • ThingSpan – massively scalable Graph analytics platform. It is powered by Objectivity/DB, that leverages the open source stack by natively integrating with Apache Spark and the Hadoop Distributed File System.
  • Cayley – an open-source graph inspired by the graph database behind Freebase and Google’s Knowledge Graph.
  • OpenLink Virtuoso – a modern enterprise-grade solution for data access, virtualization, integration and multi-model relational database management.
  • Apache Giraph – an iterative graph processing system built for high scalability.
  • VelocityGraph –  an open source C# .NET hybrid NoSQL Graph Database and Object Database that can be Distributed. high-performance data persistence.
  • InfoGrid – an open source web Graph Database with many additional software components.

One Response

  1. Jamie

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.