Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Search
Menu

Ini Caranya Github.com Sukses Upgrade 1200 Server MySQL ke MySQL 8.0

Posted on December 9, 2023

Github baru saja berbagi tentang bagaimana strategi mereka mengupgrade lebih dari 1200 server mysql meerka ke versi MySQL 8.0. Laman repositori software terbesar didunia ini, sedari awal dikembangkan menggunakan Ruby on Rails memang menggunakan MySQL sebagai database mereka.

Setelah bertahun-tahun menggunakan versi 5.x, proses Upgrade ke MySQL 8 sukses mereka lalui dan mereka ceritakan dalam blog mereka. Sebagai gambaran, MySQL milik Github yang berjumlah 1200 lebih itu tersebar di datacenter Azure dan baremetal di datacenter mereka sendiri. Total mereka melayani 300 TB data dan melayani 5.5 juta query per detik dalam 50 lebih cluster database.

Bagi yang ingin membaca lebih lanjut tentang proses mereka melakukan upgrade, silakan baca blog mereka disini.

GitHub undertook a meticulous process to upgrade over 1200 MySQL servers to version 8.0, with a focus on maintaining high availability and adhering to Service Level Objectives (SLOs) and Service Level Agreements (SLAs). Here is a summary of their key points:

  1. Preparation for the Upgrade:
    • Started in July 2022 with various milestones before upgrading production databases.
    • Prepared infrastructure for the upgrade, determining default values for MySQL 8.0 and benchmarking performance.
    • Ensured application compatibility by adding MySQL 8.0 to Continuous Integration (CI) and enabling pre-built containers for debugging.
  2. Communication and Transparency:
    • Utilized GitHub Projects for a rolling calendar to communicate and track the upgrade schedule.
    • Created issue templates to coordinate the upgrade between application and database teams.
  3. Upgrade Plan:
    • Implemented a gradual upgrade strategy with checkpoints and rollbacks.
    • Step 1 involved rolling replica upgrades with careful monitoring.
    • Step 2 updated replication topology with both 5.7 and 8.0 replicas.
    • Step 3 promoted MySQL 8.0 replica to primary through a graceful failover.
    • Step 4 upgraded internal-facing instance types.
    • Step 5 involved cleanup, removing 5.7 servers after successful validation.
  4. Ability to Rollback:
    • Maintained the ability to rollback to MySQL 5.7 for read-replicas by keeping enough online.
    • Ensured backward data replication between 8.0 and 5.7 for the primary database.
    • Overcame challenges related to character collation and role management during rollback.
  5. Final Steps:
    • Upgraded ancillary servers for backups or non-production workloads.
    • Conducted thorough validation, including a complete 24-hour traffic cycle, before removing 5.7 servers.
  6. Challenges Overcome:
    • Addressed character collation incompatibility by setting default encoding and collation.
    • Managed role management issues during the upgrade window.
    • Maintained high confidence in backward replication for critical applications like GitHub.com monolith with consistent Rails configuration.

GitHub’s detailed approach ensured a successful and controlled transition to MySQL 8.0, reflecting their commitment to high standards of availability and performance.

