2020
Logo Pokemon Company

Pokémon Company Bermigrasi ke Basis Data yang Dibuat Khusus untuk AWS

The Pokémon Company International bermigrasi dari basis data dokumen NoSQL pihak ketiga ke layanan basis data AWS terkelola penuh, secara signifikan mengurangi biaya bulanan dan mengonsolidasikan 300 simpul menjadi 30.

Memangkas biaya bulanan

hingga puluhan ribu dolar

300 menjadi 30

Mengurangi jumlah simpul dari 300 menjadi 30

90%

Mengurangi upaya masuk bot hingga 90%

Lisensi basis data

Menghilangkan biaya lisensi basis data

Waktu henti nol

Mengalami waktu henti nol jam atau penurunan performa setelah migrasi

Gambaran Umum

Diluncurkan di Jepang pada tahun 1996, Pokémon telah menjadi salah satu merek hiburan paling populer di seluruh dunia. Orang dari segala usia, hingga ratusan juta di antaranya, menikmati pelatihan dan mempertarungkan makhluk Pokémon melalui Pokémon Trading Card Game dan game seluler Pokémon GO.

Di Bellevue, Washington, teknisi di The Pokémon Company International (TPCi) bertanggung jawab untuk memastikan penggemar Pokémon di luar Asia dapat melacak pencapaiannya melalui akun pengguna dengan fitur lengkap. Dikenal sebagai Pokémon Trainer Club, solusinya tidak hanya harus memberikan pengalaman yang lancar kapan pun "pelatih" ingin mendaftar, tetapi juga harus mematuhi Undang-Undang Perlindungan Privasi Online Anak-anak dan Peraturan Perlindungan Data Umum.

"Sistem profil pengguna kami sebagian besar terdiri dari dua kumpulan data: pengguna untuk Pokémon GO dan pengguna untuk Pokémon Trading Card Game," kata Jeff Webb, manajer pengembangan di TPCi "Profil pengguna dari jenis permainan yang berbeda membutuhkan proses dan pemeliharaan yang berbeda, tetapi semuanya ada dalam sistem Pokémon Trainer Club. Karena kerumitan dan volume data yang kami tangani, skalabilitas dan keandalan basis data sangat penting untuk memberikan pengalaman pengguna yang luar biasa.”

A tv and video control room intended for student use at university.
Setelah peluncuran Pokémon GO pada tahun 2016, jumlah pengguna yang memerlukan akses ke sistem ini meningkat menjadi lebih dari 300 juta dalam waktu dua tahun. Perusahaan memutuskan untuk bermigrasi ke solusi yang terkelola penuh untuk menghemat waktu dan sumber daya agar dapat fokus pada inisiatif strategis.

Peluang | Pertarungan Basis Data

Awalnya, Pokémon Trainer Club didukung oleh basis data dokumen NoSQL pihak ketiga, yang berisi semua data profil pengguna dan changelog untuk lebih dari 300 juta pengguna Pokémon GO. Shard database berisi database master makhluk Pokémon, data pengguna online Trading Card Game, dan data dari kelompok "permainan terorganisir" secara langsung. Memcached menyediakan akses cepat ke data sesi pengguna. Perusahaan ini meng-host basis data dan sistem caching memorinya di Amazon Elastic Compute Cloud (Amazon EC2), dengan Elastic Load Balancing yang mengelola lalu lintas dan Amazon Simple Storage Service (Amazon S3) untuk penyimpanan objek. "Kami memilih database NoSQL kami sebelumnya karena pencariannya yang cepat," ungkap Webb. "Namun, kami menemukan bahwa untuk mencapai kecepatan yang kami inginkan memerlukan pemeliharaan banyak indeks dan pengelolaan banyak node kompleks, lebih dari 300 pada satu titik."

