Debezium คืออะไร คุณสมบัติหลักและการทำงาน สำคัญอย่างไรกับ Data Replication สู่ Real-time Analytics

 

Debezium  คืออะไร

Debezium คือ open-source platform แบบกระจาย (Distributed Platform) สำหรับทำ Change Data Capture (CDC) ที่ช่วยแปลงการเปลี่ยนแปลงข้อมูลระดับแถว (Row-level changes) ในฐานข้อมูลให้กลายเป็น event streams แบบเรียลไทม์

คุณสมบัติหลักและการทำงานการทำงาน Debezium (Log-based CDC)

  • อ่านข้อมูลจาก transaction log ของฐานข้อมูลโดยตรง ทำให้มีผลกระทบ (Overhead) ต่อระบบฐานข้อมูลต้นทางน้อยมากเมื่อเทียบกับการใช้ Triggers 
  • สตรีมมิ่งผ่าน Kafka: ทำงานร่วมกับ Apache Kafka และ Kafka Connect เพื่อบันทึกเหตุการณ์การเปลี่ยนแปลงลงใน Kafka 
  • รองรับฐานข้อมูลหลากหลาย: มี Connectors สำหรับฐานข้อมูลยอดนิยม เช่น MySQL, PostgreSQL, Oracle, SQL Server, MongoDB, MariaDB, Cassandra และอื่นๆ 
  • การทำ Snapshot: รองรับการทำ Initial Snapshot ทั้งแบบปกติและ Incremental Snapshot เพื่อเก็บสถานะเริ่มต้นของข้อมูลก่อนเริ่มสตรีม Log 

ใช้ Debezium ร่วมกับ Kafka สำหรับทำ CDC

วิธีนี้แทบไม่ต้องเขียนโค้ดเพื่อดึงข้อมูลเองเลย แต่เป็นการสถาปนาระบบ (Setup Infrastructure) โดยใช้ซอฟต์แวร์ Open-source 100%
  • ขั้นตอนที่ 1: เปิดใช้งานฟังก์ชัน Log บนฐานข้อมูลต้นทาง
    • ฐานข้อมูลสมัยใหม่จะมี Log ที่บันทึกทุกคำสั่งที่เกิดขึ้น เช่น Binlog (MySQL) หรือ Write-Ahead Log / WAL (PostgreSQL)
    • คุณต้องเข้าไปเปิด Config ให้ฐานข้อมูลยอมปล่อย Log นี้ออกมาภายนอก
  • ขั้นตอนที่ 2: ตั้งค่า Apache Kafka และ Kafka Connect
    • ติดตั้ง Kafka เพื่อใช้เป็นตัวรับส่งข้อมูลความเร็วสูง
    • ติดตั้ง Debezium (ซึ่งเป็นปลั๊กอินของ Kafka Connect)
  • ขั้นตอนที่ 3: สั่งให้ Debezium อ่าน Log
    • เขียน Configuration ไฟล์ (JSON) สั้น ๆ เพื่อบอกให้ Debezium ทราบว่าฐานข้อมูลต้นทางอยู่ที่ไหน รหัสผ่านอะไร
    • Debezium จะเข้าไปอ่าน Log และแปลงเหตุการณ์ (เช่น มีคนกดเพิ่มข้อมูล) ให้กลายเป็นข้อความ JSON ส่งเข้าไปใน Kafka
  • ขั้นตอนที่ 4: ดึงข้อมูลจาก Kafka ไปปลายทาง
    • ใช้ Kafka Connect ตัวอื่น หรือเขียนโค้ดสั้น ๆ (Python/Java) ดึงข้อมูลจาก Kafka ไปหยอดลงฐานข้อมูลปลายทาง หรือไฟล์ตามต้องการ

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

อะไรคือ NPU (Neural Processing Unit) มีความสำคัญอย่างไร แนวคิดมาจากไหน

TomCat สำหรับติดตั้ง แก้ไข คอนฟิก ใช้งาน JSP

Micro SaaS "ขนาดพอดีคำ" สร้างธุรกิจเริ่มต้นอย่างง่ายด่าย จากไอเดียสู่สร้างรายได้ โดยใช้ AI Agent ตอบสนองความต้องการซอฟต์แวร์ที่เล็ก ง่าย และทรงพลัง