Dieses Dokument im Google Cloud-Architektur-Framework enthält Empfehlungen zur Minimierung der Kosten Ihrer Datenbanken und Analysearbeitslasten in Google Cloud.
Die Anleitung in diesem Abschnitt richtet sich an für die Bereitstellung und Verwaltung von Datenbanken und Analysearbeitslasten in der Cloud verantwortliche Architekten, Entwickler und Administratoren.
Dieser Abschnitt enthält Empfehlungen zur Kostenoptimierung für folgende Produkte:
Cloud SQL
Cloud SQL ist eine vollständig verwaltete relationale Datenbank für MySQL, PostgreSQL und SQL Server.
Nutzung überwachen
Prüfen Sie die Messwerte im Monitoring-Dashboard und bewerten Sie, ob Ihre Bereitstellung die Anforderungen Ihrer Arbeitslast erfüllt.
Ressourcen optimieren
Im Folgenden finden Sie Empfehlungen zur Optimierung Ihrer Cloud SQL-Ressourcen:
- Entwerfen Sie eine Strategie für Hochverfügbarkeit und Notfallwiederherstellung, die Ihrem Recovery Time Objective (RTO) und dem Recovery Point Objective (RPO) entspricht.
Je nach Arbeitslast empfehlen wir Folgendes:
- Verwenden Sie für Arbeitslasten, die ein kurzes RTO/RPO benötigen, die Hochverfügbarkeitskonfiguration und Replikate für regionale Failovers.
- Verwenden Sie für Arbeitslasten, die einen längeren RTO/RPO-Wert erlauben, automatische und On-Demand-Sicherungen, die nach einem Fehler etwas länger zur Wiederherstellung benötigen können.
- Stellen Sie die Datenbank mit der erforderlichen Mindestspeicherkapazität bereit.
- Soll die Speicherkapazität bei wachsender Datenmenge automatisch skaliert werden, aktivieren Sie die Funktion Automatische Speichererweiterung.
- Wählen Sie einen für Ihren Anwendungsfall geeigneten Speichertyp: SSD (Solid State Drives) oder HDD (Festplattenlaufwerke). SSDs sind die effizienteste und kostengünstigste Wahl für die meisten Anwendungsfälle. HDDs eignen sich eher für große Datasets (>10 TB), die nicht latenzempfindlich sind und auf die nur selten zugegriffen wird.
Preise optimieren
Erwägen Sie den Kauf von Rabatten für die zugesicherte Nutzung für Arbeitslasten mit vorhersehbarem Ressourcenbedarf. Bei einer einjährigen Nutzungszusicherung können Sie 25 % des On-Demand-Preises sparen, bei einer dreijährigen Zusicherung 52 %.
Spanner
Spanner ist eine cloudnative, frei skalierbare Datenbank mit strikter Konsistenz, die eine Verfügbarkeit von bis zu 99,999 % bietet.
Nutzung überwachen
Im Folgenden finden Sie Empfehlungen zur Verfolgung der Nutzung Ihrer Spanner-Ressourcen:
- Überwachen Sie die Bereitstellung und konfigurieren Sie die Knotenzahl basierend auf CPU-Empfehlungen.
- Legen Sie Benachrichtigungen für Ihre Bereitstellungen fest, um Speicherressourcen zu optimieren. Informationen zur Bestimmung der entsprechenden Konfiguration finden Sie in den empfohlenen Limits pro Knoten.
Ressourcen optimieren
Im Folgenden finden Sie Empfehlungen zur Optimierung Ihre Spanner-Ressourcen:
- Führen Sie in Spanner kleinere Arbeitslasten zu wesentlich geringeren Kosten aus. Stellen Sie dazu Ressourcen mit Verarbeitungseinheiten statt mit Knoten bereit. Ein Spanner-Knoten entspricht 1.000 Verarbeitungseinheiten.
- Verbessern Sie die Leistung der Abfrageausführung mit dem Abfrageoptimierer.
- Erstellen Sie SQL-Anweisungen mit Best Practices zum Erstellen effizienter Ausführungspläne.
- Nutzung und Leistung von Spanner-Bereitstellungen mit dem Autoscaling-Tool verwalten. Das Tool überwacht Instanzen, fügt Knoten automatisch hinzu oder entfernt sie und sorgt dafür, dass die Instanzen innerhalb der empfohlenen CPU- und Speicherlimits bleiben.
- Schützen Sie sich vor versehentlichen Lösch- oder Schreibvorgängen mit der PITR (Point-In-Time Recovery, PITR). Datenbanken mit längeren Aufbewahrungszeiten (insbesondere Datenbanken, die Daten häufig überschreiben) verwenden mehr Systemressourcen und benötigen mehr Knoten.
- Prüfen Sie Ihre Sicherungsstrategie und wählen Sie eine der folgenden Optionen:
- Sichern und wiederherstellen
- Export und Import
Preise optimieren
Berücksichtigen Sie bei der Entscheidung zum Standort Ihrer Spanner-Knoten die Kostenunterschiede zwischen Google Cloud-Regionen. Beispiel: Ein Knoten, der in der us-central1
-Region bereitgestellt wird, kostet pro Stunde deutlich weniger als ein Knoten in der southamerica-east1
-Region.
Bigtable
Bigtable ist ein cloudnativer NoSQL-Speicher für große Arbeitslasten mit niedriger Latenz.
Nutzung überwachen
Im Folgenden finden Sie Empfehlungen zur Verfolgung der Nutzung Ihrer Bigtable-Ressourcen:
- Analysieren Sie Nutzungsmesswerte, um Möglichkeiten zur Ressourcenoptimierung zu finden.
- Mit dem Diagnosetool Key Visualizer können Sie Hotspots und Hotkeys im Bigtable-Cluster identifizieren.
Ressourcen optimieren
Im Folgenden finden Sie Empfehlungen zur Optimierung Ihre Bigtable-Ressourcen:
- Um eine CPU- und Laufwerknutzung zu garantieren, die ein Gleichgewicht zwischen Latenz und Speicherkapazität bietet, sollten Sie die Knotenzahl und die Größe Ihres Bigtable-Clusters bewerten und anpassen.
- Um die Leistungskosten zu minimieren, lassen Sie Ihren Bigtable-Cluster programmatisch skalieren, um die Knotenzahl automatisch anzupassen.
Bestimmen Sie den kostengünstigsten Speichertyp (HDD oder SSD) für Ihren Anwendungsfall anhand folgender Aspekte:
- HDD-Speicher kostet weniger als SSDs, bietet aber eine geringere Leistung.
- SSD-Speicher kosten mehr als HDDs, ist aber schneller und bietet eine vorhersehbare Leistung.
Die Kostenersparnis von HDDs ist im Vergleich zu den Kosten für die Knoten in Ihrem Bigtable-Cluster minimal, außer Sie speichern große Datenmengen. HDD-Speicher ist manchmal angemessen für große Datensätze (>10 TB), die nicht latenzempfindlich sind und auf die nur selten zugegriffen wird.
Entfernen Sie abgelaufene und veraltete Daten unter Einsatz der automatischen Speicherbereinigung.
Wenden Sie Best Practices für das Design von Zeilenschlüsseln an, um Hotspots zu vermeiden.
Entwerfen Sie einen kostengünstigen Sicherungsplan, der Ihrem RPO entspricht.
Um die Cluster-Nutzung zu verringern und die Knotenzahl zu reduzieren können Sie einen Kapazitäts-Cache für cachefähige Abfragen mit Memorystore hinzufügen.
Weitere Informationen
- Übersicht über die Kostenoptimierung für Bigtable
- Blog: Best Practices für die Leistungs- und Kostenoptimierung in Bigtable
BigQuery
BigQuery ist ein serverloses, höchst skalierbares und kostengünstiges Multi-Cloud Data Warehouse, das speziell für geschäftliche Agilität konzipiert ist.
Nutzung überwachen
Im Folgenden finden Sie Empfehlungen zur Verfolgung der Nutzung Ihrer BigQuery-Ressourcen:
- BigQuery-Kosten visualisieren, aufgeschlüsselt nach Projekten und Nutzern. Identifizieren Sie die teuersten Abfragen und optimieren Sie sie.
- Analysieren Sie mit
INFORMATION_SCHEMA
-Metadatentabellen die Slot-Auslastung über Projekte, Jobs und Reservierungen hinweg.
Ressourcen optimieren
Im Folgenden finden Sie Empfehlungen zur Optimierung Ihrer BigQuery-Ressourcen:
- Richten Sie auf Basis Ihrer Compliance-Strategie Ablaufzeiten für Daten auf Dataset-, Tabellen- oder Partitionsebene ein.
- Begrenzen Sie Abfragekosten durch die Beschränkung der Anzahl der pro Abfrage abgerechneten Byte. Aktivieren Sie die Kostenkontrolle auf Nutzer- und Projektebene, um menschliche Fehler zu vermeiden.
- Abfrage nur der benötigten Daten. Vermeiden Sie vollständige Abfragescans. Verwenden Sie die kostenlosen Datenvorschauoptionen, um die Datensemantik zu erforschen und zu verstehen.
- Um die Verarbeitungskosten zu reduzieren und die Leistung zu verbessern, partitionieren und clustern Sie Ihre Tabellen, sofern möglich.
- Filtern Sie Ihre Abfrage so früh wie möglich.
- Vermeiden Sie bei der Verarbeitung von Daten aus mehreren Quellen (Bigtable, Cloud Storage, Google Drive, Cloud SQL usw.) das Duplizieren von Daten mit einem Datenmodell für den föderierten Zugriff und der Datenabfrage direkt aus den Quellen.
- Nutzen Sie die Vorteile der Sicherung von BigQuery, anstatt Daten zu duplizieren. Siehe Szenarien der Notfallwiederherstellung von Daten.
Preise optimieren
Im Folgenden finden Sie Empfehlungen, mit denen Sie die Abrechnungstarife für Ihre BigQuery-Ressourcen reduzieren können:
- Bewerten Sie, wie Sie Daten bearbeiten, und profitieren Sie von niedrigeren langfristigen Speicherpreisen.
- Machen Sie sich mit den Unterschieden zwischen den Pauschal- und On-Demand-Tarifen vertraut und wählen Sie eine Option, die Ihren Anforderungen entspricht.
- Prüfen Sie, ob Sie für Ihre Datenworkflows anstelle von Streaming-Insert-Anweisungen Batchladevorgänge verwenden können. Verwenden Sie Streaming-Insert-Anweisungen, wenn die in BigQuery geladenen Daten sofort verarbeitet werden.
- Verwenden Sie im Cache gespeicherte Abfrageergebnisse, um die Leistung zu erhöhen und die Kosten für das Abrufen von Daten zu senken.
Weitere Informationen
- BigQuery-Kosten kontrollieren
- Best Practices für die BigQuery-Kostenoptimierung
- Prinzipien der Kostenoptimierung verstehen (PDF)
Dataflow
Dataflow ist ein schneller und preiswerter serverloser Dienst für die einheitliche Verarbeitung von Stream- und Batchdaten.
Nutzung überwachen
Im Folgenden finden Sie Empfehlungen zur Verfolgung der Nutzung Ihrer Dataflow-Ressourcen:
- Zur Vorhersage der Kosten von Dataflow-Jobs führen Sie kleine Lasttests aus, ermitteln die optimale Leistung Ihres Jobs und rechnen den Durchsatzfaktor hoch.
- Beobachtbarkeits-Dashboards bieten bessere Einblicke in Durchsatz und CPU-Auslastung.
- Nachdem Sie einen Job erstellt haben, können Sie die geschätzten Kosten der vom Job genutzten Ressourcen anzeigen und Benachrichtigungen festlegen, um Benachrichtigungen zu erhalten, wenn die Ressourcennutzung bestimmte Schwellenwerte überschreitet. Weitere Informationen finden Sie unter Dataflow-Kostenmonitoring.
Ressourcen optimieren
Im Folgenden finden Sie Empfehlungen zur Optimierung Ihrer Dataflow-Ressourcen:
- Erwägen Sie die Nutzung von Dataflow Prime für eine effiziente Verarbeitung von Big Data.
- Reduzieren Sie bei Batchpipelines die Ressourcen (CPU, Arbeitsspeicher und nichtflüchtiger Speicher), die auf den Worker-VMs verbraucht werden, indem Sie Dataflow Shuffle verwenden.
- Um die Kosten für die Batchverarbeitung zu reduzieren, nutzen Sie FlexRS (Flexible Resource Scheduling) für automatisch skalierte Batchpipelines. FlexRS verwendet fortschrittliche Planungs- und Dataflow Shuffle-Techniken und eine Kombination aus vorzeitig beendbaren und regulären VMs, um die Kosten für Batchpipelines zu senken.
- Verwenden Sie Streaming Engine, um das Autoscaling zu verbessern und den Ressourcenverbrauch zu reduzieren. Dabei wird die Pipelineausführung aus den Worker-VMs in das Backend des Dataflow-Dienstes verschoben.
- Wenn die Pipeline keinen Zugang auf und aus dem Internet und anderen Google Cloud-Netzwerken benötigt, deaktivieren Sie öffentliche IP-Adressen. Das Deaktivieren des Internetzugriffs senkt die Netzwerkkosten und verbessert die Pipelinesicherheit.
- Bei Arbeitslasten, die doppelte Datensätze tolerieren können, können Sie die Kosten mit dem „Mindestens einmal“-Streamingmodus reduzieren. Weitere Informationen finden Sie unter Mindestens einmal Streaming: Bis zu 70 % bei Streaming-ETL-Arbeitslasten sparen.
- Bei Pipelines, die große Datasets verarbeiten, können Sie die Anzahl der erforderlichen Worker (Compute Engine-VMs) reduzieren, indem Sie die Anzahl der parallelen Threads auf jedem Worker dynamisch erhöhen. Weitere Informationen finden Sie unter Dynamische Thread-Skalierung.
Dataproc
Dataproc ist ein verwalteter Apache Spark- und Apache Hadoop-Dienst für Batchverarbeitung, Abfragen, Streaming und maschinelles Lernen.
Im Folgenden finden Sie Empfehlungen, mit denen Sie die Kosten Ihrer Dataproc-Ressourcen optimieren können:
- Wählen Sie Maschinentypen aus, die für Ihre Arbeitslast geeignet sind.
- Mit Autoscaling-Clustern können Sie die Skalierung automatisch an den Bedarf anpassen und nur die Ressourcen bezahlen, die Sie benötigen.
- Wenn ein Cluster nach Abschluss eines Jobs gelöscht werden kann, können Sie einen sitzungsspezifischen Cluster mit einer Workflowvorlage für verwaltete Cluster bereitstellen.
- Um Gebühren für inaktive Cluster zu vermeiden nutzen Sie das geplante Löschen, mit dem Sie Cluster nach einer bestimmten Zeit der Untätigkeit, zu einer bestimmten Zeit oder nach Ablauf einer bestimmten Zeit löschen können.
- Befolgen Sie die Best Practices für das Erstellen von Clustern mit langer Ausführungszeit auf Dataproc.
- Erwerben Sie für immer aktive Arbeitslasten Rabatte für die zugesicherte Nutzung.
Nächste Schritte
- Optimieren Sie die Kosten für Computing-Dienste, Speicher, Netzwerke und Vorgänge:
- Weitere Kategorien des Google Cloud-Architektur-Frameworks entdecken