• Stars
    star
    12,344
  • Rank 2,473 (Top 0.06 %)
  • Language
    C++
  • License
    GNU Affero Genera...
  • Created over 9 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

NoSQL data store using the seastar framework, compatible with Apache Cassandra

Scylla

Slack Twitter

What is Scylla?

Scylla is the real-time big data database that is API-compatible with Apache Cassandra and Amazon DynamoDB. Scylla embraces a shared-nothing approach that increases throughput and storage capacity to realize order-of-magnitude performance improvements and reduce hardware costs.

For more information, please see the ScyllaDB web site.

Build Prerequisites

Scylla is fairly fussy about its build environment, requiring very recent versions of the C++20 compiler and of many libraries to build. The document HACKING.md includes detailed information on building and developing Scylla, but to get Scylla building quickly on (almost) any build machine, Scylla offers a frozen toolchain, This is a pre-configured Docker image which includes recent versions of all the required compilers, libraries and build tools. Using the frozen toolchain allows you to avoid changing anything in your build machine to meet Scylla's requirements - you just need to meet the frozen toolchain's prerequisites (mostly, Docker or Podman being available).

Building Scylla

Building Scylla with the frozen toolchain dbuild is as easy as:

$ git submodule update --init --force --recursive
$ ./tools/toolchain/dbuild ./configure.py
$ ./tools/toolchain/dbuild ninja build/release/scylla

For further information, please see:

Running Scylla

To start Scylla server, run:

$ ./tools/toolchain/dbuild ./build/release/scylla --workdir tmp --smp 1 --developer-mode 1

This will start a Scylla node with one CPU core allocated to it and data files stored in the tmp directory. The --developer-mode is needed to disable the various checks Scylla performs at startup to ensure the machine is configured for maximum performance (not relevant on development workstations). Please note that you need to run Scylla with dbuild if you built it with the frozen toolchain.

For more run options, run:

$ ./tools/toolchain/dbuild ./build/release/scylla --help

Testing

See test.py manual.

Scylla APIs and compatibility

By default, Scylla is compatible with Apache Cassandra and its APIs - CQL and Thrift. There is also support for the API of Amazon DynamoDBâ„¢, which needs to be enabled and configured in order to be used. For more information on how to enable the DynamoDBâ„¢ API in Scylla, and the current compatibility of this feature as well as Scylla-specific extensions, see Alternator and Getting started with Alternator.

Documentation

Documentation can be found here. Seastar documentation can be found here. User documentation can be found here.

Training

Training material and online courses can be found at Scylla University. The courses are free, self-paced and include hands-on examples. They cover a variety of topics including Scylla data modeling, administration, architecture, basic NoSQL concepts, using drivers for application development, Scylla setup, failover, compactions, multi-datacenters and how Scylla integrates with third-party applications.

Contributing to Scylla

If you want to report a bug or submit a pull request or a patch, please read the contribution guidelines.

If you are a developer working on Scylla, please read the developer guidelines.

Contact

  • The community forum and Slack channel are for users to discuss configuration, management, and operations of the ScyllaDB open source.
  • The developers mailing list is for developers and people interested in following the development of ScyllaDB to discuss technical topics.

More Repositories

1

seastar

High performance server-side application framework
C++
7,604
star
2

gocqlx

All-In-One: CQL query builder, ORM and migration tool
Go
868
star
3

go-set

Type-safe, zero-allocation sets for Go
Go
804
star
4

scylla-rust-driver

Async CQL driver for Rust, optimized for Scylla!
Rust
517
star
5

scylla-operator

The Kubernetes Operator for ScyllaDB
Go
312
star
6

charybdefs

ScyllaDB fault injection filesystem
C++
241
star
7

scylla-code-samples

Code samples for working with ScyllaDB
Python
222
star
8

diskplorer

Python
210
star
9

scylla-monitoring

Simple monitoring of Scylla with Grafana
Shell
203
star
10

dpdk

Mirror of Data Plane Development Kit, git://dpdk.org/dpdk (http://dpdk.org)
C++
173
star
11

scylla-go-driver

Experimental, high performance Scylla Driver, University of Warsaw students' project
Go
146
star
12

termtables

Fork of github.com/apcera/termtables
Go
55
star
13

scylla-migrator

Migrate data extract using Spark to Scylla, normally from Cassandra
Scala
50
star
14

scylla-cluster-tests

Tests for Scylla Clusters
Python
50
star
15

scylla-tools-java

