Code Monkey home page Code Monkey logo

ghostdb's Introduction

GhostDB logo

Build Twitter

Discord

๐Ÿ“š 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

Connor Mulready

โญ Show your support

Give a โญ if this project helped you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.