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

CouchDB

521
570
+ 1
139
ScyllaDB

131
182
+ 1
8
Add tool

CouchDB vs Scylla: What are the differences?

Introduction:

CouchDB and Scylla are both popular database management systems, but they have several key differences that set them apart. In this comparison, we will explore the specific distinctions between CouchDB and Scylla.

  1. Data Model: CouchDB is a document-oriented database that stores data in JSON-like documents. It is schemaless, allowing flexibility in data structure. On the other hand, Scylla is a wide-column store based on Apache Cassandra, utilizing a data model that organizes data in rows, columns, and tables. It follows a schema-based approach, requiring predefined column families and column names.

  2. Consistency Model: CouchDB follows eventual consistency, which means that the database may not always reflect the latest updates immediately, but it ensures that all updates will be eventually propagated. In contrast, Scylla offers strong consistency by default. It ensures that all replicas of a piece of data are consistent and up-to-date before returning a response.

  3. Replication and Distribution: CouchDB uses master-master replication, allowing data to be synchronized bidirectionally across multiple instances. This enables high availability and fault tolerance. On the other hand, Scylla uses consistent hashing for data distribution and relies on peer-to-peer gossip protocol for replication. It provides linear scalability by adding more nodes to the cluster.

  4. Query Language: CouchDB utilizes MapReduce as its primary query language. It allows users to define map and reduce functions to extract and manipulate data. Scylla, being based on Cassandra, uses CQL (Cassandra Query Language) for querying and manipulating data, which provides a familiar and SQL-like syntax for developers.

  5. Storage Engine: CouchDB employs an append-only B-tree storage engine, where all changes are written sequentially to disk. It ensures durability and immutability of data. On the other hand, Scylla uses its own storage engine called "Seastar," which implements a log-structured merge tree (LSM) for storing and managing data efficiently.

  6. Tunability and Optimal Use Case: CouchDB is often chosen when offline availability, conflict resolution, and a flexible data model are crucial requirements. It is well-suited for use cases like mobile applications and decentralized systems. Scylla, with its high throughput and low latency characteristics, is more suitable for applications that demand massive scalability, real-time analytics, and low-latency operations.

In Summary, CouchDB is a document-oriented database with eventual consistency, while Scylla is a wide-column store with strong consistency. CouchDB uses master-master replication and MapReduce, whereas Scylla utilizes consistent hashing and CQL. They have different storage engines, tunability, and ideal use cases.

Advice on CouchDB 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 · 146.1K 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 CouchDB 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
Gabriel Pa

We implemented our first large scale EPR application from naologic.com using CouchDB .

Very fast, replication works great, doesn't consume much RAM, queries are blazing fast but we found a problem: the queries were very hard to write, it took a long time to figure out the API, we had to go and write our own @nodejs library to make it work properly.

It lost most of its support. Since then, we migrated to Couchbase and the learning curve was steep but all worth it. Memcached indexing out of the box, full text search works great.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of CouchDB
Pros of ScyllaDB
  • 43
    JSON
  • 30
    Open source
  • 18
    Highly available
  • 12
    Partition tolerant
  • 11
    Eventual consistency
  • 7
    Sync
  • 5
    REST API
  • 4
    Attachments mechanism to docs
  • 4
    Multi master replication
  • 3
    Changes feed
  • 1
    REST interface
  • 1
    js- and erlang-views
  • 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 CouchDB?

Apache CouchDB is a database that uses JSON for documents, JavaScript for MapReduce indexes, and regular HTTP for its API. CouchDB is a database that completely embraces the web. Store your data with JSON documents. Access your documents and query your indexes with your web browser, via HTTP. Index, combine, and transform your documents with JavaScript.

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 CouchDB?
What companies use ScyllaDB?
See which teams inside your own company are using CouchDB 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 CouchDB?
What tools integrate with ScyllaDB?

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

What are some alternatives to CouchDB and ScyllaDB?
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.
Couchbase
Developed as an alternative to traditionally inflexible SQL databases, the Couchbase NoSQL database is built on an open source foundation and architected to help developers solve real-world problems and meet high scalability demands.
Cloudant
Cloudant’s distributed database as a service (DBaaS) allows developers of fast-growing web and mobile apps to focus on building and improving their products, instead of worrying about scaling and managing databases on their own.
MariaDB
Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry. MariaDB is designed as a drop-in replacement of MySQL(R) with more features, new storage engines, fewer bugs, and better performance.
RethinkDB
RethinkDB is built to store JSON documents, and scale to multiple machines with very little effort. It has a pleasant query language that supports really useful queries like table joins and group by, and is easy to setup and learn.
See all alternatives