Datenbank optimieren

Last reviewed 2023-08-28 UTC

In diesem Dokument des Google Cloud-Architektur-Frameworks werden Best Practices für die Bereitstellung Ihres Systems auf Basis des Datenbankdesigns vorgestellt. Sie erfahren, wie Sie Datenbanken entwerfen, migrieren und skalieren, Datenbankinformationen verschlüsseln, die Lizenzierung verwalten und Ihre Datenbank auf Ereignisse überwachen.

Vorteile

In diesem Dokument der Architektur-Framework-Systemdesignkategorie werden Best Practices für verschiedene Google Cloud-Datenbankdienste vorgestellt. Die folgende Tabelle gibt einen allgemeinen Überblick über diese Dienste:

Google Cloud-Dienst Beschreibung
Cloud SQL Ein vollständig verwalteter Datenbankdienst, mit dem Sie Ihre relationalen Datenbanken einrichten, pflegen und verwalten können, die Cloud SQL for PostgreSQL, Cloud SQL for MySQL und Cloud SQL for SQL Server verwenden. Cloud SQL bietet hohe Leistung und Skalierbarkeit. Cloud SQL wird auf Google Cloud gehostet und bietet eine Datenbankinfrastruktur, mit der Anwendungen überall ausgeführt werden können.
Bigtable Eine Tabelle, die auf Milliarden von Zeilen und Tausende von Spalten skaliert werden kann, sodass Sie bis zu Petabyte an Daten speichern können. Ein einzelner Wert in jeder Zeile ist indexiert. Dieser Wert wird als Zeilenschlüssel bezeichnet. Verwenden Sie Bigtable zum Speichern von großen Datenmengen mit einem Schlüssel bei kleiner Latenz. Cloud Bigtable unterstützt einen hohen Durchsatz an Lese- und Schreibvorgängen bei kleiner Latenz und ist eine Datenquelle für MapReduce-Vorgänge.
Spanner Ein skalierbarer, global verteilter Unternehmensdatenbankdienst, der für die Cloud entwickelt wurde und eine relationale Datenbankstruktur und nicht relationale horizontale Skalierung umfasst. Diese Kombination bietet leistungsstarke Transaktionen und Konsistenz über Zeilen, Regionen und Kontinente hinweg. Spanner bietet ein SLA mit einer Verfügbarkeit von 99,999 %, keine geplanten Ausfallzeiten und Sicherheit auf Unternehmensniveau.
Memorystore Ein vollständig verwalteter Redis-Dienst für Google Cloud. Anwendungen, die in Google Cloud ausgeführt werden, können mithilfe des hochverfügbaren, skalierbaren und sicheren Redis-Dienstes die Leistung erhöhen, ohne komplexe Redis-Bereitstellungen zu verwalten.
Firestore Eine NoSQL-Dokumentendatenbank, die für Autoscaling, hohe Leistung und einfache Anwendungsentwicklung konzipiert ist. Firestore hat zwar hinsichtlich der Benutzeroberfläche viele Features mit traditionellen Datenbanken gemeinsam, ist jedoch eine NoSQL-Datenbank und beschreibt Beziehungen zwischen Datenobjekten anders.
Firebase Realtime Database Eine in der Cloud gehostete Datenbank. Firebase speichert Daten als JSON und wird in Echtzeit mit jedem verbundenen Client synchronisiert. Wenn Sie plattformübergreifende Anwendungen mit Google-, iOS-, Android- und JavaScript-SDKs erstellen, nutzen alle Ihre Clients dieselbe Echtzeit-Datenbankinstanz und erhalten automatisch Updates mit den neuesten Daten.
Open-Source-Datenbanken Google-Partner bieten verschiedene Open-Source-Datenbanken, einschließlich MongoDB, MariaDB und Redis.
AlloyDB for PostgreSQL Ein vollständig verwalteter PostgreSQL-kompatibler Datenbankdienst für anspruchsvolle Unternehmensarbeitslasten. Bietet eine bis zu viermal höhere Geschwindigkeit bei transaktionalen Arbeitslasten und bis zu 100-mal schnellere analytische Abfragen im Vergleich zu Standard-PostgreSQL. AlloyDB for PostgreSQL vereinfacht die Verwaltung über Autopilotsysteme mit maschinellem Lernen.

