EliasDB ======= EliasDB is a graph-based database which aims to provide a lightweight solution for projects which want to store their data as a graph. EliasDB does not require any third-party libraries.
Features -------- - Build on top of a fast 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. - For more complex queries EliasDB has an own query language called EQL with an sql-like syntax. - Written in Go from scratch. No third party libraries were used apart from Go's standard library. - 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 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 (standalone application) ---------------------------------------- You can download a precompiled package for Windows (win64) or Linux (amd64) [here](https://devt.de/build_status.html). Extract it and execute the executable. The executable should automatically create 3 subfolders and a configuration file. It should start an HTTPS server on port 9090. To see a terminal point your webbrowser to: ``` https://localhost:9090/db/term.html ``` After accepting the self-signed certificate from the server you should see a web terminal. EliasDB can be stopped with a simple CTRL+C or by overwriting the content in eliasdb.lck with a single character. ### Tutorial: To get an idea of what EliasDB is about have a look at the [tutorial](/examples/tutorial/doc/tutorial.md). ### REST API: The terminal uses a REST API to communicate with the backend. The REST API can be browsed using a dynamically generated swagger.json definition (https://localhost:9090/db/swagger.json). You can browse the API of EliasDB's latest version [here](http://petstore.swagger.io/?url=https://raw.githubusercontent.com/krotik/eliasdb/master/doc/swagger.json#/default). ### Command line options The main EliasDB executable has two main tools: ``` Usage of ./eliasdb