SingleStore Database Replication with SymmetricDS

SingleStoreDB is an up-and-coming database for real-time analytics that can now be replicated with the variety of other databases that SymmetricDS supports.

Just like the other databases replicated with the SymmetricDS the SingleStore database is not any different with full support for loading data, capturing changes, live transformations, and initial loads. This blog will walk through the basics of configuring this replication use case.

Prerequisites

SymmetricDS is installed and running.

SingleStore is installed and running.

– If you intend to capture changes on SingleStore for replication you will need a different user setup than the user id provided to applications and users making the changes (ex. SymmetricDS as a user).

– The following variables will need to be set in SingleStore again if you plan to capture changes on SingleStore for replication.

sdb-admin update-config --key auditlog_level --value ALL-QUERIES-PLAINTEXT --all
sdb-admin update-config --key auditlog_disk_sync --value ON --all
sdb-admin update-config --key auditlog_retention_period --value 7 --all

SymmetricDS Configuration

Connecting to a SingleStore database and setting it up as a SymmetricDS node is similar to all the other databases supported. Select SingleStore from the database dropdown and provide the credentials and URL needed to make a JDBC connection to your SingleStore database.

After making a successful connection to your SingleStore database the next step will be to identify where the audit logs are located. These will be used by SymmetricDS to capture changes on the SingleStore database to replicated to a target system.

The final check is to verify the variables are set up properly for replication. If the permission check fails be sure to verify all the variables in the prerequisites section have been properly set up.

Once you have completed the setup wizard your SingleStore node is ready for change capture. You will be able to see it on the design table as a log-based node and can continue with loading data as needed to or from SingleStore.