Datenbankauswahl

Dieser Abschnitt enthält Best Practices für die Auswahl einer Datenbank zur Unterstützung Ihres Systems.

Verwalteten Datenbankdienst verwenden

Bewerten Sie die verwalteten Datenbankdienste von Google Cloud, bevor Sie Ihre eigene Datenbank oder Ihren eigenen Datenbankcluster installieren. Die Installation Ihrer eigenen Datenbank ist mit Wartungsaufwand verbunden, u. a. durch die Installation von Patches und Updates sowie der Verwaltung täglicher operativer Aktivitäten wie dem Monitoring und Ausführen von Sicherungen.

Verwenden Sie funktionale und nicht funktionale Anwendungsanforderungen für die Datenbankauswahl. Berücksichtigen Sie Zugriff mit niedriger Latenz, die Verarbeitung von Zeitachsendaten, die Notfallwiederherstellung und die Synchronisierung mobiler Clients.

Verwenden Sie zum Migrieren von Datenbanken eines der in der folgenden Tabelle beschriebenen Produkte:

Produkt für die Datenbankmigration Beschreibung
Cloud SQL Ein regionaler Dienst, der Lesereplikate in entfernten Regionen, Lesevorgänge mit niedriger Latenz und Notfallwiederherstellung unterstützt.
Spanner Ein multiregionales Angebot, das externe Konsistenz, globale Replikation und ein SLA mit einer Verfügbarkeit von 99,999 % bietet.
Bigtable Vollständig verwalteter, skalierbarer NoSQL-Datenbankdienst für große analytische und operative Arbeitslasten mit bis zu 99,999 % Verfügbarkeit.
Memorystore Ein vollständig verwalteter Datenbankdienst, der eine verwaltete Version von zwei beliebten Open-Source-Caching-Lösungen bereitstellt: Redis und Memcached.
Firebase Realtime Database Die Firebase Realtime Database ist eine in der Cloud gehostete NoSQL-Datenbank, mit der Sie Daten in Echtzeit speichern und unter Nutzern synchronisieren können.
Firestore Eine NoSQL-Dokumentendatenbank, die auf Autoscaling, hohe Leistung und einfache Anwendungsentwicklung ausgelegt ist.
Open Source Alternative Datenbankoptionen wie MongoDB und MariaDB

Datenbankmigration

Damit Nutzer keine Ausfallzeiten von Anwendungen erleben, wenn Sie vorhandene Arbeitslasten zu Google Cloud migrieren, ist es wichtig, Datenbanktechnologien auszuwählen, die Ihre Anforderungen unterstützen. Informationen zu Optionen für die Datenbankmigration und Best Practices finden Sie unter Lösungen für die Datenbankmigration und Best Practices für homogene Datenbankmigrationen.

Die Planung einer Datenbankmigration umfasst Folgendes:

  • Aktuelle Datenbank bewerten und erkennen
  • Erfolgskriterien für die Migration definieren
  • Umgebung für die Migration und die Zieldatenbank einrichten
  • Schema in der Zieldatenbank erstellen
  • Daten in die Zieldatenbank migrieren
  • Migration validieren, um zu überprüfen, ob alle Daten ordnungsgemäß migriert wurden und in der Datenbank vorhanden sind
  • Rollback-Strategie erstellen

Migrationsstrategie auswählen

Die Auswahl der entsprechenden Zieldatenbank ist einer der Schlüssel für eine erfolgreiche Migration. Die folgende Tabelle enthält Migrationsoptionen für einige Anwendungsfälle:

Anwendungsfall Empfehlung
Neue Entwicklung in Google Cloud Wählen Sie eine der verwalteten Datenbanken aus, die für die Cloud entwickelt wurden – Cloud SQL, Spanner, Bigtable oder Firestore –, um die Anforderungen Ihres Anwendungsfalls zu erfüllen.
Lift-and-Shift-Migration Wählen Sie einen kompatiblen verwalteten Datenbankdienst wie Cloud SQL, MYSQL, PostgreSQL oder SQLServer aus.
Ihre Anwendung erfordert detaillierten Zugriff auf eine Datenbank, die von CloudSQL nicht unterstützt wird. Führen Sie Ihre Datenbank auf Compute Engine-VMs aus.