Menjaga node berjalan dengan lancar adalah tantangan. Ketika node indeks atau database menjadi tidak tersedia, node meningkatkan latensi. Jika node Memcached turun, pengguna tidak dapat masuk sama sekali. Ketika node data primer gagal, tim harus menghentikan semuanya untuk membangunnya kembali sementara sistem beroperasi pada node cadangan. Setelah bertahun-tahun mengalami masalah manajemen harian, diperburuk oleh masuknya pengguna Pokémon GO secara besar-besaran, TPCi memutuskan untuk bermigrasi ke Amazon Web Services (AWS) untuk layanan database yang dikelola sepenuhnya.

"Kami senang dengan performa dan keandalan Amazon EC2, Elastic Load Balancing, dan Amazon S3," ungkap Webb. "Itulah alasan kami memutuskan untuk menginvestigasi layanan database terkelola AWS." Tim tersebut melakukan pengujian ekstensif untuk menemukan solusi yang akan memenuhi kebutuhan keamanan, skala, performa, dan ketahanannya, yang pada akhirnya memilih Amazon Aurora dengan kompatibilitas PostgreSQL. "Karena permintaan autentikasi merupakan mayoritas dari lalu lintas TPCi, kami memilih Amazon Aurora PostgreSQL untuk fitur keamanan tingkat perusahaannya, termasuk enkripsi saat istirahat dan saat transit, ditambah keandalannya dalam lingkungan multiwilayah."

Tim ini juga memutuskan untuk memindahkan caching pengguna ke Amazon ElastiCache, memanfaatkan Redis dan Memcached. Redis mengantre tugas untuk pengguna baru, sehingga mereka dapat diminta untuk menyelesaikan tugas pascaautentikasi seperti menerima syarat dan ketentuan. Memcached membantu menjaga tiket tetap tayang sehingga sesi pengguna yang ada tidak terganggu saat pengguna baru bergabung. Tim tersebut memigrasikan konfigurasi global dan data secara langsung (TTL) ke Amazon DynamoDB, basis data nilai-kunci yang memberikan performa milidetik satu digit sesuai skala. Selain itu, mereka juga memindahkan data peristiwa, seperti riwayat masuk dan catatan audit perubahan pengguna, ke Amazon S3.

kr_quotemark

Menggunakan Amazon Aurora, kami beralih dari 300 simpul menjadi 30, dan kami tidak lagi membayar lisensi basis data. Biaya database bulanan kami turun hingga puluhan ribu dolar setiap bulannya."

Jeff Webb
Manajer Pengembangan (Development Manager), The Pokémon Company International

Hasil | Pengurangan Biaya, Peningkatan Kapasitas, dan Waktu Henti Nol

Penyimpanan data nonrelasional dimigrasikan terlebih dahulu, diikuti dengan migrasi data pengguna dan serpihan basis data ke Amazon Aurora. Proyek tersebut hanya memakan waktu sembilan bulan. "Kami menghabiskan beberapa bulan pertama membuat kasus penggunaan dan uji tekanan," kata Webb. "Kemudian, kami merelasionalkan semua data dan mendekonstruksi data JSON. Kami menyelesaikan migrasi tanpa waktu henti untuk proses autentikasi kami, yang luar biasa mengingat 300 orang masuk ke Pokémon Trainer Club setiap detik dari seluruh dunia."

Sejak migrasi, TPCi telah secara signifikan mengurangi waktu dan uang yang dihabiskan untuk database. "Menggunakan Amazon Aurora, kami beralih dari 300 node menjadi 30, dan kami tidak lagi membayar lisensi database," ungkap Webb. "Biaya database bulanan kami turun hingga puluhan ribu dolar setiap bulannya. Yang terpenting, kami pernah mengalami 168 jam waktu henti atau penurunan performa dalam enam bulan sebelum migrasi. Sejak itu, kami tidak pernah mengalaminya lagi."

