บทความที่แปลและตีความจากบทความที่ 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 คือโครงสร้างข้อมูลที่เหมาะสม
ยังไม่มีความคิดเห็น