Memorystore zur Unterstützung der Caching-Datenbankebene verwenden

Memorystore ist eine vollständig verwaltete Redis- und Memcached-Datenbank, die Latenzen unter einer Millisekunde unterstützt. Memorystore ist vollständig mit Open-Source-Redis und -Memcached kompatibel. Wenn Sie diese Caching-Datenbanken in Ihren Anwendungen verwenden, können Sie Memorystore nutzen, ohne im Code Änderungen auf Anwendungsebene vorzunehmen.

Bare-Metal-Server zum Ausführen einer Oracle-Datenbank verwenden

Wenn Ihre Arbeitslasten eine Oracle-Datenbank erfordern, verwenden Sie Bare-Metal-Server von Google Cloud. Dieser Ansatz passt zu einer Lift-and-Shift-Migrationsstrategie.

Wenn Sie Ihre Arbeitslast in Google Cloud verschieben und modernisieren möchten, nachdem Ihre Basisarbeitslast funktioniert, dann sollten Sie verwaltete Datenbankoptionen wie Spanner, Bigtable und Firestore verwenden.

Für die Cloud entwickelte Datenbanken sind moderne verwaltete Datenbanken, die von Grund auf in der Cloud-Infrastruktur erstellt werden. Diese Datenbanken bieten besondere Standardfunktionen wie Skalierbarkeit und Hochverfügbarkeit, die mit einer eigenen Datenbank nur schwer erreichen lassen.

Datenbank modernisieren

Planen Sie Ihre Datenbankstrategie frühzeitig im Systemdesignprozess, unabhängig davon, ob Sie eine neue Anwendung in der Cloud entwerfen oder eine vorhandene Datenbank in die Cloud migrieren. Google Cloud bietet verwaltete Datenbankoptionen für Open-Source-Datenbanken wie Cloud SQL for MySQL und Cloud SQL for PostgreSQL. Wir empfehlen die Verwendung der Migration als Gelegenheit, Ihre Datenbank zu modernisieren und auf zukünftige Geschäftsanforderungen vorzubereiten.

Feste Datenbanken mit Standardanwendungen verwenden

COTS-Anwendungen (Commercial off-the-shelf) erfordern einen festen Datenbanktyp und eine feste Konfiguration. Lift-and-Shift ist in der Regel der am besten geeignete Migrationsansatz für COTS-Anwendungen.

Das Wissen Ihres Teams über Datenbankmigration überprüfen

Wählen Sie einen Cloud-Datenbank-Migrationsansatz auf der Grundlage der Datenbankmigrationsfunktionen und -qualifikationen Ihres Teams aus. Mit Google Cloud Partner Advantage finden Sie einen Partner, der Sie bei Ihrer Migration unterstützt.

Datenbank so entwickeln, dass sie die Anforderungen hinsichtlich Hochverfügbarkeit und Notfallwiederherstellung erfüllt

Wenn Sie Ihre Datenbanken so gestalten, dass sie Hochverfügbarkeitsanforderungen und Notfallwiederherstellungsanforderungen (Disaster Recovery, DR) erfüllen, bewerten Sie die Kompromisse zwischen Zuverlässigkeit und Kosten. Datenbankdienste, die für die Cloud erstellt wurden, erstellen je nach Datenbank und Konfiguration mehrere Kopien Ihrer Daten innerhalb einer Region oder in mehreren Regionen.

Einige Google Cloud-Dienste haben multiregionale Varianten, z. B. BigQuery und Spanner. Verwenden Sie nach Möglichkeit diese multiregionalen Dienste in Ihrem Design, um es vor regionalen Ausfällen zu schützen.

Wenn Sie die Datenbank auf Compute Engine-VMs entwerfen, anstatt verwaltete Datenbanken in Google Cloud zu verwenden, führen Sie mehrere Kopien Ihrer Datenbanken aus. Weitere Informationen finden Sie unter Bei der Entwicklung für Skalierung und Hochverfügbarkeit sorgen in der Kategorie "Zuverlässigkeit".

