ScyllaDB University LIVE, FREE Virtual Training Event | March 21
Register for Free
ScyllaDB Documentation Logo Documentation
  • Server
  • Cloud
  • Tools
    • ScyllaDB Manager
    • ScyllaDB Monitoring Stack
    • ScyllaDB Operator
  • Drivers
    • CQL Drivers
    • DynamoDB Drivers
  • Resources
    • ScyllaDB University
    • Community Forum
    • Tutorials
Download
ScyllaDB Docs ScyllaDB Open Source Getting Started ScyllaDB Requirements System Requirements

Caution

You're viewing documentation for a previous version. Switch to the latest stable version.

System Requirements¶

Supported Platforms¶

Scylla runs on 64-bit Linux. Here, you can find which operating systems, distros, and versions are supported.

Hardware Requirements¶

It’s recommended to have a balanced setup. If there are only 4-8 Logical Cores, large disks or 10Gbps networking may not be needed. This works in the opposite direction as well. Scylla can be used in many types of installation environments.

To see which system would best suit your workload requirements, use the Scylla Sizing Calculator to customize Scylla for your usage.

Core Requirements¶

Scylla tries to maximize the resource usage of all system components. The shard-per-core approach allows linear scale-up with the number of cores. As you have more cores, it makes sense to balance the other resources, from memory to network.

CPU¶

Scylla requires modern Intel CPUs that support the SSE4.2 instruction set and will not boot without it.

The following CPUs are supported by Scylla:

  • Intel core: Westmere or later (2010)

  • Intel atom: Goldmont or later (2016)

  • AMD low power: Jaguar or later (2013)

  • AMD standard: Bulldozer or later (2011)

In terms of the number of cores, any number will work since Scylla scales up with the number of cores. A practical approach is to use a large number of cores as long as the hardware price remains reasonable. Between 20-60 logical cores (including hyperthreading) is a recommended number. However, any number will fit. When using virtual machines, containers, or the public cloud, remember that each virtual CPU is mapped to a single logical core, or thread. Allow Scylla to run independently without any additional CPU intensive tasks on the same server/cores as Scylla.

Memory Requirements¶

The more memory available, the better Scylla performs, as Scylla uses all of the available memory for caching. The wider the rows are in the schema, the more memory will be required. 64 GB-256 GB is the recommended range for a medium to high workload. Memory requirements are calculated based on the number of lcores you are using in your system.

  • Recommended size: 16 GB or 2GB per lcore (whichever is higher)

  • Maximum: 1 TiB per lcore, up to 256 lcores

  • Minimum:

    • For test environments: 1 GB or 256 MiB per lcore (whichever is higher)

    • For production environments: 4 GB or 0.5 GB per lcore (whichever is higher)

Disk Requirements¶

SSD¶

We highly recommend SSD and local disks. Scylla is built for a large volume of data and large storage per node. You can use up to 100:1 Disk/RAM ratio, with 30:1 Disk/RAM ratio as a good rule of thumb; for example, 30 TB of storage requires 1 TB of RAM. We recommend a RAID-0 setup and a replication factor of 3 within the local datacenter (RF=3) when there are multiple drives.

HDD¶

HDDs are supported but may become a bottleneck. Some workloads may work with HDDs, especially if they play nice and minimize random seeks. An example of an HDD-friendly workload is a write-mostly (98% writes) workload, with minimal random reads. If you use HDDs, try to allocate a separate disk for the commit log (not needed with SSDs).

Disk Space¶

Scylla is flushing memtables to SSTable data files for persistent storage. SSTables are periodically compacted to improve performance by merging and rewriting data and discarding the old one. Depending on compaction strategy, disk space utilization temporarily increases during compaction. For this reason, you should leave an adequate amount of free disk space available on a node. Use the following table as a guidelines for the minimum disk space requirements based on the compaction strategy:

Compaction Strategy

Recommended

Minimum

Size Tiered Compaction Strategy (STCS)

50%

70%

Leveled Compaction Strategy (LCS)

50%

80%

Time-window Compaction Strategy (TWCS)

50%

70%

Incremental Compaction Strategy (ICS)

70%

80%

Use the default ICS (Scylla Enterprise) or STCS (Scylla Open Source) unless you’ll have a clear understanding that another strategy is better for your use case. More on choosing a Compaction Strategy. In order to maintain a high level of service availability, keep 50% to 20% free disk space at all times!

Network Requirements¶

A network speed of 10 Gbps or more is recommended, especially for large nodes. To tune the interrupts and their queues, run the Scylla setup scripts.

Cloud Instance Recommendations¶

Amazon Web Services (AWS)¶

Note

Some of the ScyllaDB configuration features rely on querying instance metadata. Disabling access to instance metadata will impact using Ec2 Snitches and tuning performance. See AWS - Configure the instance metadata options for more information.

