Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
GAMECOST03-BP02 Optimiere Datenbanken für Spiele-Backends
Spiele sind stark auf Datenbanken angewiesen, um eine Vielzahl kritischer Daten zu speichern, von Spielerprofilen und Inventaren bis hin zu Mikrotransaktionen und Fortschrittsstatistiken im Spiel. Datenbanken spielen auch eine entscheidende Rolle bei der Verwaltung der sozialen Aspekte von Spielen, z. B. bei der Bildung und Pflege von Spielergruppen und Partys und der Durchsetzung von Moderationsrichtlinien. Wenn die Spielerbasis eines Spiels wächst, werden die damit verbundenen Datenbankkosten unweigerlich steigen, um den steigenden Daten- und Nutzungsanforderungen gerecht zu werden.
Risikostufe bei fehlender Befolgung dieser bewährten Methode: Mittel
Implementierungsleitfaden
Für Spiele-Backends, die auf Amazon Aurora laufen, gibt es mehrere Strategien zur Kostenoptimierung, die eingesetzt werden können. Eine wichtige Empfehlung besteht darin, Ihre Read Replicas auf der Grundlage von Nutzungsmustern auto zu skalieren und dabei die Anzahl der Replikate dynamisch nach oben oder unten zu skalieren, um Verkehrsschwankungen zu bewältigen. Das bedeutet, dass Sie für die Ressourcen zahlen, die Sie wirklich benötigen. Eine weitere Optimierungstaktik besteht darin, Read Replicas, die für Spieleanalysen verwendet werden, durch Exporte von DB-Snapshots nach Amazon S3 zu ersetzen, da der S3-Speicherservice im Allgemeinen günstiger ist als bereitgestellte Aurora-Datenbank-Instances. Weitere Informationen finden Sie unter Exportieren von DB-Snapshot-Daten nach Amazon S3 für Amazon RDS.
Die Nutzung reservierter DB-Instances für Amazon Aurora für Ihre Kerndatenbank-Instances und die Umstellung auf die Aurora-Serverless-Konfiguration können auch zu erheblichen langfristigen Kosteneinsparungen führen, da Sie mehr Flexibilität und detaillierte Kontrolle über Ihre
In ähnlicher Weise kann für Spiele-Backends, die Amazon DynamoDB verwenden, der DynamoDB-On-Demand-Kapazitätsmodus eine effektive Wahl sein, insbesondere bei neuen oder unvorhersehbaren Workloads, da Sie so nur für die Ressourcen zahlen müssen, die Sie verbrauchen, ohne dass Sie zu viel bereitstellen müssen. Wenn Ihre Datenverkehrsmuster im Spiel im Laufe der Zeit stabiler und vorhersehbarer werden, können Sie dann in den Modus für bereitgestellte Kapazität von DynamoDB wechseln, der durch eine bessere Kapazitätsplanung zu Kosteneinsparungen führen kann. Die Aktivierung der auto-scaling für Ihre DynamoDB-Tabellen ist eine weitere wichtige Optimierung, die es dem Service ermöglicht, die bereitgestellte Kapazität dynamisch an Verkehrsschwankungen anzupassen. Testen Sie die Datenstruktur Ihres Spiels vor dem Start in einer Entwicklungsumgebung, um unnötige lokale Sekundärindizes (LSIs) und globale Sekundärindizes () zu finden und zu entfernen. GSIs Dies kann zu erheblichen Kosteneinsparungen bei der Speicherung und dem Betrieb von Spieledaten führen. Wenn Sie ineffiziente Scanvorgänge aus Ihrem Spiel-Backend-Code zugunsten gezielterer Abfragen entfernen, reservierte Amazon DynamoDB-Kapazität erwerben und DynamoDB
Durch die Implementierung dieser Strategien zur Kostenoptimierung sowohl für Amazon Aurora als auch für DynamoDB können Spieleentwickler und Herausgeber ihre Ausgaben für Spiele-Backend-Datenbanken erheblich reduzieren.
Implementierungsschritte
-
Verwenden Sie die auto-scaling von Aurora Read Replica und DB-Snapshot-Exporte nach Amazon S3, um schwankenden Traffic- und Analyseanforderungen kosteneffizient zu bewältigen.
-
Optimieren Sie die DynamoDB-Kosten, indem Sie mit On-Demand-Kapazität für neue Workloads beginnen, auf bereitgestellte Kapazität mit auto-scaling für vorhersehbaren Traffic umsteigen und ungenutzte und entfernen. LSIs GSIs
-
Vermeiden Sie ineffiziente Scanvorgänge zugunsten gezielter Abfragen, verwenden Sie Reserved Instances oder Reserved Capacity und verwenden Sie DynamoDB Streams mit AWS Lambda für die Ereignisverarbeitung.