Cloud-Regionen angeben, um den Datenstandort zu unterstützen

Der Datenstandort beschreibt, wo sich Ihre inaktiven Daten befinden. Denken Sie darüber nach, bestimmte Cloud-Regionen auszuwählen, um Ihre Datenbanken anhand Ihrer Anforderungen an den Datenstandort bereitzustellen.

Wenn Sie Ihre Datenbanken in mehreren Regionen bereitstellen, kann es zu einer Datenreplikation zwischen ihnen kommen, je nachdem, wie Sie sie konfigurieren. Wählen Sie die Konfiguration aus, die Ihre Daten im Ruhezustand in den gewünschten Regionen hält. Einige Datenbanken wie Spanner bieten eine multiregionale Standardreplikation. Sie können den Datenstandort auch durch Festlegen einer Organisationsrichtlinie erzwingen, die Einschränkungen für die Ressourcenstandorte enthält. Weitere Informationen finden Sie unter Ressourcenstandorte einschränken.

Notfallwiederherstellung in das Design von Datenstandorten einbeziehen

Nehmen Sie RTO (Recovery Time Objective) und RPO (Recovery Point Objective) in Ihre Datenstandortpläne auf und berücksichtigen Sie den Kompromiss zwischen RTO/RPO und den Kosten der Notfallwiederherstellungslösung. Kleinere RTO-/RPO-Zahlen führen zu höheren Kosten. Wenn Sie möchten, dass das System nach Unterbrechungen schneller wiederhergestellt wird, erhöhen sich die Betriebskosten. Berücksichtigen Sie auch die Zufriedenheit der Kunden bei Ihrem Ansatz der Notfallwiederherstellung, damit Ihre Zuverlässigkeitsinvestitionen angemessen sind. Weitere Informationen finden Sie unter 100 % Zuverlässigkeit ist das falsche Ziel und Leitfaden zur Planung der Notfallwiederherstellung.

Datenbank Google Cloud-konform machen

Wenn Sie eine Datenbank für Ihre Arbeitslast auswählen, achten Sie darauf, dass der ausgewählte Dienst den Complianceanforderungen der geografischen Region entspricht, in der Sie sich befinden und in der Ihre Daten physisch gespeichert werden. Weitere Informationen zu den Zertifizierungen und Compliance-Standards von Google finden Sie unter Compliance-Angebote.

Verschlüsselung

Dieser Abschnitt enthält Best Practices zum Identifizieren der Verschlüsselungsanforderungen und zum Auswählen einer Strategie für Verschlüsselungsschlüssel, um Ihr System zu unterstützen.

Verschlüsselungsanforderungen festlegen

Die Verschlüsselungsanforderungen hängen von mehreren Faktoren ab, z. B. von den Sicherheitsrichtlinien des Unternehmens und von Compliance-Anforderungen. Alle in Google Cloud gespeicherten Daten werden standardmäßig ruhend mit AES256 verschlüsselt, ohne dass Sie etwas tun müssen. Weitere Informationen finden Sie unter Verschlüsselung inaktiver Daten in Google Cloud.

Strategie für Verschlüsselungsschlüssel auswählen

Entscheiden Sie, ob Sie Verschlüsselungsschlüssel selbst verwalten oder einen verwalteten Dienst verwenden möchten. Google Cloud unterstützt beide Szenarien. Wenn Sie einen vollständig verwalteten Dienst zum Verwalten Ihrer Verschlüsselungsschlüssel in Google Cloud verwenden möchten, wählen Sie Cloud Key Management Service (Cloud KMS) aus. Wenn Sie Ihre Verschlüsselungsschlüssel verwalten möchten, um mehr Kontrolle über den Lebenszyklus eines Schlüssels zu haben, können Sie vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK) verwenden.