Apache Cassandra, supplying tools for Scylla
Java
49
star
16

gaming-leaderboard-demo

Learn how to use ScyllaDB to generate a monstrously fast leadearboard for your application!
TypeScript
48
star
17

scylla-manager

The Scylla Manager
Go
42
star
18

kafka-connect-scylladb

Kafka Connect Scylladb Sink
Java
42
star
19

scylla-ansible-roles

Ansible roles for deploying and managing Scylla, Scylla-Manager and Scylla-Monitoring
Python
39
star
20

scylla-bench

Go
39
star
21

scylla-cdc-source-connector

A Kafka source connector capturing Scylla CDC changes
Java
38
star
22

scylla-cloud-getting-started

Rust
38
star
23

scylla-cdc-go

Go
37
star
24

care-pet

Care Pet IoT ScyllaDB example
JavaScript
37
star
25

cassandra-test-and-deploy

Python
30
star
26

scylla-cdc-rust

Rust
27
star
27

gemini

Test data integrity by comparing against an Oracle running in parallel
Go
27
star
28

scylla-seastar

Stable-branch fork of seatar, for scylla use
C++
26
star
29

scylla-jmx

Scylla JMX proxy
Java
25
star
30

go-reflectx

Go reflection library to find struct field by its tag
Go
24
star
31

scylla-graphite-monitoring

Python
20
star
32

scylla-cdc-java

Java
20
star
33

scylla-ccm

Cassandra Cluster Manager, modified for Scylla
Python
18
star
34

scylla-machine-image

Python
17
star
35

scylla-grafana-datasource

A grafana backend plugin for ScyllaDB
TypeScript
17
star
36

scylladb-feature-store

A feature store sample application built with ScyllaDB
Jupyter Notebook
14
star
37

jepsen

scylladb jepsen clone
Clojure
14
star
38

alternator-load-balancing

Various tricks, scripts, and libraries, for load balancing multiple Alternator nodes
Java
14
star
39

sphinx-scylladb-theme

The documentation toolchain for Scylla projects.
Python
12
star
40

cpp-rust-driver

API-compatible rewrite of https://github.com/scylladb/cpp-driver as a wrapper for Rust driver.
C++
11
star
41

go-sshtools

Go SSH client wrapper and other tools
Go
11
star
42

video-streaming

Video streaming sample app with NextJs + ScyllaDB
TypeScript
10
star
43

terraform-provider-scylladbcloud

Terraform provider for ScyllaDB Cloud.
Go
10
star
44

scylla-rust-udf

Rust
10
star
45

scylla-cqlsh

A fork of the cqlsh code
Python
9
star
46

sstable-tools

Python
7
star
47

scylla-ami

Python
7
star
48

1m-ops-demo

1 million operations/second ScyllaDB demo
HCL
6
star
49

scylla-swagger-ui

Private fork of https://github.com/swagger-api/swagger-ui for scylla
JavaScript
6
star
50

scylla-python3

Python
6
star
51

scylla-stress-orchestrator

Python
5
star
52

cql-stress

Rust
5
star
53

scylla-price-calculator

Compare Scylla Cloud cost to estimations of other DBaaS services cost. Data is served with no guarantees. Please validate with each DBaaS price list per region.
Vue
5
star
54

argus

Svelte
4
star
55

go-log

Wrapper over Uber Zap
Go
4
star
56

scylla-api-client

Scylla CLI Python module and command line utility
Python
4
star
57

jenkins-slave

Jenkins slaves as docker images
4
star
58

k8s-local-volume-provisioner

Go
3
star
59

python-driver-matrix

Groovy
3
star
60

seastar-website

Seastar static website
HTML
3
star
61

scylladb-web-install

Shell
3
star
62

scylla-java-driver-matrix

Groovy
3
star
63

scylla-doc-issues

Repository for reporting issues about Scylla documentation (Deprecated)
2
star
64

scylla-artifact-tests

Tests for the scylla distro packages
Python
2
star
65

scylla-cluster-autoscaler

Go
2
star
66

scylla-operator-images

This repository contains the source for shared images used by Scylla Operator projects. We do not provide any support or compatibility guaranties for these images as their sole purpose is only to provide a common base in our projects.
Dockerfile
2
star
67

scylla-cpp-driver-matrix

Groovy
1
star
68

scylla-build-dependencies-docker

Dockerfiles for generating images with scylla build dependencies
1
star
69

scylladb-cloud-doc-issues

A repo for Scylla Cloud docs issues
1
star