Need advice about which tool to choose?Ask the StackShare community!

RocksDB

132
286
+ 1
11
ScyllaDB

131
182
+ 1
8
Add tool

RocksDB vs Scylla: What are the differences?

Introduction:

Here we will discuss the key differences between RocksDB and Scylla. These two are popular database systems that have their own unique features and advantages. By understanding their differences, users can choose the one that best suits their requirements and needs.

  1. Storage Model: RocksDB is a key-value store that is optimized for fast storage and retrieval of key-value pairs. It is designed to efficiently handle both read and write operations. On the other hand, Scylla is a wide-column store that is based on Apache Cassandra. It is known for its ability to handle large volumes of data with high write and read performance.

  2. Consistency Model: RocksDB is a single-node database and follows strict consistency and atomicity guarantees. It ensures that all operations are performed in a serialized order and maintains strict consistency. In contrast, Scylla is a distributed database that uses a distributed consensus protocol for consistency. It provides eventual consistency and allows for high availability and fault tolerance.

  3. Replication and Scalability: RocksDB does not provide built-in support for replication and scalability, although it can be used in distributed systems through frameworks like Hadoop and Spark. On the other hand, Scylla is designed to handle large-scale deployments and provides built-in support for replication and horizontal scalability. It uses a masterless architecture that allows for automatic data distribution and replication across multiple nodes.

  4. Data Model: RocksDB is a key-value store and does not support complex data types or secondary indexes out-of-the-box. It is primarily used for simple key-value storage and retrieval. Scylla, on the other hand, supports a wide range of data types and allows for the creation of secondary indexes. It also provides support for advanced querying capabilities, including range scans and aggregations.

  5. Concurrency Control: RocksDB provides multithreaded read and write operations within a single-node environment. It utilizes multi-version concurrency control (MVCC) to provide concurrent access to data. Scylla, being a distributed database, uses a distributed concurrency control mechanism to handle concurrent operations across multiple nodes. It employs techniques like token-based partitioning and distributed locking to ensure consistency and isolation.

  6. Performance: RocksDB is known for its high performance and low-latency data access. It is optimized for fast storage and retrieval and can handle high write and read workloads efficiently. Scylla, on the other hand, is designed to provide scalable throughput and low latency for large-scale deployments. It is capable of handling millions of operations per second and can scale horizontally to handle massive amounts of data efficiently.

In Summary, RocksDB is a key-value store optimized for fast storage and retrieval, while Scylla is a wide-column store designed for high-performance handling of large volumes of data in distributed environments.

Advice on RocksDB and ScyllaDB
Vinay Mehta
Needs advice
on
CassandraCassandra
and
ScyllaDBScyllaDB

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.

See more
Replies (4)
Recommends
on
ScyllaDBScyllaDB

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

See more
Alex Peake
Recommends
on
CassandraCassandra

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.

See more
Recommends
on
ScyllaDBScyllaDB

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.

See more
Pankaj Soni
Chief Technical Officer at Software Joint · | 2 upvotes · 145.8K views
Recommends
on
CassandraCassandra

i love syclla for pet projects however it's license which is based on server model is an issue. thus i recommend cassandra

See more
Decisions about RocksDB and ScyllaDB
Tom Klein

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.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of RocksDB
Pros of ScyllaDB
  • 5
    Very fast
  • 3
    Made by Facebook
  • 2
    Consistent performance
  • 1
    Ability to add logic to the database layer where needed
  • 2
    Replication
  • 1
    Fewer nodes
  • 1
    Distributed
  • 1
    Scale up
  • 1
    High availability
  • 1
    Written in C++
  • 1
    High performance

Sign up to add or upvote prosMake informed product decisions

- No public GitHub repository available -

What is RocksDB?

RocksDB is an embeddable persistent key-value store for fast storage. RocksDB can also be the foundation for a client-server database but our current focus is on embedded workloads. RocksDB builds on LevelDB to be scalable to run on servers with many CPU cores, to efficiently use fast storage, to support IO-bound, in-memory and write-once workloads, and to be flexible to allow for innovation.

What is ScyllaDB?

ScyllaDB is the database for data-intensive apps that require high performance and low latency. It enables teams to harness the ever-increasing computing power of modern infrastructures – eliminating barriers to scale as data grows.

Need advice about which tool to choose?Ask the StackShare community!

What companies use RocksDB?
What companies use ScyllaDB?
See which teams inside your own company are using RocksDB or ScyllaDB.
Sign up for StackShare EnterpriseLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with RocksDB?
What tools integrate with ScyllaDB?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

Jan 26 2022 at 4:34AM

Pinterest

Amazon EC2RocksDBOpenTSDB+3
3
714
GitHubPythonReact+42
49
40691
What are some alternatives to RocksDB and ScyllaDB?
Redis
Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. Redis provides data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams.
Cassandra
Partitioning means that Cassandra can distribute your data across multiple machines in an application-transparent matter. Cassandra will automatically repartition as machines are added and removed from the cluster. Row store means that like relational databases, Cassandra organizes data by rows and columns. The Cassandra Query Language (CQL) is a close relative of SQL.
MongoDB
MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding.
Badger
Domain management you'll enjoy. Domains effectively drive the entire internet, shouldn't they be easier to manage? We thought so, and thus, Badger was born! You shouldn't have to auction off your house and sacrifice your first born to transfer domains, you should be able to press a button that says "Transfer Domain" and be done with it. That is our philosophy, and we think you will appreciate it. Stop letting domain registrars badger you, and start using... Badger!
HBase
Apache HBase is an open-source, distributed, versioned, column-oriented store modeled after Google' Bigtable: A Distributed Storage System for Structured Data by Chang et al. Just as Bigtable leverages the distributed data storage provided by the Google File System, HBase provides Bigtable-like capabilities on top of Apache Hadoop.
See all alternatives