Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Makalah
  • Ke-NU-an
  • Kabar
  • 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

  • Profil Farida Farichah, Wakil Menteri Koperasi Kabinet Merah Putih Reshuffle 17 September 2025
  • Ini Info Terbaru Pencairan BSU BPJS Ketenagakerjaan 2025!
  • Cara Reset Printer Epson L3110 2025
  • WhatsApp Tiba-tiba Keluar dan Meminta Verifikasi: Apa yang Harus Dilakukan?
  • Bisakah Saldo BNI Kamu Nol? Fakta dan Cara Mengatasinya
  • Inilah Tanda-tanda Chat Audio di Grup WhatsApp Sudah Disadap
  • Cara Mengatasi Tidak Bisa Live Instagram Karena Tidak Memenuhi Syarat
  • 7 Spek Laptop yang Ideal untuk Coding & Ngoding Web/App
  • Keuntungan dan Kerugian Menggunakan PayPal: Panduan Lengkap
  • Cara Menggunakan Stellarium Web
  • Cara Menghapus Data KTP Pribadi di Pinjol yang Belum Lunas
  • Cara Mengganti Nomor TikTok yang Tidak Aktif atau Hilang Tanpa Verifikasi
  • Cara Menggunakan BCA PayLater Terbaru 2025
  • Cara Mendapatkan IMPoint Indosat IM3 Ooredoo Gratis via MyIM3
  • Apa Arti TikTok ‘Shared With You’?
  • Cara Menghapus Data KTP di Pinjol: Panduan Lengkap
  • Cara Download WhatsApp GB Terbaru 2025 – Fitur Lengkap & Aman
  • Review WhatsApp Beta: Apakah Aman? Cara Instal dan Cara Keluar
  • Bebong: Makna, Asal Usul, dan Penggunaan dalam Bahasa Indonesia
  • Spinjam dan Spaylater: Apa yang Terjadi Jika Terlambat Membayar dan Bisakah Meminjam Lagi?
  • Cara Download dan Menonton Dood Stream Tanpa Iklan – Doods Pro
  • Cara Menghentikan dan Mengatasi Pinjol Ilegal
  • Kode Bank BRI untuk Transfer ke PayPal
  • Cara Menyadap WhatsApp Tanpa Aplikasi dan Kode QR
  • Apa yang Terjadi Jika Telat Bayar Shopee PayLater?
  • Telat Bayar Listrik 1 Hari: Apa yang Terjadi?
  • Cara Mengunduh Foto Profil WhatsApp Teman di Android, iPhone, dan PC/Mac
  • Rekomendasi Aplikasi Edit Foto Ringan Terbaik untuk PC Windows dan macOS
  • Cara Membeli Diamond Mobile Legends Menggunakan Pulsa Telkomsel
  • Tutorial Menggunakan Aplikasi Dana: Cara Top Up Dana dengan Mudah, Cepat, dan Murah untuk Pemula
  • Profil Farida Farichah, Wakil Menteri Koperasi Kabinet Merah Putih Reshuffle 17 September 2025
  • Ini Info Terbaru Pencairan BSU BPJS Ketenagakerjaan 2025!
  • Cara Reset Printer Epson L3110 2025

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