Wählen Sie eine der folgenden Optionen aus, um Ihre Verschlüsselungsschlüssel außerhalb von Google Cloud zu erstellen und zu verwalten:

  • Wenn Sie Ihre Schlüssel mit einer Partnerlösung verwalten, verwenden Sie Cloud External Key Manager.
  • Wenn Sie Ihre Schlüssel lokal verwalten und diese Schlüssel zum Verschlüsseln der Daten in Google Cloud verwenden möchten, importieren Sie diese Schlüssel in Cloud KMS entweder als KMS-Schlüssel oder HSM-Schlüssel (Hardware Key Module). Verwenden Sie diese Schlüssel zum Verschlüsseln Ihrer Daten in Google Cloud.

Datenbankdesign und -skalierung

Dieser Abschnitt enthält Best Practices zum Entwerfen und Skalieren einer Datenbank zur Unterstützung Ihres Systems.

Skalierungsmesswerte mithilfe von Monitoring-Messwerten bewerten

Verwenden Sie Messwerte aus vorhandenen Monitoring-Tools und -Umgebungen, um eine Grundlage für das Verständnis der Datenbankgröße und der Skalierungsanforderungen zu bilden, z. B. Größenanpassung und Design von Skalierungsstrategien für die Datenbankinstanz.

Bestimmen Sie bei neuen Datenbankdesigns die Skalierungszahlen anhand der erwarteten Last- und Traffic-Muster der Bereitstellungsanwendung. Weitere Informationen finden Sie unter Cloud SQL-Instanzen überwachen, Monitoring mit Cloud Monitoring und Instanz überwachen.

Netzwerk und Zugriff

Dieser Abschnitt enthält Best Practices zum Verwalten des Netzwerks und des Zugriffs für Ihr System.

Datenbanken in einem privaten Netzwerk ausführen

Führen Sie die Datenbanken in Ihrem privaten Netzwerk aus und gewähren Sie eingeschränkten Zugriff nur bei Clients, die mit der Datenbank interagieren müssen. Sie können Cloud SQL-Instanzen in einer VPC erstellen. Google Cloud bietet außerdem VPC Service Controls für Cloud SQL-, Spanner- und Bigtable-Datenbanken, damit der Zugriff auf diese Ressourcen nur für Clients in autorisierten VPC-Netzwerken möglich ist.

Nutzern Mindestberechtigungen gewähren

Identity and Access Management (IAM) steuert den Zugriff auf Google Cloud-Dienste, einschließlich Datenbankdiensten. Um das Risiko eines nicht autorisierten Zugriffs zu minimieren, gewähren Sie Ihren Nutzern die geringstmögliche Anzahl an Berechtigungen. Verwenden Sie für den Zugriff auf Datenbanken auf Anwendungsebene Dienstkonten mit der geringsten Anzahl an Berechtigungen.

Automatisierung und Größenanpassung

Dieser Abschnitt enthält Best Practices zum Definieren der Automatisierung und Größenanpassung zur Unterstützung Ihres Systems.

Datenbankinstanzen als Code definieren

Einer der Vorteile der Migration zu Google Cloud ist die Möglichkeit, Ihre Infrastruktur und andere Aspekte Ihrer Arbeitslast zu automatisieren, z. B. Rechen- und Datenbankebenen. Mit Google Deployment Manager und Tools von Drittanbietern wie Terraform Cloud können Sie Ihre Datenbankinstanzen als Code definieren, sodass Sie einen konsistenten und wiederholbaren Ansatz zum Erstellen und Aktualisieren von Datenbanken anwenden können.

Liquibase zur Versionsverwaltung der Datenbank verwenden

Google-Datenbankdienste wie Cloud SQL und Spanner unterstützen Liquibase, ein Open-Source-Tool zur Versionsverwaltung für Datenbanken. Mit Liquibase können Sie Änderungen am Datenbankschema verfolgen, Rollbacks für Schemaänderungen durchführen und wiederholbare Migrationen vornehmen.

Datenbank testen und optimieren, um Skalierung zu unterstützen

Führen Sie Lasttests für Ihre Datenbankinstanz durch und passen Sie sie basierend auf den Testergebnissen an die Anforderungen Ihrer Anwendung an. Bestimmen Sie den anfänglichen Umfang der Datenbank. Verwenden Sie dafür Leistungskennzahlen (KPIs) der Lasttests oder verwenden Sie aus der aktuellen Datenbank abgeleitete Monitoring-KPIs.