We highly recommend EC2 I3 instances—High I/O. This family includes the High Storage Instances that provide very fast SSD-backed instance storage optimized for very high random I/O performance and provide high IOPS at a low cost. We recommend using enhanced networking that exposes the physical network cards to the VM.

i3 instances are designed for I/O intensive workloads and equipped with super-efficient NVMe SSD storage. It can deliver up to 3.3 Million IOPS. An i3 instance is great for low latency and high throughput, compared to the i2 instances, the i3 instance provides storage that it’s less expensive and denser along with the ability to deliver substantially more IOPS and more network bandwidth per CPU core.

i3 instances¶

Model

vCPU

Mem (GB)

Storage (NVMe SSD)

i3.xlarge

4

30.5

0.950 TB

i3.2xlarge

8

61

1.9 TB

i3.4xlarge

16

122

3.8 TB

i3.8xlarge

32

244

7.6 TB

i3.16xlarge

64

488

15.2 TB

i3.metal New in version 2.3

72 *

512

8 x 1.9 NVMe SSD

* i3.metal provides 72 logical processors on 36 physical cores

Source: Amazon EC2 I3 Instances

More on using Scylla with i3.metal vs i3.16xlarge

i3en instances¶

i3en instances have up to 4x the networking bandwidth of i3 instances, enabling up to 100 Gbps of sustained network bandwidth.

i3en support is available for Scylla Enterprise 2019.1.1 and higher and Scylla Open Source 3.1 and higher.

Model

vCPU

Mem (GB)

Storage (NVMe SSD)

i3en.large

2

16

1 x 1,250 GB

i3en.xlarge

4

32

1 x 2,500 GB

i3en.2xlarge

8

64

2 x 2,500 GB

i3en.3xlarge

12

96

1 x 7,500 GB

i3en.6xlarge

24

192

2 x 7,500 GB

i3en.12xlarge

48

384

4 x 7,500 GB

i3en.24xlarge

96

768

8 x 7,500 GB

All i3en instances have the following specs:

  • 3.1 GHz all-core turbo Intel® Xeon® Scalable (Skylake) processors

  • Intel AVX†, Intel AVX2†, Intel AVX-512†, Intel Turbo

  • EBS Optimized

  • Enhanced Networking

See Amazon EC2 I3en Instances for details.

i4i instances¶

i4i support is available for ScyllaDB Open Source 5.0 and later and ScyllaDB Enterprise 2021.1.10 and later.

Model

vCPU

Mem (GB)

Storage (NVMe SSD)

i4i.large

2

16

1 x 468 GB

i4i.xlarge

4

32

1 x 937 GB

i4i.2xlarge

8

64

1 x 1,875 GB

i4i.4xlarge

16

128

1 x 3,750 GB

i4i.8xlarge

32

256

2 x 3,750 GB

i4i.16xlarge

64

512

4 x 3,750 GB

i4i.32xlarge

128

1,024

8 x 3,750 GB

i4i.metal

128

1,024

8 x 3,750 GB

