Direkt zum Inhalt
Datenbanken

Globale Multiplayer-Spiele entwickeln – mit Cloud Spanner

13. Juni 2022
Yoojeong Choi

Technology Practice Specialist

Paul Hyung Yuel Kim

Customer Engineer

GCP testen

Profitieren Sie von einem 300 $-Guthaben, um Google Cloud und mehr als 20 zu jeder Zeit kostenlose Produkte kennenzulernen.

JETZT TESTEN

Die Entwicklung moderner Videospiele dauert oft einige Jahre und erfordert viel Kapital. Beeinflusst wird die Entwicklungszeit von der unterliegenden Plattform sowie der Größe, der Art und dem Umfang des Spiels. Gamer erwarten oftmals vom ersten Tag an eine globale Multiplayer-Erfahrung. Deshalb hängt der Erfolg eines Spiels davon ab, wie gut es sich innerhalb der ersten Wochen für eine Community von Millionen Nutzer*innen skalieren lässt. Stabilität und eine hohe Verfügbarkeit sind hierbei die Grundvoraussetzungen, um auf die Nachfrage und das Wachstum zu reagieren. Treten in den ersten Tagen nach der Veröffentlichung Probleme auf, kann das fatale Folgen haben, denn Gamer verzeihen eine schlechte Spielerfahrung generell nur selten und die anfängliche Vorfreude kann schnell verfliegen. Mit anderen Worten: Das Momentum ist entscheidend.

Ist Cloud Spanner komplexen Architekturen gewachsen?

Online-Spiele benötigen viel Speicherplatz: Spielerfolge, Statistiken, Ranglisten und viele weitere Daten müssen in großem Maßstab gesichert werden. Je mehr Spieler*innen einsteigen, desto schneller nimmt das Datenvolumen zu. Die wichtigsten Voraussetzungen für eine unterliegende Datenbank sind deshalb Skalierbarkeit und eine hohe Verfügbarkeit.

Gaming-Backends benötigen meist sowohl eine NoSQL als auch relationale Datenbank, um adäquat skalieren zu können und die Datenkonsistenz aufrechtzuerhalten. Die in Google Cloud zur Verfügung stehenden Firestore- und Bigtable-Optionen können je nach Anforderung, sei es „Mobile First“ oder eine plattformübergreifende Unterstützung, für NoSQL genutzt werden. Im Bereich der relationalen Datenbanken führt kein Weg an Cloud Spanner vorbei ein Produkt, das sowohl im Hinblick auf die Skalierbarkeit als auch auf die globale Konsistenz der SQL-Schnittstellen entscheidende Stärken besitzt.

Spanner ist unsere verteilte, global skalierbare SQL-Datenbank, die auf dem Prinzip der Entkopplung von Rechen- und Speicherleistung basiert. So können Ressourcen zur Berechnung unabhängig von den Speicherressourcen skaliert werden. Der Vorteil: horizontale Skalierbarkeit und somit bessere Leistung (in Operationen pro Sekunde) bei Schreib- und Lesevorgängen ohne Ausfälle. Das macht Spanner zur idealen Lösung für unkalkulierbare Workloads, auch aus dem Online-Gaming-Sektor.

Ungeplante Systemausfälle sind die größte Gefahr für den langfristigen Erfolg von Online-Spielen. Deshalb wünschen sich Gaming-Unternehmen hochverfügbare Dienste, um unvorhergesehene Ausfälle zu vermeiden. Spanner bietet eine Verfügbarkeit von 99,999 % für multiregionale Anwendungsfälle sowie eine transparente, synchrone Replikation für regionale und multiregionale Konfigurationen. Global verteilte Replikat-Shards sorgen für eine verkürzte Latenz, da sie von einer lokalen Kopie aus arbeiten.

Spanner unterstützt ANSI SQL und Schemata, die nicht denormalisiert werden müssen, und ermöglicht dementsprechend online DML (Data Manipulation Language) Operationen auf  Ihrer Spieledatenbank. ANSI SQL kann zudem die Lernkurve von Entwickler*innen und Datenbankadministrator*innen verkürzen. Auch die Objektrelationale Abbildung (OMR) wird unterstützt und die Entwicklungszeit reduziert.

Damit Gaming-Unternehmen leichter Ihre Compliance-Vorgaben erfüllen können, ist Spanner gemäß PCI, SoC und FedRAMP zertifiziert. Über VPC Service Controls generierte Audit-Logs registrieren nicht nur die Aktivitäten der Administrator*innen, sondern auch die der Nutzer*innen (DML, DDL und sogar Queries).

Einführung von Spanner

https://storage.googleapis.com/gweb-cloudblog-publish/images/Recommended_Spanner_Adoption_Process_1.max-2000x2000.jpg

Die Einführung von Spanner folgt einem klar vorgegebenen Ablauf. Mit den in der Grafik gezeigten Schritten gelingt Ihnen diese möglichst reibungslos. Im Unterschied zu herkömmlichen relationalen Datenbanken ist Spanner ist eine verteilte Datenbank, die relationale Sprachen unterstützt. Um Fehler und zusätzliche Optimierungsschleifen zu vermeiden, sollten Ihre Entwicklungs- und Administratorteams im Entwicklungszyklus so früh wie möglich mit der Evaluierung von Spanner beginnen.

Haben sie sich einmal damit vertraut gemacht, können bestehende relationale Datenbankschemata und relevante Abfragen dank der Unterstützung von ANSI SQL und Schemata in nur wenigen Schritten konvertiert werden. Einige unserer Gaming-Kunden haben die Umrüstung innerhalb von nur zwei bis drei Wochen absolviert. Zahlreiche Tools wie Harbourbridge, ein Open-Source-Evaluierungs- und Migrationstool, sorgen für eine zuverlässige und einfache heterogene Migration.

Wie auch bei anderen Datenbanken müssen bei Spanner Performance-Optimierungen und Belastungstests vorgenommen werden, um die Anforderungen hinsichtlich Datenrate und Latenz zu erfüllen. Die von Spanner bereitgestellten Tools zur Introspektion liefern wertvolle Erkenntnisse, die die Optimierung erleichtern. Dank der intuitiven, visualisierten Ausführungspläne gelingt es auch Entwickler*innen ohne umfassende Datenbankkenntnisse, lang laufende Abfragen zu optimieren. Das Vorwärmen der Datenbank vor dem Spielstart sorgt für eine optimale Verteilung und Datenrate.

Niantic Labs hat auf Google Cloud ein global skalierbares Spiel für Millionen von Nutzer*innen entwickelt: Pokémon Go. Ihre Erfahrungen bei der Skalierung mit Google Kubernetes Engine (GKE) und Spanner haben sie mit uns geteilt und beschrieben, wie BigQuery, Dataflow und Pub/Sub zur Datenanalyse genutzt werden können.
Video Thumbnail

Mit mehr als 200 Millionen Nutzer*innen in über 190 Ländern weltweit ist Vimeo ein wichtiger Akteur auf dem wachsenden Video-/Saas-Markt. In nachfolgenden Video zeigen sie, wie sie Cloud Spanner für ihre Plattform nutzen und weshalb sie sich für Google Cloud entschieden haben:

Video Thumbnail

Sie möchten mehr über unser global skalierbares Gaming-Backend in Google Cloud, die Vorteile von Spanner und die Unterschiede zu herkömmlichen relationalen Datenbanken erfahren? Dann lesen Sie unser Whitepaper Develop Global Multiplayer Games using Cloud Spanner“.

https://storage.googleapis.com/gweb-cloudblog-publish/images/developing_global_multiplayer_games_using_cl.max-700x700.jpg
Gepostet in