We are excited for you to get started migrating your application from your existing database to SingleStore Managed Service (S2MS). We have many users that have migrated internal and customer-facing applications to S2MS after they found that other solutions (MySQL, MariaDB, Postgres, etc.) were not meeting their needs. Users often find improved data ingestion speed and query latency, and better concurrency support using S2MS as their backend database instead of those platforms.
Some terminology used in this guide:
- App/Application: Web- or mobile-based, customer or internal facing application.
- Object storage: Cloud-based data repository.
Let’s get started by discussing some of the basic things to consider when bringing your data over from one of these databases.
Things to Consider
For users starting with a database already hosted in a cloud provider like AWS, GCP, or Azure, you may already have your data sitting in object storage (if not, we walk through how to do this later). SingleStore has a feature called Pipelines, which allows you to bring in data from any of these places very quickly. We’ll go through how to do this in a bit. Alternatively, you can use
mysqldump, since SingleStore follows the MySQL wire protocol.
Now, of course, every database is different. Let’s talk a bit about database design differences.
Things to know, regardless of your current platform:
- SingleStore Managed Service can be deployed in any of the three major clouds, in any region – so you don’t have to worry about moving regions.
MySQL or MariaDB (for example, open source, AWS RDS MariaDB, Google Cloud SQL, Azure DB for MySQL, etc.)
- S2MS is MySQL wire-compatible, making it very easy to transition any of these above databases.
- S2MS is a distributed database system offering simple, powerful sharding capabilities through a shard key, which we will explain later.
- 2MS will not validate whether foreign keys exist when your data changes, though you can still have foreign keys in your app.
PostgreSQL (for example, open source, EnterpriseDB, CitusDB)
- S2MS primarily follows MySQL syntax, so you will have to re-write queries.
- S2MS is distributed, and provides robust support for all data types including JSON.
- S2MS will not validate whether foreign keys exist when your data changes, though you can still have foreign keys in your app.