All Projects → jakekgrog → Ghostdb

jakekgrog / Ghostdb

Licence: bsd-3-clause
GhostDB is a distributed, in-memory, general purpose key-value data store that delivers microsecond performance at any scale.

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Ghostdb

Corfudb
A cluster consistency platform
Stars: ✭ 539 (-21.88%)
Mutual labels:  datastore, database, distributed-database
Olric
Distributed cache and in-memory key/value data store. It can be used both as an embedded Go library and as a language-independent service.
Stars: ✭ 2,067 (+199.57%)
Mutual labels:  database, cache, distributed-database
Pystore
Fast data store for Pandas time-series data
Stars: ✭ 325 (-52.9%)
Mutual labels:  datastore, database
Kache
A simple in memory cache written using go
Stars: ✭ 349 (-49.42%)
Mutual labels:  database, cache
Ignite
Apache Ignite
Stars: ✭ 4,027 (+483.62%)
Mutual labels:  database, cache
Trino
Official repository of Trino, the distributed SQL query engine for big data, formerly known as PrestoSQL (https://trino.io)
Stars: ✭ 4,581 (+563.91%)
Mutual labels:  database, distributed-database
Crate
CrateDB is a distributed SQL database that makes it simple to store and analyze massive amounts of data in real-time.
Stars: ✭ 3,254 (+371.59%)
Mutual labels:  database, distributed-database
Dynomite
A generic dynamo implementation for different k-v storage engines
Stars: ✭ 3,830 (+455.07%)
Mutual labels:  cache, distributed-database
Goloquent
This repo no longer under maintenance, please go to https://github.com/si3nloong/sqlike
Stars: ✭ 16 (-97.68%)
Mutual labels:  datastore, database
Citus
Distributed PostgreSQL as an extension
Stars: ✭ 5,580 (+708.7%)
Mutual labels:  database, distributed-database
Cockroach
CockroachDB - the open source, cloud-native distributed SQL database.
Stars: ✭ 22,700 (+3189.86%)
Mutual labels:  database, distributed-database
Laravel Eloquent Query Cache
Adding cache on your Laravel Eloquent queries' results is now a breeze.
Stars: ✭ 529 (-23.33%)
Mutual labels:  database, cache
Clean Go
Clean Architecture Example in Go
Stars: ✭ 274 (-60.29%)
Mutual labels:  datastore, database
Json Flatfile Datastore
Simple JSON flat file data store with support for typed and dynamic data.
Stars: ✭ 212 (-69.28%)
Mutual labels:  datastore, database
Aviondb
A decentralised database with MongoDB-like developer interface (Fully Compatible with OrbitDB)
Stars: ✭ 301 (-56.38%)
Mutual labels:  database, distributed-database
Datastore
🐹 Bloat free and flexible interface for data store and database access.
Stars: ✭ 99 (-85.65%)
Mutual labels:  datastore, database
Django Watchman
django-watchman exposes a status endpoint for your backing services like databases, caches, etc.
Stars: ✭ 357 (-48.26%)
Mutual labels:  database, cache
Endb
Key-value storage for multiple databases. Supports MongoDB, MySQL, Postgres, Redis, and SQLite.
Stars: ✭ 208 (-69.86%)
Mutual labels:  database, cache
Dbtester
Distributed database benchmark tester
Stars: ✭ 214 (-68.99%)
Mutual labels:  database, distributed-database
Lada Cache
A Redis based, fully automated and scalable database cache layer for Laravel
Stars: ✭ 424 (-38.55%)
Mutual labels:  database, cache

GhostDB logo

Build Twitter

Discord

Update - 03/03/2021

Where we've been

GhostDB stemmed from a University project. Due to the nature of these projects (time constraints etc.), we feel some corners were cut. For example, we opted for the memcached model of distribution to save on time as it was easier to implement. However, this wasn't the original vision of GhostDB. Myself and Connor also started new jobs and these took up a good chunk of our time. This combined with just finishing a really busy final year in Univeristy, we decided to mothball the project for a while. We're finally returning to it and hopefully transforming it into what we had originally planned.

A new roadmap

We are revising our roadmap below and plan to release an updated version soon but before we do here is a brief rundown on what we want

  • Transition away from the memcached model and move to a consistent, partition tolerant system (with limited fault tolerance too) by implementing the raft concensus protocol. (This is almost complete)
  • Release a CLI to allow users to easily manage their clusters
  • Re-build our SDKs from the ground up to allow users to interact with GhostDB with more ease than is currently possible.
  • Implement new data types to broaden GhostDBs use cases.
  • Local caching to give an even greater performance boost to users.
  • Release AWS Amazon Machine Images (AMIs) and Google Compute Engine Images to allow users to easily create GhostDB clusters in the cloud with only a few clicks.
  • Updates to the website that include a download centre and documentation improvements.

Contributing

Unfortunately, with work and life we simply don't have the time at the moment to manage pull requests from anyone else. However, we are still accepting issues and are encouraging them.

And of course, we also want to continue improving on our performance :)

📚 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
  • Atomic command queues
  • 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

✏️ Authors

Jake Grogan

Connor Mulready

⭐️ Show your support

Give a ⭐️ if this project helped you!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].