Beginnen Sie beim Erstellen von Datenbankinstanzen mit einer Größe, die auf den Testergebnissen oder historischen Monitoring-Messwerten basiert. Testen Sie Ihre Datenbankinstanzen mit der erwarteten Last in der Cloud. Optimieren Sie dann die Instanzen, bis Sie die gewünschten Ergebnisse für die erwartete Last auf Ihren Datenbankinstanzen erhalten.

Die richtige Datenbank für Ihre Skalierungsanforderungen auswählen

Die Skalierung von Datenbanken unterscheidet sich von der Skalierung von Komponenten der Rechenebene. Datenbanken haben einen Zustand. Wenn eine Instanz Ihrer Datenbank die Last nicht bewältigen kann, sollten Sie über die geeignete Strategie zum Skalieren Ihrer Datenbankinstanzen nachdenken. Die Skalierungsstrategien variieren je nach Datenbanktyp.

In der folgenden Tabelle erfahren Sie mehr über Google-Produkte für verschiedene Anwendungsfälle für die Skalierung.

Anwendungsfall Empfohlenes Produkt Beschreibung
Skalieren Sie Ihre Datenbankinstanz horizontal, indem Sie Ihrer Datenbank Knoten hinzufügen, wenn Sie die Bereitstellungskapazität und den Speicher hochskalieren müssen. Spanner Eine relationale Datenbank, die für die Cloud entwickelt wurde.
Fügen Sie Knoten hinzu, um Ihre Datenbank zu skalieren. Bigtable Ein vollständig verwalteter NoSQL-Big-Data-Datenbankdienst.
Automatische Skalierung der Datenbank. Firestore Flexible, skalierbare Datenbank für Mobil-, Web- und Serverentwicklung.
Wenn Sie mehr Abfragen verarbeiten möchten, können Sie Cloud SQL-Datenbankinstanzen vertikal skalieren, um mehr Rechen- und Speicherkapazität zu bieten. In Cloud SQL ist die Speicherebene von der Datenbankinstanz entkoppelt. Sie können Ihre Speicherebene automatisch skalieren, wenn sie sich dem Kapazitätslimit nähert. Cloud SQL Ein vollständig verwalteter Datenbankdienst, mit dem Sie Ihre relationalen Datenbanken in Google Cloud einrichten, pflegen und verwalten können.

Vorgänge

Dieser Abschnitt enthält Best Practices für Vorgänge zur Unterstützung Ihres Systems.

Cloud Monitoring zur Überwachung und Einrichtung von Benachrichtigungen für Ihre Datenbank verwenden

Mit Cloud Monitoring können Sie Ihre Datenbankinstanzen überwachen und Benachrichtigungen einrichten, um die entsprechenden Teams über Ereignisse zu informieren. Informationen zu Best Practices für effiziente Benachrichtigungen finden Sie unter Effiziente Benachrichtigungen erstellen.

Alle für die Cloud entwickelten Datenbanken bieten Logging- und Monitoring-Messwerte. Jeder Dienst bietet ein Dashboard zur Visualisierung von Logging- und Monitoring-Messwerten. Die Monitoring-Messwerte für alle Dienste sind in Google Cloud Observability eingebunden. Spanner bietet Tools zur Abfrageüberprüfung wie Key Visualizer zum Debugging und zur Ursachenanalyse. Key Visualizer bietet die folgenden Funktionen:

  • Hilft Ihnen bei der Analyse von Spanner-Nutzungsmustern, indem visuelle Berichte für Ihre Datenbanken generiert werden. In den Berichten werden Nutzungsmuster nach Zeilenbereichen im Zeitverlauf angezeigt.
  • Umfassende Einblicke in Nutzungsmuster.

Bigtable bietet auch ein Key Visualizer-Diagnosetool, mit dem Sie Bigtable-Instanznutzungsmuster analysieren können.

Lizenzen

Dieser Abschnitt enthält Best Practices zur Lizenzierung, um Ihr System zu unterstützen.

On-Demand-Lizenzen oder vorhandene Lizenzen auswählen

Wenn Sie Cloud SQL for SQL Server verwenden, wird das Verwenden eigener Lizenzen nicht unterstützt. Die Lizenzkosten basieren auf der Stundennutzung pro Kern.

