π Overview
GhostDB is a distributed, in-memory, general purpose key-value data store that delivers microsecond performance at any scale.
GhostDB is designed to speed up dynamic database or API driven websites by storing data in RAM in order to reduce the number of times an external data source such as a database or API must be read. GhostDB provides a very large hash table that is distributed across multiple machines and stores large numbers of key-value pairs within the hash table.
π Roadmap
GhostDB was a university project - it is not fully featured but we're getting there!
This is a high-level roadmap of what we want GhostDB to become by the end of 2020. If you have any feature requests please create one from the template and label it as feature request
!
- First hand support for list, set, stack and queue data structures (among others)
- Transactions
- Batch read/write
- Subscribable streams
- Monitoring & administration dashboard
- Enhanced security features
- Transition to TCP sockets as transport protocol
- CLI
- Support for a wide range of programming languages
π§ Installation
To install GhostDB please consult the installation guide for a quick walkthrough on setting up the system.
π¨ Cluster Configuration
To configure a GhostDB cluster please follow the instructions in the configuration guide
π Interacting with your Cluster
Using our SDKs
The way you interact with your GhostDB cluster is through our SDKs. We currently have two SDKs available. Follow the SDK specific guides on the respective SDK repositories for installation instructions:
We also have a number of SDKs in active development and will be available soon:
We are also looking for developers who would like to contribute to GhostDB by developing SDKs for languages they would like to see an SDK for!
Using our CLI
We are currently developing a CLI for GhostDB which will provide you with the ability to interact with your cluster using the same commands you would with our SDKs, the ability to perform administrative actions on your cluster, and get more in-depth information on your clusters state.
π FAQ
What is GhostDB?
GhostDB is a distributed, in-memory, general purpose key-value data store that delivers microsecond performance at any scale.
GhostDB is designed to speed up dynamic database or API driven websites by storing data in RAM in order to reduce the number of times an external data source such as a database or API must be read. GhostDB provides a very large hash table that is distributed across multiple machines and stores large numbers of key-value pairs within the hash table.
How does GhostDB compare to other systems like Redis?
In it's current state, GhostDB isn't all that different but GhostDB is still in very early development and we have a tonne of features to add that you can checkout in our Roadmap.
If you have any features you'd love to see in GhostDB then open a feature request using the template!
What are some of GhostDB's use cases?
- In-memory data lookup
- Relational and Non-relational database speedup
- Managing spikes in web/mobile apps
- Session-store
- Token caching
- Gaming - Player profiles & leaderboards
- Web page caching
- Global ID or counter generation
- Fast access to any suitable data
βοΈ Authors
Jake Grogan
- Email: jake.kgrogan@gmail.com
- Github: @jakekgrog
Connor Mulready
- Github: @nohclu
β Show your support
Give a β if this project helped you!