29 คะแนน โดย scalalang2 2023-08-31 | ยังไม่มีความคิดเห็น | แชร์ทาง WhatsApp

บทความที่แปลและตีความจากบทความที่ Jay Kreps ผู้พัฒนา Apache Kafka เขียนไว้ในปี 2013 บน Linkedin

  • Log: สตอเรจที่ถูกทำให้เป็นนามธรรมอย่างเรียบง่ายที่สุด รองรับได้เพียงการ append-only และเป็นโครงสร้างข้อมูลที่เหตุการณ์ทั้งหมดถูกเรียงตามลำดับเวลา
    • ในการทำ replication ในระบบฐานข้อมูลแบบดั้งเดิม Log มีบทบาทสำคัญ
    • ระบบกระจายที่อาศัย state machine replication โดยแท้จริงแล้วก็คือระบบที่ทำ replication ของ Log
  • Log และตารางมีความเป็นสิ่งเดียวกัน
    • หากยกตัวอย่างธนาคาร Log คือบันทึกรายการฝากถอน ส่วนตารางคือยอดคงเหลือของบัญชี สามารถสร้างตารางจาก Log ได้ และในทางกลับกันก็สามารถดึง Log ออกจากตารางได้
  • หลายบริษัทกระตือรือร้นกับการนำ Big Data มาใช้ แต่กลับให้ความสนใจกับการสร้าง data pipeline ที่เชื่อถือได้น้อยกว่า
    • วิธีเชื่อมข้อมูลแบบ End-to-End ยิ่งทำได้ยากขึ้นเรื่อย ๆ จากปัญหาความขัดข้อง การบำรุงรักษา การกระจัดกระจายของข้อมูล และการพัฒนาของ event data
    • แนวคิดของ Apache Kafka เริ่มต้นจากแรงจูงใจที่ว่าควรทำให้โครงสร้างข้อมูลอย่าง Log ถูกทำให้เป็นนามธรรมเป็นเลเยอร์เครือข่ายหลัก
    • Jay Kreps อธิบายไว้ใน Quora ว่าในอดีต message queue เป็นสาขาที่ค่อนข้างเฉพาะทางมากในโลกอินฟราสตรักเจอร์ เขาจึงมองว่าควรทำให้ข้อมูลเรียลไทม์ถูกทำให้เป็นนามธรรมในรูปของ event stream และอธิบายว่า commit log แบบมี persistence คือโครงสร้างข้อมูลที่เหมาะสม

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น