เปลี่ยนการเก็บข้อมูล (CDC)
ทำให้ข้อมูลพร้อมใช้งานเร็วขึ้น มีประสิทธิภาพมากขึ้น และไม่สูญเสียความถูกต้องของข้อมูล
โดยSiddharth Pal DevOps Team, Hike
ข้อมูลเชิงลึกจากข้อมูลเป็นหนึ่งในส่วนที่สำคัญที่สุดของผลิตภัณฑ์ใดๆ แต่เมื่อคุณสร้างแอปเกม การดึงการเปลี่ยนแปลงข้อมูลจากฐานข้อมูลต้นทางและใส่ลงในคลังข้อมูลเกือบจะเป็นเรียลไทม์นั้นสำคัญยิ่งกว่า
CDC มีประสิทธิภาพมากกว่าและเร็วกว่าการนำเข้าข้อมูลเป็นชุด ทำให้เป็นโซลูชันที่เข้าถึงได้สำหรับทีมข้อมูลและ BI ที่ต้องการรับข้อมูลเข้าสู่ระบบและวิเคราะห์อย่างรวดเร็ว
เรามีกรณีการใช้งานที่น่าสนใจที่เราเริ่มคิดถึง CDC สำหรับชุดข้อมูลหลักทั้งหมดของเราในเดือนสิงหาคม 21 และนำไปใช้ เราทำงานเกี่ยวกับไปป์ไลน์ของ CDC มานานกว่าหนึ่งปีโดยมีการเปลี่ยนแปลงซอฟต์แวร์ล่าสุดและการย้ายข้อมูลต้นฉบับทั้งหมด ซึ่งฉันยินดีที่จะแบ่งปันกับคุณในบล็อกนี้ ในช่วงเวลานี้ เราได้เพิ่มฐานข้อมูลจำนวนหนึ่งและเปลี่ยนมาใช้การแบ่งกลุ่มฐานข้อมูลสำหรับแอปพลิเคชันทางธุรกิจที่สำคัญกว่า
ทำไมเราถึงตัดสินใจใช้ CDC?
กรณีการใช้งาน เช่น สถานะการฝากหรือถอน สถานะของเซสชันเกมสำหรับเกมบางเกม การตรวจจับความผิดปกติ แคมเปญแบบเรียลไทม์ โมเดลการเรียนรู้ของเครื่อง การวิเคราะห์การดำเนินงาน และอื่นๆ ต้องการข้อมูลในเวลาใกล้เคียงเรียลไทม์ และยังจำเป็นต้อง บันทึกทุกการเปลี่ยนแปลงในข้อมูล
การตั้งค่าท่อ CDC
คุณจะเริ่มต้นที่ไหนถ้าคุณต้องการตั้งค่าไปป์ไลน์ CDC
- เรียกใช้คลัสเตอร์ kafka โหนดขั้นต่ำ 3
- ดาวน์โหลดตัวเชื่อมต่อ debezium ที่เสถียรซึ่งเข้ากันได้กับเวอร์ชันฐานข้อมูลของคุณ และติดตั้งบนเซิร์ฟเวอร์นายหน้าหรือโหนดเฉพาะของคุณ
- สร้างการเชื่อมต่อเครือข่ายระหว่างอินฟาเรดที่จัดเตรียมไว้
- สร้างผู้ใช้แบบอ่านอย่างเดียวในฐานข้อมูลต้นทาง
- MongoDB:
- มายเอสคิวแอล:
- มายเอสคิวแอล:
- โหลดเพิ่มขึ้นเป็นระยะ : ข้อความค้นหาจำนวนมากส่งผลกระทบต่อเวลาแฝงและท้ายที่สุดคือประสบการณ์ของผู้ใช้ ซึ่งเป็นเหตุผลที่เราตั้งค่าเซิร์ฟเวอร์สำรองเพิ่มเติมเพื่อจัดกำหนดการงานแบบกลุ่ม
- การตัดสินใจทางธุรกิจล่าช้า : การตัดสินใจทางธุรกิจตามข้อมูลจะล่าช้าตามความถี่การสำรวจของเรา
- CDC สามารถใช้เป็นเครื่องมือในการสำรองข้อมูลเพื่อหลีกเลี่ยงการสูญหาย
- การตรวจสอบเพิ่มเติมโดยใช้เครื่องมือ BI หรือเป็นกระบวนการป้อนข้อมูลไปยังไปป์ไลน์ AI/การเรียนรู้ของเครื่อง
เราประสบความสำเร็จอะไรบ้าง?
การย้ายจาก ETL แบบดั้งเดิมไปใช้การนึ่งช่วยแก้ปัญหาใหญ่สองประการนี้ให้กับเรา:
เรียกใช้การเรียก curl เพื่อตรวจสอบสถานะตัวเชื่อมต่อในเครื่องมือตรวจสอบของคุณ
ขั้นตอนถัดไป
CDC ได้รับการพิสูจน์แล้วว่าเป็นแพลตฟอร์มที่มีประสิทธิภาพสำหรับเรา และเรารู้ว่าเราสามารถทำอะไรได้มากกว่านั้น
ในขั้นตอนต่อไป เรากำลังดำเนินการเพิ่มเติมเพื่อดำเนินการดังต่อไปนี้:





































![รายการที่เชื่อมโยงคืออะไร? [ส่วนที่ 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)