0Pricing
Cloud & IT Cert Prep · บทเรียน

การย้ายฐานข้อมูลไปยัง Azure

วางแผนและดำเนินการย้ายฐานข้อมูลโดยใช้ Azure Database Migration Service และทบทวนกลยุทธ์ทั่วไปเพื่อลดเวลาหยุดให้บริการระหว่างการย้ายไปยังระบบคลาวด์

การย้ายฐานข้อมูลไปยัง Azure เป็นบทเรียน Cloud & IT Cert Prep ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cloud & IT Cert Prep และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cloud & IT Cert Prep มีบทเรียนทั้งหมด 4 บทเรียน

เหตุใดจึงย้ายฐานข้อมูลไปยัง Azure

การย้ายฐานข้อมูลจากระบบภายในองค์กรไปยัง Azure ให้ประโยชน์หลายประการ ได้แก่ การลดภาระงานด้านปฏิบัติการ (ไม่ต้องจัดการฮาร์ดแวร์) ความพร้อมใช้งานสูงและการสำรองข้อมูลในตัว รวมถึงความสามารถในการปรับขนาดการประมวลผลและพื้นที่จัดเก็บแบบยืดหยุ่นตามความต้องการ องค์กรต่าง ๆ ยังย้ายระบบเพื่อให้สอดคล้องกับนโยบายคลาวด์เป็นหลัก เลิกใช้ฮาร์ดแวร์ศูนย์ข้อมูลที่เก่าเกินไป หรือใช้ประโยชน์จากฟีเจอร์ขั้นสูง เช่น การจำลองแบบข้ามภูมิศาสตร์และการปรับคำสั่งค้นหาอย่างชาญฉลาด

ภาพรวมกลยุทธ์การย้ายฐานข้อมูล

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

Azure Database Migration Service

Azure Database Migration Service (DMS) เป็นเครื่องมือที่มีการจัดการเต็มรูปแบบสำหรับควบคุมการย้ายฐานข้อมูลจากแหล่งต้นทางหลากหลาย เช่น SQL Server, MySQL, PostgreSQL, MongoDB, Oracle และอื่น ๆ ไปยังเป้าหมายที่มีการจัดการใน Azure ที่สอดคล้องกัน DMS จัดการการแปลงโครงสร้าง การย้ายข้อมูล และการจำลองแบบ พร้อมรายงานสถานะการย้ายและข้อผิดพลาดในแดชบอร์ดเดียว

# Create a DMS instance
az dms create \
  --location eastus \
  --name myDMSinstance \
  --resource-group myRG \
  --sku-name Standard_1vCores \
  --subnet /subscriptions/<sub-id>/resourceGroups/myRG/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet

การประเมินก่อนการย้าย

ก่อนย้ายระบบ ให้เรียกใช้ การประเมินก่อนการย้าย เพื่อระบุปัญหาความเข้ากันได้ระหว่างฐานข้อมูลต้นทางกับบริการ Azure เป้าหมาย ส่วนขยาย การประเมินการย้ายฐานข้อมูลสำหรับ SQL Server ใน Azure Data Studio จะสแกนกระบวนงานที่จัดเก็บไว้ ทริกเกอร์ และคำสั่งค้นหา เพื่อค้นหาฟีเจอร์ที่ไม่รองรับใน Azure SQL Database หรือ SQL Managed Instance พร้อมจัดทำรายการสิ่งที่ต้องแก้ไขตามลำดับความสำคัญก่อนสลับระบบ

จาก SQL Server ไปยัง Azure SQL Database

การย้าย SQL Server ไปยัง Azure SQL Database (ฐานข้อมูลเดี่ยว) เหมาะกับแอปพลิเคชันที่มีฐานข้อมูลเดียวและไม่มีฟีเจอร์ระดับอินสแตนซ์ (เช่น SQL Agent หรือคำสั่งค้นหาข้ามฐานข้อมูล) หากการประเมินพบการพึ่งพาฟีเจอร์ระดับอินสแตนซ์ Azure SQL Managed Instance จะเป็นทางเลือกที่เข้ากันได้เกือบ 100% โดยย้ายกลไก SQL Server ไปไว้ในคอนเทนเนอร์แพลตฟอร์มในรูปแบบบริการ พร้อมคงงาน SQL Agent เซิร์ฟเวอร์ที่เชื่อมโยง และออบเจ็กต์ CLR ไว้

การย้ายแบบออนไลน์ด้วยการเล่นบันทึกซ้ำ

Azure DMS ใช้ Log Replay Service (LRS) สำหรับการย้าย SQL Server ไปยัง Azure SQL Managed Instance แบบออนไลน์ LRS จะอ่านข้อมูลสำรองบันทึกธุรกรรมจากคอนเทนเนอร์ Azure Blob Storage อย่างต่อเนื่อง แล้วเล่นข้อมูลเหล่านั้นซ้ำบน Managed Instance เป้าหมายเพื่อให้ซิงค์กับต้นทาง การสลับระบบครั้งสุดท้ายต้องเรียกใช้ด้วยตนเองและเสร็จภายในไม่กี่วินาที ทำให้ช่วงเวลาบำรุงรักษาเกือบเป็นศูนย์

จาก PostgreSQL ไปยัง Azure Database for PostgreSQL

