Skip to content

The Hybrid Graph Datastore/Computational Engine

Notifications You must be signed in to change notification settings

TruenoDB/trueno

Repository files navigation


Acknowledgments

The work was partially supported by the National Science Foundation Grant number CCF 1533795, Division of Computing and Communication Foundations under the XPS program


WARNING

THIS PROJECT IS UNDER HEAVY DEVELOPMENT AND ITS NOT PRODUCTION READY.

The Hybrid Graph Datastore/Computational Engine

npm version GitHub Stars Supported Platforms

Features

  • Distributed, resilient, and fast dynamic and static graph database.
  • Support distributed computation.
  • Online queries and traversal.
  • Scalable to billions of nodes and edges.
  • Easy setup for both cluster and single instance installations.
  • User friendly and intuitive interface for graph analysis, fast algorithm processing and visualization.
  • Designed for Data Mining and Machine Learning.

Building blocks:

Workflow with TruenoDB:

Architecture:

Components:

  1. Gremlin (Apache Tinkerpop) [1]: A graph traversal language for intuitive and easy graph analysis.
  2. Web Console: Web Interface for graph processing, analytics, visualization, and database management. Data laboratory that connects directly to the database/processing engine.
  3. Trueno Core: Database/Computational Engine Core.
  4. Elasticsearch [6]: Elasticsearch is a distributed, RESTful search and analytics engine capable of solving a growing number of use cases. Stores all graph structures.
  5. Apache Spark [4]: a fast and general engine for large-scale data processing. Used for Distributed Graph Processing (GraphX [5]).

Storage Schema:

  • Each Index is a graph.
  • Distributed workload and storage.
  • Data replication to increase availability.
  • Data sharding support for horizontal scaling.
  • Support multiple properties for edges and vertices.
  • Analytic results (built-in collection of algorithms) stored in graph structure for easier post-analysis.

Roadmap to alpha version:

Component Percentage
Core 90%
Web Console 70%
Connectors 40%
Oblivious Computation 70%
Auditable Computation 80%
Graph Compute Engine 70%
Backend Storage / Indexing 90%
Gremlin Tinkerpop Integration 90%
Dynamic Graphs 10%
Tensorflow Integration 05%

TruenoDB Interface Features: Trueno relies on a fast graph analytic/visualization UI.

  1. Angular Material [8] Based.
  2. Pure WebSockets [9], no slow HTTP requests.
  3. Sigma.js WebGL [10] rendering for high scalability.
  4. Gremlin [11] Language Traversal for graph retrieval.
  5. XPath for graph component filtering.
  6. Point, drag, click based functionality. No complex coding or preparation.
  7. Export, Save, Import graphs.

Install

$ npm install -g trueno

Talks

  • "Secure Architecture for Graph Database Systems". Invited Talk at JPL/NASA. August 29, 2019.

References:

© Victor O. Santos, Servio Palacios, Edgardo Barsallo, Miguel Rivera, Peng Hao, Chih-Hao Fang, Ananth Grama