17.2. Using ScyllaDB with GeoMesa¶
ScyllaDB is a high-performance, drop-in replacement for Apache Cassandra that is fully compatible with the Cassandra Query Language (CQL) and wire protocol.
17.2.1. Data Store Parameters and Usage¶
ScyllaDB uses the exact same parameters and API as the Cassandra Data Store. Please refer to the Cassandra Data Store Parameters documentation for complete details on:
Data store parameters
Programmatic access
Command line tools
Configuration options
The only difference is that you point the cassandra.contact.point parameter to your
ScyllaDB cluster instead of a Cassandra cluster.
17.2.1.1. Quick Example¶
Map<String, Serializable> parameters = new HashMap<>();
parameters.put("cassandra.contact.point", "127.0.0.1:9042"); // Your ScyllaDB cluster
parameters.put("cassandra.keyspace", "geomesa_scylla");
parameters.put("cassandra.catalog", "mycatalog");
org.geotools.api.data.DataStore dataStore =
org.geotools.api.data.DataStoreFinder.getDataStore(parameters);
17.2.2. ScyllaDB-Specific Notes¶
17.2.2.1. Differences with Cassandra¶
ScyllaDB is designed as a performance-focused alternative to Cassandra. For detailed comparisons and benchmarks, see ScyllaDB’s comparison documentation
17.2.2.2. Compatibility¶
All Cassandra DataStore features work with ScyllaDB
Same client drivers and CQL syntax
ScyllaDB 2025.x or 6.x+ recommended
No code changes required - true drop-in replacement
17.2.2.3. Migration from Cassandra¶
To migrate from Cassandra to ScyllaDB:
Export data:
bin/geomesa-cassandra exportSet up ScyllaDB with same keyspace structure
Import data:
bin/geomesa-cassandra ingestUpdate connection string to point to ScyllaDB
Alternatively, use ScyllaDB’s native migration tools to preserve all tables and data. See the ScyllaDB migration guide.