Wenn Sie vorhandene Lizenzen für Cloud SQL for SQL Server verwenden möchten, sollten Sie Cloud SQL for SQL Server auf Compute-VMs ausführen. Weitere Informationen finden Sie unter Microsoft-Lizenzen und On-Demand-Lizenzen auswählen oder eigene Lizenzen verwenden.

Wenn Sie Oracle verwenden und zur Bare-Metal-Lösung für Oracle migrieren, können Sie Ihre eigenen Lizenzen verwenden. Weitere Informationen finden Sie unter Bare-Metal-Lösung planen.

Zeitpläne, Methoden und Toolsets für die Migration

Dieser Abschnitt enthält Best Practices zur Planung und Unterstützung der Datenbankmigration, um Ihr System zu unterstützen.

Bereitschaft für Datenbankmodernisierung ermitteln

Prüfen Sie, ob Ihre Organisation bereit ist, Ihre Datenbanken zu modernisieren und Datenbanken zu verwenden, die für die Cloud entwickelt wurden.

Ziehen Sie eine Datenbankmodernisierung in Betracht, wenn Sie Zeitpläne für die Migration der Arbeitslast planen, da die Modernisierung wahrscheinlich Auswirkungen auf Seiten der Anwendung hat.

Relevante Stakeholder in die Migrationsplanung einbeziehen

Führen Sie die folgenden Aufgaben aus, um eine Datenbank zu migrieren:

  • Zieldatenbanken einrichten
  • Das Schema konvertieren
  • Datenreplikation zwischen der Quell- und Zieldatenbank einrichten
  • Probleme beheben, die während der Migration auftreten
  • Netzwerkverbindung zwischen der Anwendungsebene und der Datenbank herstellen
  • Sicherheit für die Zieldatenbank implementieren
  • Prüfen, ob die Anwendungen eine Verbindung zu den Zieldatenbanken herstellen

Diese Aufgaben erfordern oft unterschiedliche Kompetenzen und mehrere Teams in Ihrer Organisation arbeiten zusammen, um die Migration abzuschließen. Beziehen Sie bei der Planung der Migration Beteiligte aus allen Teams ein, z. B. Anwendungsentwickler, Datenbankadministratoren sowie Infrastruktur- und Sicherheitsteams.

Wenn Ihr Team keine Fähigkeiten zur Unterstützung dieser Art von Migration hat, können die Partner von Google Sie bei der Migration unterstützen. Weitere Informationen finden Sie unter Google Cloud Partner Advantage.

Tools für homogene und heterogene Migrationen identifizieren

Eine homogene Migration ist eine Datenbankmigration zwischen den Quell- und Zieldatenbanken derselben Datenbanktechnologie. Eine heterogene Migration ist eine Migration, deren Zieldatenbank von der Quelldatenbank abweicht.

Heterogene Migrationen umfassen in der Regel zusätzliche Schritte der Schemakonvertierung von der Quelldatenbank zum Typ der Zieldatenbankmoduls. Ihre Datenbankteams müssen die Herausforderungen bei der Schemakonvertierung bewerten, da sie von der Komplexität des Quelldatenbankschemas abhängen.

Jeden Schritt der Datenmigration testen und validieren

Datenmigrationen umfassen mehrere Schritte. Testen und validieren Sie jeden Schritt der Migration, bevor Sie mit dem nächsten Schritt fortfahren, um Migrationsfehler zu minimieren. Die folgenden Faktoren bestimmen den Migrationsprozess:

  • Ist die Migration homogen oder heterogen?
  • Welche Tools und Kompetenzen benötigen Sie für die Migration?
  • Bei heterogenen Migrationen Ihre Erfahrung mit dem Zieldatenbankmodul.

Anforderungen für kontinuierliche Datenreplikation bestimmen

Erstellen Sie einen Plan zur ersten Migration der Daten und replizieren Sie dann die Daten kontinuierlich aus der Quelle in die Zieldatenbank. Fahren Sie mit der Replikation fort, bis das Ziel stabilisiert ist und die Anwendung vollständig zur neuen Datenbank migriert wurde. Mit diesem Plan können Sie potenzielle Ausfallzeiten beim Datenbankwechsel ermitteln und entsprechend planen.

