Need advice about which tool to choose?Ask the StackShare community!
Memcached vs Scylla: What are the differences?
# Key Differences between Memcached and Scylla
Memcached and Scylla are both popular choices for caching and data storage in modern applications, but they differ in several key aspects.
1. **Data Model**: Memcached is a simple key-value store, while Scylla is a distributed NoSQL database that supports a wide range of data models including wide columns, JSON, and more. This difference in data model capabilities gives Scylla more flexibility in handling various types of data compared to Memcached.
2. **Consistency**: Memcached provides eventual consistency, meaning that there can be a delay in data synchronization across nodes. On the other hand, Scylla offers strong consistency with support for tunable consistency levels, ensuring data accuracy and integrity in distributed environments.
3. **Scaling**: Memcached is designed to be a caching layer and may not scale as efficiently for large datasets or high-throughput applications. In contrast, Scylla is built for horizontal scalability, allowing it to handle massive amounts of data and traffic with ease.
4. **Data Persistence**: Memcached is an in-memory store with no built-in persistence, meaning that data can be lost if a node fails. In comparison, Scylla offers durable data storage by persisting data to disk, ensuring data integrity even in the event of hardware failures.
5. **Deployment Complexity**: Setting up and maintaining a Memcached cluster is relatively straightforward, making it easier to deploy for smaller projects or temporary caching needs. On the other hand, deploying Scylla requires more operational overhead due to its distributed nature and configuration options.
6. **Query Language**: Memcached does not provide a query language, as it simply stores and retrieves key-value pairs. In contrast, Scylla supports CQL (Cassandra Query Language), a powerful SQL-like language for interacting with the database, offering more advanced querying capabilities.
In Summary, Memcached and Scylla differ in terms of data model, consistency, scaling capabilities, data persistence, deployment complexity, and query language support.
The problem I have is - we need to process & change(update/insert) 55M Data every 2 min and this updated data to be available for Rest API for Filtering / Selection. Response time for Rest API should be less than 1 sec.
The most important factors for me are processing and storing time of 2 min. There need to be 2 views of Data One is for Selection & 2. Changed data.
Scylla can handle 1M/s events with a simple data model quite easily. The api to query is CQL, we have REST api but that's for control/monitoring
Cassandra is quite capable of the task, in a highly available way, given appropriate scaling of the system. Remember that updates are only inserts, and that efficient retrieval is only by key (which can be a complex key). Talking of keys, make sure that the keys are well distributed.
i love syclla for pet projects however it's license which is based on server model is an issue. thus i recommend cassandra
By 55M do you mean 55 million entity changes per 2 minutes? It is relatively high, means almost 460k per second. If I had to choose between Scylla or Cassandra, I would opt for Scylla as it is promising better performance for simple operations. However, maybe it would be worth to consider yet another alternative technology. Take into consideration required consistency, reliability and high availability and you may realize that there are more suitable once. Rest API should not be the main driver, because you can always develop the API yourself, if not supported by given technology.
The Gentlent Tech Team made lots of updates within the past year. The biggest one being our database:
We decided to migrate our #PostgreSQL -based database systems to a custom implementation of #Cassandra . This allows us to integrate our product data perfectly in a system that just makes sense. High availability and scalability are supported out of the box.
Pros of Memcached
- Fast object cache139
- High-performance129
- Stable91
- Mature65
- Distributed caching system33
- Improved response time and throughput11
- Great for caching HTML3
- Putta2
Pros of ScyllaDB
- Replication2
- Fewer nodes1
- Distributed1
- Scale up1
- High availability1
- Written in C++1
- High performance1
Sign up to add or upvote prosMake informed product decisions
Cons of Memcached
- Only caches simple types2