StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Application & Data
  3. Databases
  4. Databases
  5. Scylla vs TiDB

Scylla vs TiDB

OverviewDecisionsComparisonAlternatives

Overview

TiDB
TiDB
Stacks76
Followers177
Votes28
GitHub Stars39.3K
Forks6.0K
ScyllaDB
ScyllaDB
Stacks143
Followers197
Votes8

Scylla vs TiDB: What are the differences?

Scylla and TiDB are both distributed database systems designed to handle large volumes of data. While they have similarities in terms of scalability and high availability, there are key differences that set them apart.
  1. Data Model: Scylla is a NoSQL database that utilizes a column-oriented data model, similar to Apache Cassandra. It allows for flexible schema design and is optimized for write-heavy workloads. On the other hand, TiDB is a NewSQL database that supports both SQL and NoSQL interfaces. It utilizes a row-oriented data model and provides strong consistency.

  2. Consistency Model: Scylla follows an eventual consistency model, which means that updates to the database may take some time to propagate across all nodes. It prioritizes availability and partition tolerance over immediate consistency. In contrast, TiDB offers strong consistency, ensuring that all reads and writes are immediately visible to all clients. It follows the strict linearizability model for global consistency.

  3. Replication: Scylla uses a masterless replication model called "peer-to-peer" replication, where each node acts as both a replica and a coordinator. This approach allows for high availability as all replicas can serve read and write requests. TiDB, on the other hand, adopts a master-slave replication model, where a single master node coordinates write operations and multiple slave nodes replicate the data. This ensures consistency but may introduce a potential bottleneck at the master node.

  4. Scaling: Scylla employs automatic sharding to evenly distribute data across multiple nodes, enabling it to horizontally scale read and write operations. It provides automatic data partitioning based on the primary key. In contrast, TiDB uses a technique called "horizontal partitioning" to distribute data across multiple nodes, allowing it to scale horizontally. It divides tables into multiple partitions based on predefined rules.

  5. Data Placement: Scylla utilizes a distributed hash table (DHT) to determine the placement of data across nodes. It uses a consistent hashing algorithm to evenly distribute data, ensuring efficient load balancing. TiDB, on the other hand, uses a range-based partitioning scheme to determine data placement. It divides data into ranges based on the primary key, allowing better locality and improved performance for certain workloads.

  6. SQL Support: While both Scylla and TiDB support SQL queries, TiDB provides a more extensive SQL feature set and better compatibility with existing SQL ecosystems. It fully supports ANSI SQL and provides online schema changes, which allows altering schema and adjusting table structures without interrupting ongoing queries.

In Summary, Scylla and TiDB differ in their data models, consistency models, replication approaches, scaling methods, data placement strategies, and SQL support, making them suitable for different use cases and workloads.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Advice on TiDB, ScyllaDB

Tom
Tom

CEO at Gentlent

Jun 9, 2020

Decided

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.

387k views387k
Comments
Vinay
Vinay

Head of Engineering

Sep 19, 2019

Needs advice

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.

174k views174k
Comments

Detailed Comparison

TiDB
TiDB
ScyllaDB
ScyllaDB

Inspired by the design of Google F1, TiDB supports the best features of both traditional RDBMS and NoSQL.

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.

Horizontal scalability;Asynchronous schema changes;Consistent distributed transactions;Compatible with MySQL protocol;Written in Go;NewSQL over TiKV;Multiple storage engine support
High availability; horizontal scalability; vertical scalability; Cassandra compatible; DynamoDB compatible; wide column; NoSQL; lightweight transactions; change data capture; workload prioritization; shard-per-core; IO scheduler; self-tuning
Statistics
GitHub Stars
39.3K
GitHub Stars
-
GitHub Forks
6.0K
GitHub Forks
-
Stacks
76
Stacks
143
Followers
177
Followers
197
Votes
28
Votes
8
Pros & Cons
Pros
  • 9
    Open source
  • 7
    Horizontal scalability
  • 5
    Strong ACID
  • 3
    HTAP
  • 2
    Enterprise Support
Pros
  • 2
    Replication
  • 1
    Scale up
  • 1
    High performance
  • 1
    Distributed
  • 1
    Fewer nodes
Integrations
No integrations available
KairosDB
KairosDB
Wireshark
Wireshark
JanusGraph
JanusGraph
Grafana
Grafana
Hackolade
Hackolade
Prometheus
Prometheus
Kubernetes
Kubernetes
Datadog
Datadog
Kafka
Kafka
Apache Spark
Apache Spark

What are some alternatives to TiDB, ScyllaDB?

MongoDB

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.

MySQL

MySQL

The MySQL software delivers a very fast, multi-threaded, multi-user, and robust SQL (Structured Query Language) database server. MySQL Server is intended for mission-critical, heavy-load production systems as well as for embedding into mass-deployed software.

PostgreSQL

PostgreSQL

PostgreSQL is an advanced object-relational database management system that supports an extended subset of the SQL standard, including transactions, foreign keys, subqueries, triggers, user-defined types and functions.

Microsoft SQL Server

Microsoft SQL Server

Microsoft® SQL Server is a database management and analysis system for e-commerce, line-of-business, and data warehousing solutions.

SQLite

SQLite

SQLite is an embedded SQL database engine. Unlike most other SQL databases, SQLite does not have a separate server process. SQLite reads and writes directly to ordinary disk files. A complete SQL database with multiple tables, indices, triggers, and views, is contained in a single disk file.

Cassandra

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.

Memcached

Memcached

Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.

MariaDB

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

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.

ArangoDB

ArangoDB

A distributed free and open-source database with a flexible data model for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions.

Related Comparisons

Bootstrap
Materialize

Bootstrap vs Materialize

Laravel
Django

Django vs Laravel vs Node.js

Bootstrap
Foundation

Bootstrap vs Foundation vs Material UI

Node.js
Spring Boot

Node.js vs Spring-Boot

Liquibase
Flyway

Flyway vs Liquibase