All i41 instances have the following specs:

  • 3.5 GHz all-core turbo Intel® Xeon® Scalable (Ice Lake) processors

  • 40 Gbps bandwidth to EBS in the largest size and up to 10 Gbps in the four smallest sizes (twice that of i3 instances. Up to 75 Gbps networking bandwidth (three times more than I3 instances).

  • AWS Nitro SSD storage

See Amazon EC2 I4i Instances for specification details.

See ScyllaDB on the New AWS EC2 I4i Instances: Twice the Throughput & Lower Latency to learn more about using ScyllaDB with i4i instances.

Google Compute Engine (GCE)¶

Pick a zone where Haswell CPUs are found. Local SSD performance offers, according to Google, less than 1 ms of latency and up to 680,000 read IOPS and 360,000 write IOPS. Image with NVMe disk interface is recommended, CentOS 7 for Scylla Enterprise 2020.1 and older, and Ubuntu 20 for 2021.1 and later. (More info)

Recommended instances types are n1-highmem and n2-highmem

Model

vCPU

Mem (GB)

Storage (GB)

n1-highmem-2

2

13

375

n1-highmem-4

4

26

750

n1-highmem-8

8

52

1,500

n1-highmem-16

16

104

3,000

n1-highmem-32

32

208

6,000

n1-highmem-64

64

416

9,000

Model

vCPU

Mem (GB)

Storage (GB)

n2-highmem-2

2

16

375

n2-highmem-4

4

32

750

n2-highmem-8

8

64

1500

n2-highmem-16

16

128

3,000

n2-highmem-32

32

256

6,000

n2-highmem-48

48

384

9,000

n2-highmem-64

64

512

9,000

n2-highmem-80

80

640

9,000

Storage: each instance can support maximum of 24 local SSD of 375 GB partitions each for a total of 9 TB per instance

Microsoft Azure¶

The Lsv2-series features high throughput, low latency, and directly mapped local NVMe storage. The Lsv2 VMs run on the AMD EPYCTM 7551 processor with an all-core boost of 2.55GHz.

Model

vCPU

Mem (GB)

Storage

L8s_v2

8

64

1 x 1.92 TB

L16s_v2

16

128

2 x 1.92 TB

L32s_v2

32

256

4 x 1.92 TB

L48s_v2

48

384

6 x 1.92 TB

L64s_v2

64

512

8 x 1.92 TB

L80s_v2

80

640

10 x 1.92 TB

More on Azure Lsv2 instances here

Oracle Cloud Infrastructure (OCI)¶

An OCPU is defined as the CPU capacity equivalent of one physical core of an Intel Xeon processor with hyperthreading enabled. For Intel Xeon processors, each OCPU corresponds to two hardware execution threads, known as vCPUs.

Model

OCPU

Mem (GB)

Storage

VM.DenseIO2.8

8

120

6.4 TB

VM.DenseIO2.16

16

240

12.8 TB

VM.DenseIO2.24

24

320

25.6 TB

BM.DenseIO2.52

52

768

51.2 TB

BM.HPC2.36

36

384

6.7 TB

Getting Started

Was this page helpful?

PREVIOUS
ScyllaDB Requirements
NEXT
OS Support by Platform and Version
  • Create an issue
  • Edit this page

On this page

  • System Requirements
    • Supported Platforms
    • Hardware Requirements
      • Core Requirements
        • CPU
      • Memory Requirements
      • Disk Requirements
        • SSD
        • HDD
        • Disk Space
    • Network Requirements
    • Cloud Instance Recommendations
      • Amazon Web Services (AWS)
        • i3 instances
        • i3en instances
        • i4i instances
      • Google Compute Engine (GCE)
      • Microsoft Azure
      • Oracle Cloud Infrastructure (OCI)
ScyllaDB Open Source
  • 5.1
    • master
    • 6.2
    • 6.1
    • 6.0
    • 5.4
    • 5.2
    • 5.1
  • Getting Started
    • Install Scylla
      • ScyllaDB Web Installer for Linux
      • Scylla Unified Installer (relocatable executable)
      • Air-gapped Server Installation
      • What is in each RPM
      • Scylla Housekeeping and how to disable it
      • Scylla Developer Mode
      • Scylla Configuration Reference
    • Configure Scylla
    • ScyllaDB Requirements
      • System Requirements
      • OS Support by Platform and Version
      • Scylla in a Shared Environment
    • Migrate to ScyllaDB
      • Migration Process from Cassandra to Scylla
      • Scylla and Apache Cassandra Compatibility
      • Migration Tools Overview
    • Integration Solutions
      • Integrate Scylla with Spark
      • Integrate Scylla with KairosDB
      • Integrate Scylla with Presto
      • Integrate Scylla with Elasticsearch
      • Integrate Scylla with Kubernetes
      • Integrate Scylla with the JanusGraph Graph Data System
      • Integrate Scylla with DataDog
      • Integrate Scylla with Kafka
      • Integrate Scylla with IOTA Chronicle
      • Integrate Scylla with Spring
      • Shard-Aware Kafka Connector for Scylla
      • Install Scylla with Ansible
      • Integrate Scylla with Databricks
    • Tutorials
  • Scylla for Administrators
    • Administration Guide
    • Procedures
      • Cluster Management
      • Backup & Restore
      • Change Configuration
      • Maintenance
      • Best Practices
      • Benchmarking Scylla
      • Migrate from Cassandra to Scylla
      • Disable Housekeeping
    • Security
      • Scylla Security Checklist
      • Enable Authentication
      • Enable and Disable Authentication Without Downtime
      • Generate a cqlshrc File
      • Reset Authenticator Password
      • Enable Authorization
      • Grant Authorization CQL Reference
      • Role Based Access Control (RBAC)
      • Scylla Auditing Guide
      • Encryption: Data in Transit Client to Node
      • Encryption: Data in Transit Node to Node
      • Generating a self-signed Certificate Chain Using openssl
      • Encryption at Rest
      • LDAP Authentication
      • LDAP Authorization (Role Management)
    • Admin Tools
      • Nodetool Reference
      • CQLSh
      • REST
      • Tracing
      • Scylla SStable
      • Scylla Types
      • SSTableLoader
      • cassandra-stress
      • SSTabledump
      • SSTable2json
      • SSTable Index
      • Scylla Logs
      • Seastar Perftune
      • Virtual Tables
    • ScyllaDB Monitoring Stack
    • ScyllaDB Operator
    • ScyllaDB Manager
    • Upgrade Procedures
      • Scylla Enterprise
      • Scylla Open Source
      • Scylla Open Source to Scylla Enterprise
      • Scylla AMI
    • System Configuration
      • System Configuration Guide
      • scylla.yaml
      • Scylla Snitches
    • Benchmarking Scylla
  • Scylla for Developers
    • Learn To Use Scylla
      • Scylla University
      • Course catalog
      • Scylla Essentials
      • Basic Data Modeling
      • Advanced Data Modeling
      • MMS - Learn by Example
      • Care-Pet an IoT Use Case and Example
    • Scylla Alternator
    • Scylla Features
      • Scylla Open Source Features
      • Scylla Enterprise Features
    • Scylla Drivers
      • Scylla CQL Drivers
      • Scylla DynamoDB Drivers
  • CQL Reference
    • CQLSh: the CQL shell
    • Appendices
    • Compaction
    • Consistency Levels
    • Consistency Level Calculator
    • Data Definition
    • Data Manipulation
    • Data Types
    • Definitions
    • Global Secondary Indexes
    • Additional Information
    • Expiring Data with Time to Live (TTL)
    • Additional Information
    • Functions
    • JSON Support
    • Materialized Views
    • Non-Reserved CQL Keywords
    • Reserved CQL Keywords
    • ScyllaDB CQL Extensions
  • Scylla Architecture
    • Scylla Ring Architecture
    • Scylla Fault Tolerance
    • Consistency Level Console Demo
    • Scylla Anti-Entropy
      • Scylla Hinted Handoff
      • Scylla Read Repair
      • Scylla Repair
    • SSTable
      • Scylla SSTable - 2.x
      • ScyllaDB SSTable - 3.x
    • Compaction Strategies
    • Raft Consensus Algorithm in ScyllaDB
  • Troubleshooting Scylla
    • Errors and Support
      • Report a Scylla problem
      • Error Messages
      • Change Log Level
    • Scylla Startup
      • Ownership Problems
      • Scylla will not Start
      • Scylla Python Script broken
    • Cluster and Node
      • Failed Decommission Problem
      • Cluster Timeouts
      • Node Joined With No Data
      • SocketTimeoutException
      • NullPointerException
    • Data Modeling
      • Scylla Large Partitions Table
      • Scylla Large Rows and Cells Table
      • Large Partitions Hunting
    • Data Storage and SSTables
      • Space Utilization Increasing
      • Disk Space is not Reclaimed
      • SSTable Corruption Problem
      • Pointless Compactions
      • Limiting Compaction
    • CQL
      • Time Range Query Fails
      • COPY FROM Fails
      • CQL Connection Table
      • Reverse queries fail
    • Scylla Monitor and Manager
      • Manager and Monitoring integration
      • Manager lists healthy nodes as down
  • Knowledge Base
    • Upgrading from experimental CDC
    • Compaction
    • Counting all rows in a table is slow
    • CQL Query Does Not Display Entire Result Set
    • When CQLSh query returns partial results with followed by “More”
    • Run Scylla and supporting services as a custom user:group
    • Decoding Stack Traces
    • Snapshots and Disk Utilization
    • DPDK mode
    • Debug your database with Flame Graphs
    • How to Change gc_grace_seconds for a Table
    • Gossip in Scylla
    • Increase Permission Cache to Avoid Non-paged Queries
    • How does Scylla LWT Differ from Apache Cassandra ?
    • Map CPUs to Scylla Shards
    • Scylla Memory Usage
    • NTP Configuration for Scylla
    • Updating the Mode in perftune.yaml After a ScyllaDB Upgrade
    • POSIX networking for Scylla
    • Scylla consistency quiz for administrators
    • Recreate RAID devices
    • How to Safely Increase the Replication Factor
    • Scylla and Spark integration
    • Increase Scylla resource limits over systemd
    • Scylla Seed Nodes
    • How to Set up a Swap Space
    • Scylla Snapshots
    • Scylla payload sent duplicated static columns
    • Stopping a local repair
    • System Limits
    • How to flush old tombstones from a table
    • Time to Live (TTL) and Compaction
    • Scylla Nodes are Unresponsive
    • Update a Primary Key
    • Using the perf utility with Scylla
    • Configure Scylla Networking with Multiple NIC/IP Combinations
  • ScyllaDB University
  • Scylla FAQ
  • Contribute to ScyllaDB
  • Glossary
  • Alternator: DynamoDB API in Scylla
    • Getting Started With ScyllaDB Alternator
    • Scylla Alternator for DynamoDB users
Docs Tutorials University Contact Us About Us
© 2025, ScyllaDB. All rights reserved. | Terms of Service | Privacy Policy | ScyllaDB, and ScyllaDB Cloud, are registered trademarks of ScyllaDB, Inc.
Last updated on 13 May 2025.
Powered by Sphinx 7.4.7 & ScyllaDB Theme 1.8.6