ScyllaDB
Connect & Ingest data from / to a ScyllaDB database
Setup
The following credentials keys are accepted:
host(required) -> The hostname / ip of the instance (contact point)user(optional) -> The username to access the instance (alias:username)password(optional) -> The password to access the instanceport(optional) -> The port of the instance. Default is9042.keyspace(optional) -> The default keyspace to use (aliases:database,schema)hosts(optional) -> Additional contact points (comma-separated hostnames orhost:port) for multi-node clusterslocal_dc(optional) -> Local datacenter name for DC-aware + token-aware routing (alias:datacenter). Recommended for multi-node / multi-DC clusters.consistency(optional) -> Default write/read consistency. Examples:ONE,LOCAL_ONE,QUORUM,LOCAL_QUORUM,ALL. Default is driver default (QUORUM).timeout(optional) -> Query timeout in seconds. Default is15.connect_timeout(optional) -> Connection setup timeout in seconds. Defaults totimeout.disable_initial_host_lookup(optional) -> Iftrue(default), do not look up peer hosts from the control connection. Useful for Docker/Kubernetes where broadcast addresses are not reachable. Setfalseon multi-node bare-metal clusters for peer discovery / failover.num_conns(optional) -> Number of connections per host. Default is2.page_size(optional) -> CQL page size for reads. Default is5000.insert_concurrency(optional) -> Concurrent insert workers for bulk writes. Default is16.tls(optional) -> whether to use TLS for connecting (true/false/skip-verify)cert_file(optional) -> the client certificate to use to access the instance via TLS (file path or raw)cert_key_file(optional) -> the client key to use to access the instance via TLS (file path or raw)cert_ca_file(optional) -> the client CA certificate to use to access the instance via TLS (file path or raw)
ScyllaDB is Cassandra-compatible and uses the native CQL protocol (via gocql / Scylla fork). Tables require a primary key; if none is provided on write, Sling will pick a suitable column (preferring columns named id). Prefer setting primary_key explicitly in replications.
When Sling auto-creates a keyspace, it uses NetworkTopologyStrategy with replication_factor: 1 (fine for single-node dev). For production, create keyspaces yourself with the correct per-DC replication factors.
Using sling conns
Here are examples of setting a connection named SCYLLADB. We must provide the type=scylladb property:
Environment Variable
See here to learn more about the .env.sling file.
Sling Env File YAML
See here to learn more about the sling env.yaml file.
Examples
Notes
No SQL views β Scylla supports materialized views with strict rules, not regular
CREATE VIEW. Prefer tables as sources.CQL is not SQL β arbitrary SQL (joins, aliases, subqueries) is not supported as a stream. Use table names or simple CQL.
Merge strategies β the default merge strategy is
insert(CQL INSERT upserts by primary key). SQL-style update/delete merge strategies are not supported.Keyspaces β create production keyspaces yourself with the correct
NetworkTopologyStrategyRF per DC.
If you are facing issues connecting, please reach out to us at support@slingdata.io, on discord or open a Github Issue here.
Last updated
Was this helpful?