19 คะแนน โดย safethecode 2024-01-03 | 3 ความคิดเห็น | แชร์ทาง WhatsApp
  • GitHub ได้ดำเนินการอัปเกรดโฮสต์ MySQL มากกว่า 1,200 เครื่องไปเป็น MySQL 8.0 โดยเหตุผลของการอัปเกรดครั้งนี้คือ MySQL 5.7 กำลังหมดอายุการสนับสนุน และต้องการใช้แพตช์ความปลอดภัยล่าสุดรวมถึงฟีเจอร์ใหม่ ๆ ซึ่งกระบวนการทั้งหมดใช้เวลามากกว่า 1 ปี ประสบการณ์ด้านความท้าทายทางเทคนิคและบทเรียนที่ได้จากการอัปเกรดโครงสร้างพื้นฐาน MySQL ที่หลากหลายและซับซ้อนนี้ ตอกย้ำความสำคัญของระบบอัตโนมัติและการจัดการฟลีต

  • GitHub เริ่มต้นเมื่อ 15 ปีก่อนด้วยแอปพลิเคชัน Ruby on Rails และฐานข้อมูล MySQL เดี่ยว จากนั้น GitHub ได้พัฒนาสถาปัตยกรรม MySQL อย่างต่อเนื่องเพื่อรองรับความต้องการด้านการขยายระบบและความทนทานของแพลตฟอร์ม และในครั้งนี้ก็ได้ดำเนินการอัปเกรดโฮสต์ MySQL มากกว่า 1,200 เครื่องไปเป็น MySQL 8.0

  • แรงจูงใจในการอัปเกรดคือ MySQL 5.7 กำลังเข้าสู่ระยะหมดอายุการสนับสนุน ทำให้ GitHub ต้องการย้ายไปยัง MySQL 8.0 เพื่อรับแพตช์ความปลอดภัยล่าสุด การแก้ไขบั๊ก และการปรับปรุงประสิทธิภาพ นอกจากนี้ 8.0 ยังมีฟีเจอร์ใหม่อย่าง Instant DDLs, invisible indexes และ compressed bin logs

  • โครงสร้างพื้นฐาน MySQL ของ GitHub ประกอบด้วยการติดตั้งใช้งานที่หลากหลายและซับซ้อนบนโฮสต์มากกว่า 1,200 เครื่อง การดำเนินการอัปเกรดโดยยังคงรักษาระบบเหล่านี้ไว้ได้ จำเป็นต้องอาศัยการวางแผนอย่างรอบคอบ ระบบทดสอบอัตโนมัติ และความร่วมมือระหว่างหลายทีม

  • ในขั้นเตรียมการอัปเกรด GitHub ได้ดำเนินงานต่าง ๆ เช่น การอัปเกรดโครงสร้างพื้นฐาน การตรวจสอบความเข้ากันได้ของแอปพลิเคชัน การรักษาการสื่อสารและความโปร่งใส รวมถึงการกำหนดกลยุทธ์การอัปเกรดแบบค่อยเป็นค่อยไป การอัปเกรดดำเนินไปหลายระยะ และประเด็นสำคัญคือการทำให้อัปเกรดได้โดยยังคงความสามารถในการย้อนกลับ

  • ระหว่างการอัปเกรด มีปัญหาว่าการย้อนกลับจาก MySQL 8.0 ไปยัง MySQL 5.7 ทำได้ยาก แต่ GitHub ก็สามารถดำเนินการอัปเกรดอย่างปลอดภัยพร้อมรักษาความสามารถในการย้อนกลับไว้ได้ แม้จะต้องเผชิญกับความท้าทายทางเทคนิคหลายอย่าง เช่น Vitess แต่ก็สามารถฝ่าฟันปัญหาเหล่านี้ไปได้ และกระบวนการอัปเกรดทั้งหมดใช้เวลามากกว่า 1 ปี

  • ประสบการณ์และบทเรียนจากโปรเจ็กต์นี้ทำให้ GitHub ตอกย้ำว่า การอัปเกรด MySQL เป็นหนึ่งในงานบำรุงรักษาตามรอบที่สำคัญ และสรุปได้ว่าการพัฒนาระบบอัตโนมัติและเครื่องมือจัดการฟลีตที่เชื่อถือได้ จะช่วยให้การอัปเกรดในอนาคตมีประสิทธิภาพยิ่งขึ้น

3 ความคิดเห็น

 
botplaysdice 2024-01-04

ดูเหมือนว่า MS จะไม่ได้บังคับบริษัทที่เข้าซื้อกิจการให้ย้ายไปใช้เทคโนโลยีสแตกของตัวเองโดยเฉพาะ... จนถึงตอนนี้ก็ยังเป็น RoR / mysql อยู่สินะ

 
rockp 2024-01-04

การย้ายฐานข้อมูลของ GitHub.. แค่จินตนาการก็น่ากลัวแล้ว

 
misolab 2024-01-04

หรือคงเป็นเพราะรู้ว่าถ้าไปแตะเข้าแล้วจะยิ่งแก้ไม่ตก เลยอยู่นิ่ง ๆ มั้งครับ 555