เปลี่ยนการเก็บข้อมูล (CDC)

Jan 25 2023
ทำให้ข้อมูลพร้อมใช้งานเร็วขึ้น มีประสิทธิภาพมากขึ้น และไม่สูญเสียความถูกต้องของข้อมูล โดย Siddharth Pal DevOps Team Hike Insights จากข้อมูลเป็นหนึ่งในส่วนที่สำคัญที่สุดของผลิตภัณฑ์ใดๆ แต่เมื่อคุณสร้างแอปเกม สิ่งที่สำคัญยิ่งกว่าคือการดึงการเปลี่ยนแปลงข้อมูลจากฐานข้อมูลต้นทางและใส่ลงในคลังข้อมูล ในเวลาใกล้เคียงเรียลไทม์

ทำให้ข้อมูลพร้อมใช้งานเร็วขึ้น มีประสิทธิภาพมากขึ้น และไม่สูญเสียความถูกต้องของข้อมูล

โดยSiddharth Pal DevOps Team, Hike

ข้อมูลเชิงลึกจากข้อมูลเป็นหนึ่งในส่วนที่สำคัญที่สุดของผลิตภัณฑ์ใดๆ แต่เมื่อคุณสร้างแอปเกม การดึงการเปลี่ยนแปลงข้อมูลจากฐานข้อมูลต้นทางและใส่ลงในคลังข้อมูลเกือบจะเป็นเรียลไทม์นั้นสำคัญยิ่งกว่า

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

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

ทำไมเราถึงตัดสินใจใช้ CDC?

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

การตั้งค่าท่อ CDC

คุณจะเริ่มต้นที่ไหนถ้าคุณต้องการตั้งค่าไปป์ไลน์ CDC

  1. เรียกใช้คลัสเตอร์ kafka โหนดขั้นต่ำ 3
  2. ดาวน์โหลดตัวเชื่อมต่อ debezium ที่เสถียรซึ่งเข้ากันได้กับเวอร์ชันฐานข้อมูลของคุณ และติดตั้งบนเซิร์ฟเวอร์นายหน้าหรือโหนดเฉพาะของคุณ
  3. สร้างการเชื่อมต่อเครือข่ายระหว่างอินฟาเรดที่จัดเตรียมไว้
  4. สร้างผู้ใช้แบบอ่านอย่างเดียวในฐานข้อมูลต้นทาง
  5. MongoDB:
  6. มายเอสคิวแอล:
    • มายเอสคิวแอล:

    เราประสบความสำเร็จอะไรบ้าง?

    การย้ายจาก ETL แบบดั้งเดิมไปใช้การนึ่งช่วยแก้ปัญหาใหญ่สองประการนี้ให้กับเรา:

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

    เรียกใช้การเรียก curl เพื่อตรวจสอบสถานะตัวเชื่อมต่อในเครื่องมือตรวจสอบของคุณ

    ขั้นตอนถัดไป

    CDC ได้รับการพิสูจน์แล้วว่าเป็นแพลตฟอร์มที่มีประสิทธิภาพสำหรับเรา และเรารู้ว่าเราสามารถทำอะไรได้มากกว่านั้น

    ในขั้นตอนต่อไป เรากำลังดำเนินการเพิ่มเติมเพื่อดำเนินการดังต่อไปนี้:

    1. CDC สามารถใช้เป็นเครื่องมือในการสำรองข้อมูลเพื่อหลีกเลี่ยงการสูญหาย
    2. การตรวจสอบเพิ่มเติมโดยใช้เครื่องมือ BI หรือเป็นกระบวนการป้อนข้อมูลไปยังไปป์ไลน์ AI/การเรียนรู้ของเครื่อง