Terbaru

  • Google Update Besar-besaran Desember 2025: Apa yang Akan Memengaruhi Pengalaman Anda?
  • Masih Pusing Hitung Gaji Manual? Waktunya Pakai Aplikasi HR
  • Apa Itu Dustruco? Ini Pengertian dan Cara Pasangnya di HP Kalian
  • Apa Itu Aplikasi Dooie Live? Ini Pengertian dan Cara Pakai Aplikasinya untuk Cari Jodoh
  • Apa Itu Battle Emote Jefri Nichol dan Om Telolet Om di MLBB? Ini Penjelasannya
  • Apa itu Game Luna Mobile dan Bagaimana Cara Menangnya?
  • Apa Itu Kompensasi Sistem Trail Mobile Legends? Ini Penjelasan dan Cara Klaim Hadiahnya
  • Apa Itu Update Google Pixel 2 Desember 2025? Ini Penjelasannya!
  • Ini Cara Reset Desil di Aplikasi Cek Bansos Biar Valid (Update Januari 2026)
  • Apa Itu EZNET Wireless dan Fiber Optic? Ini Perbedaan dan Pengertian Lengkapnya
  • Pengertian Rework Magic Wheel dan Rank Mythic Eternal: Apa itu Perubahan Sistem Baru Mobile Legends?
  • Apa Itu Diamond Combo? Pengertian Game Puzzle Viral yang Katanya Bisa Hasilkan Cuan
  • Apa Itu Showbox? Pengertian, Fungsi, dan Cara Menggunakannya di Android
  • Cara Mengatasi Fitur Monet Facebook Pro Tiba-tiba Hilang
  • Google Bikin Kejutan! Pixel 10 Diskon Gila-gilaan di YouTube Premium
  • Apa Itu Google CC? Ini Pengertian Agen Produktivitas AI Eksperimental Terbaru
  • Apa Itu Ultras Seblak di eSport? Pengertian dan Fenomena Baru Suporter eSport
  • Android 16: Animasi Folder Baru yang Mengubah Cara Kita Berinteraksi!
  • Android 16: Notifikasi Lokasi ‘Blue Dot’ – Fitur Baru yang Perlu Kalian Ketahui!
  • Apa Itu Risiko Auto Click di Event Spongebob Mobile Legends? Ini Penjelasannya
  • Apa Itu Fitur Eksperimental Windows? Ini Pengertian dan Cara Menonaktifkannya
  • Apa Itu Android 16 Beta 1? Ini Pengertian dan Fitur Terbarunya
  • Belum Tahu? Ini Trik Supaya Bisa Dapat Skin Patrick Mobile Legends dengan Harga Murah
  • Pixel Desember 2025: Update Besar Siap Meluncur, Apa yang Baru?
  • Apa Itu HYFE XL Prioritas? Ini Pengertian, FUP, dan Realita Kecepatannya
  • Pengertian Render dan Convert: Apa Bedanya dalam Video Editing?
  • Cara Mengatasi Aplikasi Office yang Terus Muncul dan Menerapkan Perubahan Pengaturan Privasi
  • Pixel Launcher Mendapatkan Sentuhan Google Search Baru!
  • Penyebab Aplikasi Wondr BNI Tidak Bisa Dibuka
  • Kode 0425 Daerah Mana? Ini Pengertian dan Fakta Sebenarnya
  • Apa Itu AI Kill Switch di Firefox? Ini Pengertian dan Detail Fitur Terbarunya
  • Apa Itu Platform Modular Intel Alder Lake N (N100)? Ini Pengertian dan Spesifikasinya
  • Apa Itu Armbian Imager? Pengertian Utilitas Flashing Resmi untuk Perangkat ARM Kalian
  • Apa Itu OpenShot 3.4? Pengertian dan Fitur LUT Terbaru untuk Grading Warna
  • Flatpak 1.16.2: Sandbox Baru untuk GPU Intel Xe dan VA-API
  • Apa Itu Elestio Get A Team? Ini Pengertian Karyawan AI Digital
  • Apa itu RunPod? Ini Pengertian dan Tutorial Cara Deploy Pod Pertamamu
  • Apa Itu Migrasi Pod di RunPod? Ini Pengertian dan Cara Kerjanya
  • Loading Model AI Lama? Coba Fitur Cached Models RunPod Ini, Hemat Waktu & Biaya!
  • Replicate Diakuisisi Cloudflare? Tenang, Ini Justru Kabar Baik Buat Developer AI
  • Apa Itu Kerentanan UEFI? Pengertian Celah Keamanan DMA pada Booting Awal
  • Apa Itu Serangan Siber Infrastruktur Kritikal? Belajar dari Kasus Peretasan Air Bersih Denmark
  • Apa Itu Error Update MSMQ di Windows 10? Ini Penjelasan Lengkap dan Solusinya
  • Apa Itu “I Am Not a Robot – reCAPTCHA Verification ID: 2165”? Ini Pengertian dan Bahayanya
  • Apa Itu Serangan Clop Ransomware pada CentreStack? Ini Pengertian dan Dampaknya
Beli Pemotong Rumput dengan Baterai IRONHOOF 588V Mesin Potong Rumput 88V disini https://s.shopee.co.id/70DBGTHtuJ
Beli Morning Star Kursi Gaming/Kantor disini: https://s.shopee.co.id/805iTUOPRV

©2025 emka.web.id | Design: Newspaperly WordPress Theme