Migrasi tersebut telah memberikan manfaat juga. "Menggunakan pengaturan TTL bawaan di Amazon DynamoDB, kami bisa melacak ketika pengguna melebihi ambang batas upaya login maksimum dan menolak upaya masuk," kata Webb. "Hasilnya penurunan upaya login bot hingga 90 persen, yang membebaskan sumber daya sistem untuk pengguna sah dan mengurangi kebutuhan kami untuk memperbesar skala."

Memanfaatkan layanan Amazon ElastiCache yang terkelola sepenuhnya secara signifikan mengurangi overhead pengelolaan node Memcached. Data sesi pengguna dan status tiket yang disimpan dalam klaster mempercepat proses autentikasi dan menghilangkan kebutuhan pengguna untuk mempertahankan koneksi ke satu server.

Lebih sedikit waktu mengelola database meluangkan waktu untuk inovasi. Perusahaan berencana untuk menggunakan komputasi tanpa server, kontainer, dan layanan mikro untuk efisiensi dan kinerja yang lebih baik. Seiring dengan peningkatan layanannya, TPCi memberdayakan jutaan orang di seluruh dunia untuk menikmati seluruh fitur Pokémon sesuai permintaan.

Untuk mempelajari selengkapnya, kunjungi thinkwithwp.com/gametech/databases.

Tentang The Pokemon Company International

The Pokémon Company International, anak perusahaan dari The Pokémon Company di Jepang, mengelola properti di luar Asia dan bertanggung jawab atas manajemen merek, Pokémon Trading Card Game, hiburan di rumah, dan situs web resmi Pokémon.

Layanan AWS yang Digunakan

Amazon Aurora

Amazon Aurora adalah database relasional yang kompatibel dengan MySQL dan PostgreSQL yang dibangun untuk cloud, yang menggabungkan kinerja dan ketersediaan database perusahaan tradisional dengan sistem yang sederhana dan database sumber terbuka yang hemat biaya.

Pelajari selengkapnya »

Amazon ElastiCache

Amazon ElastiCache memungkinkan Anda untuk menyiapkan, menjalankan, dan menskalakan penyimpanan data dalam memori yang kompatiel dengan Sumber terbuka populer dengan lancar di cloud. Bangun aplikasi yang padat data atau tingkatkan kinerja database yang ada dengan mengambil data dari penyimpanan data dalam memori dengan throughput tinggi dan latensi rendah. Amazon ElastiCache adalah pilihan populer untuk kasus penggunaan real-time seperti Caching, Penyimpanan Sesi, Permainan Game, Layanan Geospasial, Analitik Real-Time, dan Pengantrean.

Pelajari selengkapnya »

Amazon DynamoDB

Amazon DynamoDB adalah database nilai-kunci dan dokumen yang memberikan kinerja satu digit milidetik dalam skala apa pun. Ini adalah database multimaster dan multiwilayah tahan lama yang dikelola sepenuhnya dengan keamanan bawaan, cadangan dan pemulihan, serta caching dalam memori untuk aplikasi skala internet.

Pelajari selengkapnya »

Amazon S3

Amazon Simple Storage Service (Amazon S3) adalah layanan penyimpanan objek yang menawarkan skalabilitas, ketersediaan data, keamanan, dan kinerja terdepan dalam industri. Artinya, pelanggan dari skala besar maupun kecil dan industri dapat menggunakannya untuk menyimpan dan melindungi data sebanyak apa pun untuk berbagai skenario pengunaan, seperti situs web, aplikasi seluler, pencadangan dan pemulihan, arsip, aplikasi perusahaan, perangkat IoT, dan analitik big data.

Pelajari selengkapnya »

Temukan cara data mendorong transformasi

Lebih Banyak Kisah Pelanggan Gaming

tidak ada item yang ditemukan 

1

Mulai

Organisasi dalam berbagai ukuran di semua industri mentransformasi bisnis mereka dan mewujudkan misi mereka setiap hari menggunakan AWS. Hubungi ahli kami dan mulai perjalanan AWS Anda sendiri sekarang juga.