Badger vs Scylla: What are the differences?
## Introduction
Here are the key differences between Badger and Scylla.
1. **Storage Engine**: Badger uses LSM-tree as the underlying storage engine, while Scylla uses the SSTable (Sorted String Table) data structure.
2. **Language Support**: Badger is implemented in pure Go, whereas Scylla is implemented in C++.
3. **Consistency Model**: Badger provides eventual consistency, while Scylla guarantees strong consistency with support for tunable consistency levels.
4. **Query Language**: Badger does not support a query language and is generally accessed through a key-value API, whereas Scylla supports querying using CQL (Cassandra Query Language).
5. **Horizontal Scalability**: Scylla is designed for horizontal scalability by using sharding and partitioning techniques, while Badger does not inherently support horizontal scalability.
6. **Use Case**: Badger is primarily used as an embedded key-value store, suitable for smaller-scale applications, whereas Scylla is designed for high-performance, distributed applications at scale.
## Summary
In summary, Badger and Scylla differ in their storage engines, language support, consistency models, query languages, scalability approaches, and primary use cases.