Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Migrating from SQL Server to AWS Aurora

My organization is considering moving our current SQL Server RDS instance to an AWS Aurora instance. Our motivation is solely to cut down on costs. I have run some successful tests using the MySQL Workbench Database Migration tool to move the SQL Server db to an Aurora instance. The database is about 4GB, has about 100 tables, about a dozen views and stored procedures. I am already using a MySQL copy of the database for development on a local machine, so all SQL syntax differences are already handled.

Are there any serious downsides to this migration project? Anything we should consider before making the switch?

like image 707
RichKB Avatar asked Aug 07 '16 21:08

RichKB


People also ask

Is Aurora compatible with SQL Server?

Using this walkthrough, you can learn how to migrate a Microsoft SQL Server database to an Amazon Aurora MySQL-Compatible Edition database using the AWS Schema Conversion Tool (AWS SCT) and AWS Database Migration Service (AWS DMS). AWS DMS migrates your data from your SQL Server source into your Aurora MySQL target.

Is Aurora faster than SQL Server?

Amazon asserts Aurora is five times faster than standard MySQL databases and three times faster than PostgreSQL databases when used in the cloud. Comparing Amazon Aurora vs. SQL Server yields similar findings, since SQL Server—like MySQL—is designed to be used on-premises.

Does Amazon Aurora support SQL?

Amazon Aurora is a relational database management system (RDBMS) built for the cloud with full MySQL and PostgreSQL compatibility.


1 Answers

This is a really series step. You should consider a few key things while migrating:

  1. Performance: for simple request Aurora (improved MySQL) can be faster than MS SQL, but: a) MS SQL has smarter query analyzer and in order to take good Aurora (MySQL) performance you need to understand how it works very well. SQL Server can “excuse” a lot of developer things. b) For such big databases SQL Server in Enterprise edition has a few great features: partitioning, data compressions, online rebuild indexes, always on. But Enterprise edition can be expensive enough. That’s true.
  2. Development: MySQL (Aurora) syntax is really poor comparing to SQL Server. MySQL doesn’t support many many things like HierarchyID, recurrent CTE, included column in indexes, index filtering, change tracking, XML, JSON and so on. It even limites systax for nested queries a lot. Many thing you need to implement yourself. Also, SQL Server has more professional development tools like SQL Server Management Tool, SQL Profiler, and Tuning Adviser and so on.
  3. Different implementations: Some things in Aurora work differently. For instance, unique index in Aurora allows having many null values but SQL Server doesn't allow this. And so on.
  4. Priсe: For good performance for now you need to rent at least large Aurora instance which costs about $210 p/m + replica = about $420 - not so cheap. Amazon Aurora Pricing

So, I’d recommend calculating all pros and cons while migrating because you can reduce resource cost but spend additional time and affords (so money) on development and maintenance.

like image 62
Vasyl Zv Avatar answered Oct 01 '22 13:10

Vasyl Zv