ScyllaDB
Managed ScyllaDB: a Cassandra-compatible wide-column database with single-node or multi-node high-availability clusters and automated backups.
Creating a ScyllaDB instance
From the phase canvas, click + Service → Databases → ScyllaDB, then Commit. Pick a plan and storage size, and StackBlaze provisions the instance for you.
Connecting a ScyllaDB instance to an app injects SCYLLA_HOST, SCYLLA_PORT,CQL_HOST, and CQL_PORT (CQL on 9042). Attach from the add-on Connections list or the app Add-ons tab.
ScyllaDB is Cassandra-compatible: it is a C++ rewrite of Apache Cassandra. Because of this, existing Cassandra drivers and your existing CQL (Cassandra Query Language) work against it without changes.
Connecting
ScyllaDB uses the CQL binary protocol on port 9042, the same wire protocol as Cassandra. Any Cassandra-compatible driver can talk to it directly. Services in the same project reach the database over the cluster's private network using its internal contact point, which takes the form below:
[service-name]:9042Browse and query with CloudBeaver
Every database add-on ships with CloudBeaver. Open with DB Beaver on the add-on's Overview starts a scoped session where you can browse tables, run SQL, and edit data in the browser.
Standard vs high availability
You choose between Standard and high availability when creating the instance. Standard runs a single node, which is a good fit for development and lower-stakes workloads. High availability runs a multi-node cluster that replicates data across nodes and racks, the same way a Cassandra cluster does, so the database keeps serving traffic if a node is lost.
| Standard | High availability | |
|---|---|---|
| Topology | Single node | Multi-node cluster |
| Replication | None (single copy) | Across nodes and racks |
| Survives a node loss | No | Yes |
| Best for | Development and testing | Production and resilient workloads |
Connecting from Python
The standard cassandra-driver package works with ScyllaDB. Read the contact points from SCYLLA_CONTACT_POINTS, connect, and run a CQL query:
import os
from cassandra.cluster import Cluster
contact_points = os.environ["SCYLLA_CONTACT_POINTS"].split(",")
cluster = Cluster(contact_points, port=9042)
session = cluster.connect()
rows = session.execute("SELECT release_version FROM system.local")
for row in rows:
print(row.release_version)
cluster.shutdown()Backups
StackBlaze takes automated, encrypted backups that follow the platform backup policy applied to all managed databases. For details on schedules, restores, and how the policy works, see /docs/databases/backups.
Under the hood