2016-08-07 11 views
5

Meine Organisation erwägt, unsere aktuelle SQL Server RDS-Instanz in eine AWS Aurora-Instanz zu verschieben. Unsere Motivation besteht einzig und allein darin, Kosten zu sparen. Ich habe einige erfolgreiche Tests mit dem MySQL Workbench Datenbankmigrationstool durchgeführt, um die SQL Server-Datenbank in eine Aurora-Instanz zu verschieben. Die Datenbank ist ungefähr 4 GB, hat ungefähr 100 Tabellen, ungefähr ein Dutzend Ansichten und gespeicherte Prozeduren. Ich benutze bereits eine MySQL-Kopie der Datenbank für die Entwicklung auf einem lokalen Rechner, so dass alle SQL-Syntax Unterschiede bereits behandelt werden.Migrieren von SQL Server zu AWS Aurora

Gibt es irgendwelche schwerwiegenden Nachteile für dieses Migrationsprojekt? Was sollten wir vor dem Wechsel beachten?

+0

Gute Frage, aber nicht die Begründung erhalten. Was lässt Sie glauben, dass SQL Server Express Ihren Anforderungen nicht gerecht wird? –

+0

Sie müssen mit Aurora RDS die oberste Priorität der Speicherprozeduren testen. – error2007s

+0

Danke, Slava. Ich versuche Express in einer Testumgebung. Es scheint schnell zu lesen, aber die Schreibvorgänge (Speichern von Daten aus einem Webformular) sind im Vergleich zu unserer aktuellen db.m3.xlarge-Instanz sehr langsam. db.t2.medium ist der größte Typ für Express. Die CPU scheint in Ordnung zu sein. Vielleicht ist es der Mangel an PIOPS-optimiert, der den Unterschied macht? – RichKB

Antwort

5

Dies ist ein echter Serienschritt. Sie sollten ein paar wichtige Dinge prüfen, während der Migration:

  1. Leistung: für einfache Anfrage Aurora (verbesserte MySQL) kann schneller als MS SQL, aber: a) MS SQL hat smarter Query Analyzer und um nehmen Sie gute Aurora (MySQL) Leistung, die Sie verstehen müssen, wie es sehr gut funktioniert. SQL Server kann viele Entwickler-Dinge "entschuldigen". b) Für solche große Datenbanken hat SQL Server in Enterprise Edition ein paar großartige Funktionen: Partitionierung, Datenkomprimierungen, online neu erstellen Indizes, immer an. Aber Enterprise Edition kann teuer genug sein. Das ist richtig.
  2. Entwicklung: MySQL (Aurora) Syntax ist wirklich schlecht im Vergleich zu SQL Server. MySQL unterstützt nicht viele Dinge wie HierarchyID, wiederkehrendes CTE, enthaltene Spalte in Indizes, Indexfilterung, Änderungsverfolgung, XML, JSON und so weiter. Es limitiert Systax sogar für verschachtelte Abfragen. Viele Dinge, die Sie selbst umsetzen müssen. Außerdem hat SQL Server mehr professionelle Entwicklungstools wie SQL Server Management Tool, SQL Profiler und Tuning Adviser und so weiter.
  3. Verschiedene Implementierungen: Einige Dinge in Aurora arbeiten anders. Zum Beispiel erlaubt der eindeutige Index in Aurora viele Nullwerte, aber SQL Server lässt dies nicht zu. Und so weiter.
  4. Preis: Für eine gute Leistung für jetzt müssen Sie mindestens große Aurora-Instanz mieten, die etwa $ 210 p/m + Replik kostet = etwa $ 420 - nicht so billig. Amazon Aurora Pricing

Also, würde ich empfehlen, alle Vor-und Nachteile der Berechnung während der Migration, weil Sie Ressourcenkosten reduzieren können, aber verbringen mehr Zeit und liefert (also Geld) für die Entwicklung und Wartung.

+1

Danke, Vasyl. 1-3 sind großartige Punkte, aber es war letztendlich 4, die uns von Aurora ablenkten. Um vergleichbare Beispiele zu erhalten, würden wir fast nichts sparen. – RichKB

+0

Richtig, Sie können nicht viel Geld sparen, ein wenig für hoch belastete riesige Datenbanken. –

Verwandte Themen