Wenn Sie Datenbankmodule von Cloud SQL, Cloud SQL für MySQL oderCloud SQL für PostgreSQL migrieren möchten, verwenden Sie Database Migration Service, um diesen Prozess vollständig zu automatisieren. Informationen zu Tools von Drittanbietern, die andere Migrationstypen unterstützen, finden Sie unter Cloud Marketplace.

Empfehlungen

Befolgen Sie diese Empfehlungen, um die Anleitung im Architektur-Framework auf Ihre eigene Umgebung anzuwenden:

  • Mandantenfähigkeit für Datenbanken umfasst das Speichern von Daten von mehreren Kunden in einer gemeinsam genutzten Infrastruktur, in diesem Fall in einer Datenbank. Wenn Sie Ihren Kunden ein SaaS-basiertes (Software as a Service) Angebot machen, müssen Sie wissen, wie Sie Datasets, die zu verschiedenen Kunden gehören, logisch isolieren und ihre Zugriffsanforderungen unterstützen können. Bewerten Sie Ihre Anforderungen außerdem anhand der Trennungsebenen.

    Für relationale Datenbanken wie Spanner und Cloud SQL gibt es mehrere Ansätze wie das Isolieren der Daten von Mandanten auf Datenbankinstanz-, Datenbank-, Schema- oder Datenbanktabellenebene. Wie bei anderen Designentscheidungen muss ein Kompromiss zwischen dem Isolationsgrad und anderen Faktoren wie Kosten und Leistung eingegangen werden. IAM-Richtlinien steuern den Zugriff auf Ihre Datenbankinstanzen.

  • Wählen Sie die richtige Datenbank für Ihre Datenmodellanforderungen aus.

  • Wählen Sie Schlüsselwerte aus, um ein Heißlaufen (Hotspotting) von Schlüsseln zu vermeiden. Ein Hotspot ist ein Ort innerhalb einer Tabelle, der deutlich mehr Zugriffsanfragen als andere Orte erhält. Weitere Informationen zu Hotspots finden Sie unter Best Practices für Schemadesign.

  • Fragmentieren Sie Ihre Datenbankinstanz, wenn möglich.

  • Greifen Sie auf Best Practices für das Verbindungsmanagement zurück, z. B. Verbindungs-Pooling und exponentiellen Backoff.

  • Vermeiden Sie sehr große Transaktionen.

  • Konfigurieren und testen Sie die Reaktion Ihrer Anwendung auf Wartungsupdates für Datenbanken.

  • Sichern und isolieren Sie die Verbindungen zu Ihrer Datenbank.

  • Passen Sie die Größe Ihrer Datenbank und Wachstumserwartungen an, um sicherzustellen, dass die Datenbank Ihre Anforderungen erfüllt.

  • Testen Sie Ihre Failover-Strategien für Hochverfügbarkeit und Notfallwiederherstellung.

  • Führen Sie Sicherungen und Wiederherstellungen sowie Exporte und Importe durch, damit Sie mit dem Prozess vertraut sind.

Cloud SQL-Empfehlungen

  • Verwenden Sie ein privates IP-Adressnetzwerk (VPC). Beachten Sie für zusätzliche Sicherheit Folgendes:
  • Wenn Sie ein öffentliches IP-Adressnetzwerk benötigen, beachten Sie Folgendes:
    • Verwenden Sie die integrierte Firewall mit einer eingeschränkten oder kleinen IP-Adressliste und achten Sie darauf, dass eingehende Verbindungen auf Cloud SQL-Instanzen nur über SSL möglich sind. Weitere Informationen finden Sie unter SSL/TLS-Zertifikate konfigurieren.
  • Beachten Sie für zusätzliche Sicherheit Folgendes:
  • Verwenden Sie eingeschränkte Berechtigungen für Datenbanknutzer.

Nächste Schritte

Informationen zu Best Practices für die Datenanalyse, darunter:

Weitere Kategorien im Architektur-Framework kennenlernen, z. B. Zuverlässigkeit, operative Exzellenz sowie Sicherheit, Datenschutz und Compliance.