Lift and Shift To MariaDB SkySQL
Lift and Shift To MariaDB SkySQL
TO MARIADB
SKYSQL
WHITEPAPER
TABLE OF CONTENTS
1 LIFT AND SHIFT TO MARIADB SKYSQL
1 KEY BENEFITS
14 NEXT STEPS
Migration is the process of permanently moving data from one database to another.
Lift-and-shift is a type of migration where no material application or data changes are needed since the underlying
database platforms have the same functional capabilities. The “lift” is preparing your data and applications for the
migration, and the “shift” is the migration.
The process outlined here is focused on migrations from MariaDB Server to MariaDB Enterprise Server running on
MariaDB SkySQL. Migrations from Oracle database, MySQL, IBM DB2 and Microsoft SQL Server are also possible, but
require more robust planning and execution since these databases are not 100% compatible with MariaDB Server.
Key benefits
• On-demand spin-up of new instances, and billing based on what you use
• Right-sized service for your application, with availability from multiple regions in a range of database instance
sizes and storage sizes
• Fully managed infrastructure, including automated nightly backups and monitoring
• MariaDB Platform for predictable life cycle and advanced enterprise features, optimized for transactional,
analytical and HTAP workloads
• Support from MariaDB Corporation database experts and engineers
• SkySQL offers isolation, firewalls, data-at-rest encryption and data-in-transit encryption to meet GRC
(governance, risk management and compliance) and infosec challenges faced by modern applications; DPA
(GDPR) and BAA (HIPAA) are available.
• Platform configurations are optimized for ACID-compliant transactional (InnoDB), analytical (MariaDB
ColumnStore) and distributed SQL (MariaDB Xpand) workloads.
• Advanced features also include temporal tables, MariaDB Enterprise Audit, and InnoDB Instant ALTER
TABLE.
• MariaDB Platform offers compatibility with most programming languages for off-the-shelf integration to
your stack.
• Standard support is included; Enterprise and Platinum support plans are available.
• Instances are subject to SLA; SkySQL Power customers are provided an elevated SLA.
• Based on your existing and planned workloads, what SkySQL instance sizes would be appropriate?
• For multi-node configurations appropriate for mission-critical workloads, how many instances do you
plan to deploy? Primary/replica transactional service offers read scaling based on instance count, while
distributed transactional service (backed by MariaDB Xpand) offers both read and write scaling based on
instance count.
• Based on current and planned storage capacity, including data retention requirements, how much
storage will your database require? Transactional storage is provisioned in advance and is a factor in disk
performance (IOPS), while object storage for analytical databases is elastic and scalable.
• Which version of MariaDB Enterprise Server (10.5 or 10.4) will you deploy? Your existing server version and
the MariaDB Enterprise Server software life cycle may be considerations. Enterprise Server 10.5 is EOL in
July 2025, and 10.4 is EOL in July 2024.
If you are currently running an on-premises database and are considering your first move to the cloud, see “What
Changes When You Move to a DBaaS?” below.
When starting a database service, you will be prompted for instance and storage sizing, region and service name.
When it comes time to deploy your SkySQL service, it can take up to 25 minutes for the initial deployment in a region
to afford time for your Kubernetes cluster to be provisioned. Consecutive database deployments will use the same
Kubernetes environment and take significantly less time.
The real-time benefits come every day after, when you’re operating at scale. A database node fault could take a short
five minutes or less for Kubernetes self-healing, instead of an eight-hour bare metal rebuild as you might see on
premises or on other cloud platforms.
When importing larger and production data sets, working with SkySQL Support is recommended. They will
coordinate the efficient handoff of data for secure and direct loading to the service. Data can be loaded from a
customer-provided S3 bucket, a customer-provided SFTP server or a SkySQL-supplied GCP GCS (Google Cloud
Storage) bucket.
If your backup contains any CREATE VIEW, CREATE FUNCTION, CREATE PROCEDURE or CREATE EVENT
statements, special actions will be needed. See “Importing Transactional Data into MariaDB SkySQL” in the SkySQL
documentation for details.
# TSV
LOAD DATA LOCAL INFILE ‘contacts.tsv’
INTO TABLE accounts.contacts;
# CSV
LOAD DATA LOCAL INFILE ‘contacts.csv’
INTO TABLE accounts.contacts
FIELDS TERMINATED BY ‘,’;
MariaDB-assisted import
Physical-level backups of the filesystem, such as those produced using tar or mariabackup (MariaDB Enterprise
Backup) can be used but data restore must be performed by SkySQL Support since SkySQL accounts do not have file
system–level access.
mariabackup --backup \
--target-dir=/var/mariadb/backup/ \
--user=mariabackup --password=mypassword
mariabackup --prepare \
--target-dir=/var/mariadb/backup/
Your source server must be configured for replication, and have enough days of binary log retention to cover the
period from the present back to when the backup was taken.
log-bin=mariadbd-bin
expire-logs-days=7
Prior to performing the backup, work with SkySQL Support to finalize the command to create the grants necessary to
support replication. SkySQL Support will provide the needed IP address. At the time of contact with SkySQL Support,
please notify if you are using GTIDs and provide details of your existing replication configuration.
Immediately following the restore, SkySQL Support can perform the needed operations to establish replication to
your SkySQL service, CHANGE MASTER and START SLAVE.
SkySQL Support can provide you notification when the replication lag is close to zero; that is, when replication is
caught up. Replication can also be monitored through the SHOW SLAVE STATUS\G command. SkySQL Support
can grant your account the REPLICATION CLIENT privilege so this command can be used. Testing should not
commence until your replica is fully in sync with the primary, and has close to zero replication lag.
Testing
MariaDB’s approach for migrations has been honed over many years. One of the migration steps most critical to
your success is testing. The specific testing to perform for migration may differ from your organization’s typical
application- or system-level tests. Testing generally requires the deployment of test application nodes which connect
to the SkySQL service.
• Data and data structure tests covering client applications, APIs, batch jobs
A mix of manual testing and automated script-driven testing should be applied. Automated testing allows for more
repeatable testing at scale. Compare test results with checksums, counts, smoke tests, randomized reads, writes
and stored code calls. Review and retain test results. Ensure stakeholder sign–off as required by your business.
Once all other testing has been completed, you may wish to conduct a full-scale migration test to validate your
fallback planning.
Application cutover
Application cutover should occur on a scheduled basis, only after testing has successfully concluded. Remember to
communicate application cutover plans within your business.
2. Inbound replication from your source database to your SkySQL service is stopped
3. Outbound replication from your SkySQL service to your source database is started
Replication changes are made with the assistance of SkySQL Support. Prior coordination is recommended.
Use of a wire-on/wire-off or switchboard configuration mechanism within your application can reduce complexity
and changeover time.
Repeat non-destructive application testing against your SkySQL service to validate proper application operation. In
the event of a problem, remediate the issue or enact your fallback plan. A good fallback plan minimizes moving parts
while reversing the application cutover process.
After running on SkySQL for some business-defined period of time, typically weeks, decommission the old database.
• MariaDB Enterprise Server maintains extensive feature compatibility with MariaDB Enterprise Server and
MariaDB Community Server, enabling frictionless migration to MariaDB SkySQL.
• MariaDB Enterprise Server’s pluggable storage engine architecture enables optimization for replicated
transactional workloads, for analytical workloads and for distributed SQL with fault tolerance.
• With operations activities such as nightly backups, infrastructure management and version upgrades handled
by SkySQL, you free staff time to focus on your core business requirements.
• SkySQL enables the creation of multiple production-like environments in parallel for on-demand testing, and
environments can be stopped when not in use and deleted when they are no longer needed.
• SkySQL-to-SkySQL migrations can be used to increase or reduce instance sizes, change application
architecture, and test optimizations, all with a fallback path.
• Features such as SkySQL Monitoring and SkySQL Workload Analysis, both currently available as a Technical
Preview, support diagnosis of bottlenecks and opportunities for optimization.
With SkySQL, our platform and experts handle the infrastructure needs, allowing you to focus on your core business.
When you choose MariaDB SkySQL, you forgo the capital expenditure of buying hardware, the delay of waiting
for new systems to ship every time you need to scale up or scale out, and the overhead and opportunity cost of
tuning, monitoring and upgrading your database. SkySQL also handles routine tasks such as nightly backups and
infrastructure maintenance.
And if you need ultimate control, and have the necessary skills and resources to hand-pick instances and tune
configurations, the SkySQL Power tier delivers all of the on-premises benefits without the capital expense (capex)
and operational overhead. SkySQL Power also includes cross-region replicas for disaster recovery (DR) and an
elevated SLA.
• Infrastructure maintenance
• Configuration management
• Monitoring
• Firewall configuration
• Data-at-rest encryption
The table on the following page outlines special considerations when moving to a DBaaS.
Special considerations when moving to a DBaaS include
Latency Round-trip time (RTT) between database servers and application servers should be minimized by
Available regions Assess regional coverage versus your business requirements, including the country where data is
hosted. MariaDB SkySQL is available today in many GCP (Google Cloud Platform) regions around
Available instance sizes Assess sizing based on workload requirements. MariaDB SkySQL offers a range of standard
instance sizes, including high memory options. SkySQL Power customers also have access to
Frequency of software Software upgrades are provided by the DBaaS vendor. In the case of MariaDB SkySQL, software
updates updates are available shortly after each new release of MariaDB Enterprise Server and are
Service-level agreement Assess based on your operational requirements. Subject to SkySQL SLA terms, multi-node
(SLA) service deployments are subject to a 99.95% SLA, and SkySQL Power customers receive an
Vendor lock-in Vendor lock-in is common among many database providers but is not a practice of MariaDB
Corporation. MariaDB SkySQL is backed by MariaDB Enterprise Server, which extends the features
of the widely available MariaDB Community Server. MariaDB SkySQL features make it easy to get
your data in and out of the platform. SkySQL is available both on demand and with discounted
Compliance Assess based on your business requirements. MariaDB SkySQL includes standard security
Business Associate Addendum (BAA) for HIPAA and Data Processing Addendum (DPA) for GDPR
are available.
Available support Assess based on your operational requirements. With MariaDB SkySQL, standard support is
included with all instances. Enterprise and Platinum support options are available to meet the
• Subject to SLA terms, multi-node service deployments are subject to a 99.95% SLA, and SkySQL Power
customers receive an elevated SLA of 99.995%.
• Standard support is included with all instances. Activities like performance tuning and assistance with schema
changes is not included in standard support.
• Enhanced support plans are available to meet the needs of mission-critical deployments requiring 24x7
support. Enterprise and Platinum support plans are optional and include consultative support.
• An option available to customers with Enterprise or Platinum support plans, SkyDBA further extends the
premium support experience and the capabilities of your in-house DBAs with backing from a global team
of expert MariaDB DBAs, available 24x7 for the most severe (S1) issues. MariaDB’s SkyDBAs manage your
MariaDB SkySQL databases both reactively (break/fix) and proactively (analyze/enhance) so you can focus on
your core business.
• MariaDB Corporation’s geo-distributed team is an excellent complement to your disaster recovery and
business continuity plan, extending your in-house capabilities.
• The MariaDB SkySQL documentation includes detailed instructions and reference material.
• Provision a service
Contact us if you have questions or are ready to advance with migration planning: https://mariadb.com/contact/.
mariadb.com/skyview