Kundenberichte / Gaming
2020
The Pokémon Company migriert zu speziell entwickelten AWS-Datenbanken
Begrenzt monatliche Kosten
um zehntausende USD
300 auf 30
90 %
Datenbank-Lizenzierung
Keine Ausfallzeiten
Übersicht
Pokémon wurde 1996 in Japan gegründet und hat sich zu einer der weltweit populärsten Marken der Unterhaltungsbranche entwickelt. Millionen Menschen in jedem Alter spielen Pokémon GO auf Mobilgeräten und das Pokémon-Sammelkartenspiel, um ihre Kreaturen zu trainieren gegeneinander kämpfen zu lassen.
In Bellevue im US-Bundesstaat Washington sind die Entwickler von The Pokémon Company International (TPCi) dafür verantwortlich, dass Pokémon-Fans außerhalb Asiens ihre Errungenschaften in funktionsreichen Benutzerkonten abrufen können. Die Lösung, die als Pokémon Trainer Club bekannt ist, muss eine nahtlose Benutzererfahrung bieten, wenn sich ein "Trainer" anmeldet. Darüber hinaus muss aber auch gewährleistet sein, dass das US-Gesetz zum Schutz der Privatsphäre von Kindern im Internet (COPPA) und die DSGVO eingehalten werden.
"Unser Benutzerprofilsystem besteht hauptsächlich aus zwei verschiedenen Datensätzen: Pokémon GO-Benutzer und Benutzer des Pokémon-Sammelkartenspiels", so Jeff Webb, Development Manager bei TPCi. "Benutzerprofile aus verschiedenen Spieltypen erfordern unterschiedliche Verarbeitungs- und Verwaltungsprozesse, werden aber alle live im Pokémon-Trainer-Club-System geführt. Aufgrund der Komplexität und der Menge der Daten sind wir auf eine hohe Datenbank-Skalierbarkeit und -Zuverlässigkeit angewiesen, um ein erstklassiges Benutzererlebnis bereitstellen zu können."
Gelegenheit | Kampf der Datenbanken
Ursprünglich basierte der Pokémon Trainer Club auf einer NoSQL-Dokumentdatenbank eines Drittanbieters, in der sämtliche Benutzerprofildaten und Änderungsprotokolle von mehr als 300 Millionen Pokémon-GO-Spielern gespeichert wurden. Die Masterdatenbank der Pokémon-Kreaturen, die Online-Benutzerdaten des Sammelkartenspiels und die Daten von persönlichen "Organized Play"-Gruppen befanden sich in Datenbank-Shards. Für den schnellen Zugriff auf Benutzersitzungsdaten sorgte Memcached. Das Unternehmen hostete die Datenbank und das Memory-Caching-System in Amazon Elastic Compute Cloud (Amazon EC2) und nutzte Elastic Load Balancing für das Datenverkehr-Management und Amazon Simple Storage Service (Amazon S3) als Objektspeicher. "Die Entscheidung für unsere vorherige NoSQL-Datenbank basierte auf den schnellen Suchvorgängen", erklärt Webb. "Dann stellte sich aber heraus, dass wir die gewünschte Geschwindigkeit nur durch die Verwaltung vieler Indexe und vieler komplexer Knoten erreichen konnten – zeitweise waren es mehr als 300."
Es war eine Herausforderung, den reibungslosen Betrieb aller Knoten zu gewährleisten. Wenn Index- oder Datenbankknoten nicht verfügbar waren, stieg die Latenz. Wenn ein Memcached-Knoten ausfiel, konnten sich die Benutzer gar nicht mehr anmelden. Im Falle eines Ausfalls primärer Datenknoten musste das Team alles stehen und liegen lassen, um sie wiederherzustellen, während das System über Backup-Knoten weiter ausgeführt wurde. Nach Jahren täglicher Verwaltungsprobleme, die durch den riesigen Zuwachs an Pokémon GO-Benutzern zusätzlich verschlimmert wurden, entschied sich TPCi für einen Umstieg auf die vollständig verwalteten Datenbankservices von Amazon Web Services (AWS).
"Wir waren mit der Performance und Zuverlässigkeit von Amazon EC2, Elastic Load Balancing und Amazon S3 sehr zufrieden", erinnert sich Webb. "Deswegen wollten wir die verwalteten Datenbankservices von AWS unter die Lupe nehmen." Das Team führte umfassende Tests durch, um eine Lösung zu finden, die den Anforderungen in Bezug auf Sicherheit, Skalierung, Performance und Ausfallsicherheit entsprach. Am Ende fiel die Wahl auf Amazon Aurora mit PostgreSQL-Kompatibilität. "Da Authentifizierungsanfragen den Großteil des TPCi-Datenverkehrs ausmachen, entschieden wir uns für Amazon Aurora PostgreSQL, das Sicherheitsfunktionen der Enterprise-Klasse, wie die Verschlüsselung inaktiver und Übertragungsdaten, und eine hohe Zuverlässigkeit in einer multiregionalen Umgebung bietet."
Außerdem verlagerte das Team den Benutzer-Zwischenspeicher in Amazon ElastiCache, um die Vorteile von Redis und Memcached in Anspruch zu nehmen. Redis stellt Aufgaben für neue Benutzer in eine Warteschlange, damit sie aufgefordert werden können, Aufgaben nach der Authentifizierung abzuschließen, z. B. die Nutzungsbedingungen zu akzeptieren. Memcached sorgt dafür, dass Tickets live bleiben, damit bestehende Benutzersitzungen nicht unterbrochen werden, wenn neue Benutzer beitreten. Das Team migrierte globale Konfigurations- und Time-to-Live (TTL)-Daten zu Amazon DynamoDB, einer Schlüssel-Werte-Datenbank, die Geschwindigkeiten im einstelligen Millisekundenbereich im großen Maß bietet. Auch Ereignisdaten wie der Anmeldeverlauf und Prüfdaten von Benutzeränderungen wurden verschoben, und zwar zu Amazon S3.
Mit Amazon Aurora konnten wir die Anzahl der Knoten von 300 auf 30 reduzieren und müssen keine Datenbank-Lizenzen mehr erwerben. Wir sparen jeden Monat Zehntausende Dollar an Datenbankkosten."
Jeff Webb
Development Manager, The Pokémon Company International
Ergebnis | Niedrigere Kosten, höhere Kapazität und keine Ausfallzeiten
Die nicht relationalen Datenspeicher wurden als Erstes zu Amazon Aurora migriert, gefolgt von den Benutzerdaten und den Datenbank-Shards. Nach nur neun Monaten war das Projekt abgeschlossen. "In den ersten Monaten erstellten wir Anwendungsfälle und Belastungstests", so Webb. "Dann rationalisierten wir alle Daten und nahmen JSON-Daten auseinander. Es ist uns gelungen, die Migration ohne Ausfallzeiten für unser Authentifizierungsverfahren abzuschließen. Das ist bemerkenswert, da sich jede Sekunde 300 Benutzer aus aller Welt im Pokémon Trainer Club anmelden."
Seit der Migration investiert TPCi wesentlich weniger Zeit und Geld in Datenbanken. "Mit Amazon Aurora konnten wir die Anzahl der Knoten von 300 auf 30 reduzieren und müssen keine Datenbanklizenzen mehr erwerben", so Webb. "Wir sparen jeden Monat Zehntausende Dollar an Datenbankkosten. Vor allem hatten sich in den sechs Monaten vor der Migration 168 Stunden an Ausfallzeiten oder Leistungseinbußen angesammelt. Seitdem waren es null Stunden."
Die Migration hat noch andere Vorteile mit sich gebracht. "Mithilfe der integrierten TTL-Einstellungen in Amazon DynamoDB können wir ermitteln, wenn ein Benutzer die maximale Anzahl von Anmeldeversuchen überschreitet, und den Zugang sperren", erklärt Webb. "Dadurch konnte die Anzahl der Anmeldeversuche durch Bots um 90 Prozent reduziert werden, sodass mehr Systemressourcen für legitime Benutzer bereitstehen und wir weniger zusätzliche Ressourcen einplanen müssen."
Durch den Einsatz des vollständig verwalteten Amazon ElastiCache-Service entsteht ein wesentlich geringerer Verwaltungsaufwand für Memcached-Knoten. Im Cluster gespeicherte Benutzersitzungsdaten und Ticket-Statusmeldungen beschleunigen die Authentifizierung und sorgen dafür, dass Benutzer nicht mehr dauerhaft mit einem einzigen Server verbunden bleiben müssen.
Weniger Aufwand bei der Datenbankverwaltung ermöglicht mehr Innovationsfreiheit. Das Unternehmen plant die Verwendung serverloser Computing-Ressourcen, Container und Microservices, um die Effizienz und die Performance noch weiter zu steigern. Durch die kontinuierliche Verbesserung seiner Services bietet TPCi Millionen Menschen weltweit On-Demand-Zugriff auf das Pokémon-Universum.
Weitere Informationen finden Sie unter thinkwithwp.com/gametech/databases.
Über The Pokémon Company International
Genutzte AWS-Services
Amazon Aurora
Amazon Aurora ist eine mit MySQL und PostgreSQL kompatible relationale Datenbank für die Cloud, die die Leistung und Verfügbarkeit herkömmlicher Unternehmensdatenbanken mit der Einfachheit und Kosteneffizienz von Open-Source-Datenbanken kombiniert.
Amazon ElastiCache
Amazon ElastiCache ermöglicht Ihnen die nahtlose Einrichtung, Ausführung und Skalierung beliebter Open-Source-kompatibler In-Memory-Datenspeicher in der Cloud. Erstellen Sie datenintensive Apps oder verbessern Sie die Leistung Ihrer vorhandenen Datenbanken, indem Sie Daten aus In-Memory-Datenspeichern mit einem hohen Durchsatz und einer geringen Latenz abrufen. Amazon ElastiCache ist eine beliebte Wahl für Echtzeit-Anwendungsfälle wie Caching, Session Stores, Gaming, Geodienste, Echtzeit-Analyse und Queuing.
Amazon DynamoDB
Amazon DynamoDB ist eine Schlüssel-Wert- und Dokumentdatenbank, die für beliebig große Datenmengen eine Leistung im einstelligen Millisekundenbereich bereitstellt. Es handelt sich um eine vollständig verwaltete, multiregionale, multimasterfähige, dauerhafte Datenbank mit integrierter Sicherheit, Sicherung und Wiederherstellung sowie In-Memory-Caching für Anwendungen im Internetmaßstab.
Amazon S3
Amazon Simple Storage Service (Amazon S3) ist ein Objektspeicherservice, der branchenführende Skalierbarkeit, Datenverfügbarkeit, Sicherheit und Leistung bietet. Kunden aller Größen und aus allen Branchen können also mit diesem Service beliebige Mengen an Daten speichern und sichern – für die unterschiedlichsten Anwendungsfälle wie Websites, mobile Anwendungen, Sicherung und Wiederherstellung, Archivierung, Unternehmensanwendungen, IoT-Geräte und Big-Data-Analysen.
Entdecken Sie, wie Daten den Wandel vorantreiben
Mehr Kundengeschichten im Bereich Gaming
Erste Schritte
Organisationen aller Größen aus verschiedenen Sektoren transformieren ihre Unternehmen und erfüllen ihre Missionen täglich mithilfe von AWS. Kontaktieren Sie unsere Experten und begeben Sie sich noch heute Ihren Weg zu AWS.