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.
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
To install GhostDB please consult the installation guide for a quick walkthrough on setting up the system.
To configure a GhostDB cluster please follow the instructions in the configuration guide
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!
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.
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
Jake Grogan
- Email: [email protected]
- Github: @jakekgrog
Connor Mulready
- Github: @nohclu
Give a ⭐ if this project helped you!