Skip to content

Latest commit

 

History

History
104 lines (69 loc) · 5.98 KB

janusgraph.adoc

File metadata and controls

104 lines (69 loc) · 5.98 KB

ACCEPTED December 3, 2020

JanusGraph Project Proposal

Name of the project: JanusGraph

Requested maturity level: Incubation

Project description:

JanusGraph is an open source, distributed graph database under The Linux Foundation. JanusGraph is available under the Apache License 2.0. The project is supported by IBM, Google, Hortonworks and Grakn Labs.

JanusGraph supports various storage backends (Apache Cassandra, Apache HBase, Google Cloud Bigtable, Oracle BerkeleyDB, Scylla). Additionally, JanusGraph supports 3rd party storage adapters to be used with other underlying storage databases (existing adapters: Aerospike, DynamoDB, FoundationDB). Scalability of JanusGraph depends on the underlying technologies, which are used with JanusGraph. For example, by using Apache Cassandra as a storage backend scaling to multiple datacenters is provided out of the box.

In addition to online transactional processing (OLTP), JanusGraph supports global graph analytics (OLAP) with its Apache Spark integration.

JanusGraph supports geo, numeric range, and full-text search via external index storages (ElasticSearch, Apache Solr, Apache Lucene).

JanusGraph has native integration with the Apache TinkerPop graph stack (Gremlin graph query language, Gremlin graph server, Gremlin applications).

Originally, JanusGraph is the fork of TitanDB graph database (which is being developed since 2012). The first version of JanusGraph 0.1.0 was released on April 20, 2017.

JanusGraph is a valuable graph database because it is developed to be a layer on top of other databases and thus, developers of JanusGraph may focuse more on solving challenges related to graph itself. Instead of spending time "reinventing the wheel", developers may leverage existing stores which focus on low level storage optimizations / performance / consistency / compression while use JanusGraph which focus more on query optimizations, TinkerPop stack up-to date implementations, data storage / index storage integration, etc.

Alignment with LF AI & Data Mission:

JanusGraph seeks to provide users with an open source, scalable graph database which can be easily used to store and query graphs containing hundreds of billions of vertices and edges distributed across a multi-machine cluster.

The most natural way to express neural networks in AI and ML is to use graphs (the network forms a directed, weighted graph).

JanusGraph aligns with the LF AI & Data Mission by providing the technology, which supports storing, querying and scaling massive graph data.

Possible collaboration opportunities with current LF AI hosted projects:

  • Egeria (graduate project) has a number of open JanusGraph connectors. A direct collaboration could be done to improve these connectors.

  • Amundsen (incubating project) has “Amundsen Metadata Service” project which can use either Neo4j or Apache Atlas as a persistent layer. Apache Atlas uses JanusGraph internally which creates indirect collaboration between Amundsen and JanusGraph but we can go even farther and add direct JanusGraph support to the project.

  • All projects that need to store and query big graph data

Source control:

Collaboration tools:

Project defined roles:

  • Committers - members with direct write access to the project repositories. Have voting power during PR reviews.

  • Technical Steering Committee - members who are responsible for the direction of the project and for the release lifecycle.

Total number of contributors to the project including their affiliations: 129

Do you have any specific infrastructure requests needed as part of hosting the project in the LF AI?: No

Project website: https://janusgraph.org

Development documentation: https://docs.janusgraph.org/development

Social media accounts: