รีวิวหนังสือ: Design Data-Intensive Applications

By KDBEER | Last updated Nov 22, 2020
รีวิวหนังสือ:-Design-Data-Intensive-Applications-5fba74fb52f66fbb2ae8fafe

Part 1: Foundations Of Data Systems

พูดถึงไอเดียในการสร้าง Data System ครับ เช่นระบบที่ออกแบบขึ้นมาควรจะรันอยู่บน VM เครื่องเดียว หรือว่าจะให้อยู่บน Cluster การออกแบบระบบเราควรคำนึกถึงอะไรบ้างและมีวิธีทำยังไง ได้แก่ ความน่าเชื่อถือ (reliability) การ scale (scalability) และการบำรุงรักษา (maintainability)

วิเคราะห์ data model และภาษาในการ query เช่น SQL, NoSQL และมี factor อย่างไรบ้างในการเลือกใช้แต่ละแบบ

พูดถึง storage engine แล้วแต่ละแบบมันวาง layer อย่างไร

data encoding แบบต่างๆ เช่น JSON, XML และ data flow เช่น REST, RPC

Part 2 : Distribute Data

บทแรกพูดถึง Idea ต่างๆ แต่อาจจะยังอยู่บน scale เล็กๆ เช่น machine เครื่องเดียว แต่ถ้ามี machine ที่มากขึ้น ใช้ Volumn มากขึ้น เรายังจะมองในมุมของบทแรกได้ไหม เราจะ scale มันอย่างไร (replication, partitioning)

ถ้า scale แล้วมีเครื่องมากขึ้นจะ handle ยังไง ถ้าอยู่ดีๆ server ล่มจะ handle ยังไง 

และก็พูดถึง latancy ครับ ว่าถ้ามี user กระจายอยู่ทั่วโลกเนี่ย จะจัดการยังไง ให้แต่ละคนเข้าถึง service ในความเร็ว ที่เท่าๆ กัน

Part 3 : Derived Data

ในความเป็นจริง ระบบบางระบบที่มีความซับซ้อนมากๆ การจัดการกับ Data มันทำแบบออนไลน์เสมอไม่ได้ เช่น google คงไม่ค้นหาข้อมูลจาก database ที่เก็บข้อมูลโดยตรง แต่ไปค้นหาจาก data ที่ process ไว้เพื่อ search engine จะดีกว่า

เพราะฉะนั้น บทนี้ก็จะพูดถึงการ Integrate data ว่ามีแนวทางแบบไหนบ้าง เช่น Batch Processing, Stream Processing เป็นต้น