/elasticell

Elastic Key-Value Storage With Strong Consistency and Reliability

Primary LanguageGoApache License 2.0Apache-2.0

Build Status Go Report Card Project Status

What is Elasticell?

Elasticell is a distributed NoSQL database with strong consistency and reliability.

  • Compatible with Redis protocol Use Elasticell as Redis. You can replace Redis with Elasticell to power your application without changing a single line of code in most cases(unsupport-redis-commands).

  • Horizontal scalability Grow Elasticell as your business grows. You can increase the capacity simply by adding more machines.

  • Strong consistent persistence storage Elasticell put your data on multiple machines as replication without worrying about consistency. Elasticell makes your application use redis as a database and not just only the cache.

  • High availability All of the three components, PD, Cell and Proxy, can tolerate the failure of some instances without impacting the availability of the entire cluster.

Roadmap

Read the Roadmap.

Quick start

Read the Quick Start

Documentation

Architecture

architecture

Contributing

TODO

License

Elasticell is under the Apache 2.0 license. See the LICENSE file for details.

Acknowledgments

  • Thanks etcd for providing the raft implementation.
  • Thanks tidb for providing the multi-raft implementation.
  • Thanks RocksDB for their powerful storage engines.