dynamodb-janusgraph-storage-backend  by amazon-archives

Storage backend for JanusGraph, a distributed graph database

Created 10 years ago
448 stars

Top 67.1% on SourcePulse

GitHubView on GitHub
Project Summary

This project provides a storage backend for JanusGraph, a distributed graph database, utilizing Amazon DynamoDB. It targets users needing a scalable, managed graph database solution, offering consistent single-digit millisecond latency for complex graph traversals.

How It Works

The backend maps JanusGraph's graph data model to DynamoDB tables. It supports two flexible data models: a single-item model for smaller datasets (efficient but limited by DynamoDB's 400KB item size) and a multiple-item model for larger graphs, using range keys to overcome item size limitations. This allows users to optimize for performance or scale based on their specific graph characteristics.

Quick Start & Requirements

  • Install: Clone the repository, build Docker images, and use docker-compose up -d to start Gremlin Server with the backend.
  • Prerequisites: Git, JDK 1.8, Maven, Docker, wget, gpg.
  • Demo: The README provides detailed steps for loading the Marvel Universe Social Graph and querying it via Gremlin.
  • CloudFormation: Templates are available for deploying Gremlin Server on EC2 with DynamoDB, including VPC, EC2 instance, and DynamoDB table setup.

Highlighted Details

  • Compatible with JanusGraph 0.2.0 and TinkerPop 3.2.6.
  • Supports upgrade from Titan 1.0.0.
  • Offers flexible data modeling (single-item vs. multiple-item) for DynamoDB tables.
  • Includes comprehensive configuration options for DynamoDB client, proxy, socket, and executor settings.

Maintenance & Community

This project is part of the amazon-archives organization, indicating it's likely a maintained but potentially less actively developed project from AWS. Specific community links (Discord, Slack) are not provided in the README.

Licensing & Compatibility

The project's license is not explicitly stated in the README. However, given its origin within AWS Labs and association with JanusGraph (Apache 2.0), it is likely to be permissive, but users should verify. Compatibility with commercial or closed-source applications is expected, assuming a permissive license.

Limitations & Caveats

The single-item data model is subject to DynamoDB's 400KB item size limit. The enable-parallel-scan feature may cause incompatibility with Titan's OLAP library. The README does not detail specific performance benchmarks against other JanusGraph backends.

Health Check
Last Commit

4 years ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
1 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.