Prüfungsphase: Qualitätscheck für Datenbanken
Da während eines Migrationsprozesses an Anwendungen und Datenbanken keinerlei Änderungen vorgenommen werden sollten, gilt es, sämtliche Eigenschaften, die einer soliden Performanz entgegenstehen, zu eliminieren. Um für ein reibungsloses Zusammenspiel zwischen Anwendungs- und Datenbankebene sorgen zu können, sind zusätzliche Qualitätsprüfungen nötig. Dabei sollten folgende Punkte sichergestellt werden:
- Konsistente Namensstandards für Objekte wie Tabellen, Views, Trigger, Stored Procedures und User-Defined Functions (UDFs).
- Keine Verwendung übergroßer Spalten, zum Beispiel CHAR(500), sofern keiner der darin enthaltenen Werte 32 Zeichen übersteigt.
- GUIDs (Globally Unique Identifiers) werden nicht als Clustered-Indizes genutzt. Dies ist lediglich bei kleinen Tabellen, die nicht mehr erweitert werden, zulässig. Außerdem muss überprüft werden, ob GUIDs als Cluster-Primärschlüssel genutzt werden, da dies zahlreiche Performanzprobleme verursachen kann.
- Es gibt keine Datentypen, die als MAX-Größe definiert sind, wie beispielsweise NVARCHAR(MAX).
- Es bestehen keine impliziten Konvertierungen, da diese schwerwiegende Codeprobleme nach sich ziehen können. Insbesondere, wenn Object Relational Mapping (ORM)-Tools genutzt werden, sind Konvertierungsprobleme wahrscheinlicher, da ORMs meist standardmäßig GUIDs als Cluster-Indizes einsetzen.
Weiterhin sollte die Codierung der Anfrage-Timeouts noch einmal unter die Lupe genommen werden. Treten bereits in der on-premises-Umgebung bei bestimmten Abfragen Server-Zeitüberschreitungen auf, werden sich diese in der Cloud noch verstärken. Um dies zu verhindern, sollte der Code so überarbeitet werden, dass er in der Cloud gegenüber Anfrage-Timeouts belastbarer ist und die damit verbundenen Anfragen entsprechend optimiert werden.
Eine weitere notwendige, aber in Einzelfällen womöglich schmerzvolle Aufgabe, ist die Beurteilung und Überprüfung liebgewonnener Funktionen, wie zum Beispiel das Erstellen temporärer Tabellen. Während derartige Features gern genutzt werden, um die Logik der Codierung zu verbessern, wirken sich nur wenige von ihnen günstig auf die Performanz aus. Um in der Cloud keine bösen Überraschungen zu erleben, sollte man für die am häufigsten genutzten Datenbankfunktionen einen Test einplanen.
Zuverlässige Dokumentation erleichtert den Wechsel in die Cloud
Im Großen und Ganzen erfordert der Schritt in die Cloud nichts weniger als das Erstellen einer umfassenden Dokumentation auf Grundlage eines Datenkatalogs. Um nicht nach der Migration feststellen zu müssen, dass Anwendungen und Nutzern sprichwörtlich der Boden unter den Füßen weggezogen wurde, muss eine weitere Stufe ergänzt werden: Es muss zusätzlich verzeichnet werden, welche Anwendungen auf die im Katalog erfassten Daten zugreifen. Dies erscheint DBAs zwar ähnlich unliebsam wie sich bei einem Wohnungsumzug mit längst vergessenen Dingen auseinandersetzen zu müssen, ist aber in dieser Situation ebenso unerlässlich. Um den Dokumentationsprozess zu vereinfachen, lohnt sich der Einsatz entsprechender Managementtools, die unter anderem automatisiert eine ausführliche Übersicht der Datenherkunft erstellen können. Auf diese Weise können geeignete Voraussetzungen für eine reibungslose Migration und eine effiziente Cloud-Nutzung geschaffen werden.