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:

  1. Export data: bin/geomesa-cassandra export

  2. Set up ScyllaDB with same keyspace structure

  3. Import data: bin/geomesa-cassandra ingest

  4. Update connection string to point to ScyllaDB

Alternatively, use ScyllaDB’s native migration tools to preserve all tables and data. See the ScyllaDB migration guide.