krotik/eliasdb

By krotik

Updated about 5 years ago

EliasDB is a graph-based database.

Image
0

196

krotik/eliasdb repository overview

EliasDB is a graph-based database which aims to provide a lightweight solution for projects which want to store their data as a graph.

Read further on the project page.

Features

  • Build on top of a custom key-value store which supports transactions and memory-only storage.
  • Data is stored in nodes (key-value objects) which are connected via edges.
  • Stored graphs can be separated via partitions.
  • Stored graphs support cascading deletions - delete one node and all its "children".
  • All stored data is indexed and can be quickly searched via a full text phrase search.
  • EliasDB has a GraphQL interface which can be used to store and retrieve data.
  • For more complex queries EliasDB has an own query language called EQL with an sql-like syntax.
  • Written in Go from scratch. Only uses gorilla/websocket to support websockets for GraphQL subscriptions.
  • The database can be embedded or used as a standalone application.
  • When used as a standalone application it comes with an internal HTTPS webserver which provides user management, a REST API and a basic file server.
  • When used as an embedded database it supports transactions with rollbacks, iteration of data and rule based consistency management.

Getting Started

You can pull the latest docker image of EliasDB from this repository:

docker pull krotik/eliasdb

Create an empty directory, change into it and run the following to start the server:

docker run --user $(id -u):$(id -g) -v $PWD:/data -p 9090:9090 krotik/eliasdb server

This exposes port 9090 from the container on the local machine. All runtime related files are written to the current directory as the current user/group.

Connect to the running server with a console by running:

docker run --rm --network="host" -it -v $PWD:/data --user $(id -u):$(id -g) -v $PWD:/data krotik/eliasdb console

Tag summary

Content type

Image

Digest

Size

4.4 MB

Last updated

about 5 years ago

docker pull krotik/eliasdb