สำหรับการย้ายฐานข้อมูล PostgreSQL ไปยัง Azure นั้น DMS รองรับทั้ง แบบออฟไลน์ (pg_dump/pg_restore) และ การย้ายแบบออนไลน์ผ่านการจำลองแบบเชิงตรรกะ เซิร์ฟเวอร์ PostgreSQL ต้นทางต้องเปิดใช้การจำลองแบบเชิงตรรกะ (wal_level = logical) และผู้ใช้สำหรับการย้ายต้องมีสิทธิ์ในการจำลองแบบ DMS จัดการการย้ายโครงสร้าง การโหลดข้อมูลทั้งหมดในเบื้องต้น และการจับการเปลี่ยนแปลงข้อมูลจนถึงการสลับระบบครั้งสุดท้าย

# Enable logical replication on source PostgreSQL
# In postgresql.conf:
wal_level = logical
max_replication_slots = 5
max_wal_senders = 5

จาก MySQL ไปยัง Azure Database for MySQL

DMS ย้ายฐานข้อมูล MySQL ไปยัง Azure Database for MySQL Flexible Server โดยใช้บันทึกไบนารีของ MySQL เพื่อจำลองแบบอย่างต่อเนื่อง อินสแตนซ์ MySQL ต้นทางต้องมี binlog_format = ROW และเปิดใช้การบันทึกไบนารี ตัวช่วยการย้ายในพอร์ทัล Azure จะแนะนำคุณตลอดขั้นตอนการเชื่อมต่อต้นทางและเป้าหมาย การเลือกฐานข้อมูล และการตรวจสอบความคืบหน้ากับความล่าช้าของการย้ายก่อนสลับระบบ

# Verify binary logging on source MySQL server
SHOW VARIABLES LIKE 'log_bin';
SHOW VARIABLES LIKE 'binlog_format';

ลดเวลาหยุดทำงานระหว่างการสลับระบบ

หัวใจสำคัญของการย้ายที่มีเวลาหยุดทำงานต่ำคือการโหลดข้อมูลจำนวนมากในเบื้องต้นให้เสร็จล่วงหน้า จากนั้นปล่อยให้การจับการเปลี่ยนแปลงข้อมูลทำงานจนความล่าช้าของการจำลองแบบลดลงเกือบเป็นศูนย์ เมื่อถึงจุดนั้น ให้คุณหยุดการเขียนข้อมูลไปยังต้นทาง รอให้การเปลี่ยนแปลงล่าสุดส่งไปยังเป้าหมายจนหมด อัปเดตสตริงการเชื่อมต่อของแอปพลิเคชัน และเริ่มเขียนข้อมูลไปยังเป้าหมายใหม่ การจัดการ DNS TTL อย่างรอบคอบและการสลับระบบแบบสีน้ำเงิน-สีเขียวยังช่วยลดผลกระทบได้มากขึ้น

การตรวจสอบหลังการย้าย

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

-- Compare row counts across all tables
SELECT TABLE_NAME, TABLE_ROWS
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'myDatabase'
ORDER BY TABLE_NAME;

ใช้ Azure Migrate เพื่อค้นหาฐานข้อมูล

Azure Migrate มีความสามารถในการค้นหาและประเมินฐานข้อมูลเพิ่มเติมจากฟีเจอร์ประเมินเซิร์ฟเวอร์ อุปกรณ์ Azure Migrate จะสแกนสภาพแวดล้อมภายในองค์กรเพื่อจัดทำรายการอินสแตนซ์ SQL Server ประเมินขนาดและค่าใช้จ่ายที่เทียบเท่าบน Azure และระบุปัญหาความเข้ากันได้ จึงเหมาะเป็นจุดเริ่มต้นก่อนใช้ DMS ดำเนินการย้ายจริง

ตรวจสอบอย่างรวดเร็ว

ทดสอบความเข้าใจแนวคิด Microsoft Azure Fundamentals (AZ-900) จากบทเรียนนี้

สรุปบทเรียน

ในบทเรียนนี้ คุณได้เรียนรู้ว่า Azure Database Migration Service ควบคุมการย้ายฐานข้อมูลจากกลไกต้นทางได้หลากหลาย การย้ายแบบออนไลน์ใช้การจับการเปลี่ยนแปลงข้อมูลเพื่อลดเวลาหยุดทำงานระหว่างการสลับระบบ และ การประเมินก่อนการย้ายช่วยระบุปัญหาความเข้ากันได้ก่อนเริ่มดำเนินการ บทถัดไปเราจะสำรวจ Azure Identity และ Microsoft Entra ID

คำถามที่พบบ่อย

บทเรียน “การย้ายฐานข้อมูลไปยัง Azure” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การย้ายฐานข้อมูลไปยัง Azure” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cloud & IT Cert Prep ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cloud & IT Cert Prep มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การย้ายฐานข้อมูลไปยัง Azure”

วางแผนและดำเนินการย้ายฐานข้อมูลโดยใช้ Azure Database Migration Service และทบทวนกลยุทธ์ทั่วไปเพื่อลดเวลาหยุดให้บริการระหว่างการย้ายไปยังระบบคลาวด์ คุณปฏิบัติ Cloud & IT Cert Prep ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cloud & IT Cert Prep หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cloud & IT Cert Prep บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “การย้ายฐานข้อมูลไปยัง Azure” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cloud & IT Cert Prep นี้ได้ไหม

ได้ บทเรียน Cloud & IT Cert Prep ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. Azure SQL Database
  2. Azure Cosmos DB: NoSQL ระดับโลก
  3. ฐานข้อมูล Azure สำหรับกลไกโอเพนซอร์ส
  4. การย้ายฐานข้อมูลไปยัง Azure
← กลับไปที่ Cloud & IT Cert Prep