System Design 101: คู่มือภาพราว 400 ชิ้นของ ByteByteGo ควรเริ่มอ่านจากตรงไหน
ByteByteGo รวมคู่มือ system design ที่สรุปหนึ่งเรื่องไว้ในภาพเดียวราว 400 ชิ้น แต่สารบัญบน GitHub มีเพียงลิงก์ที่พาไปยังหน้าเว็บแต่ละชิ้น บทความนี้แนะนำคู่มือสามชิ้นแรกที่ควรเปิดอ่าน และวิธีเลือกหมวดถัดไปจากงานที่ทำอยู่

ทีม ByteByteGo ทำคู่มือ system design ไว้ราว 400 ชิ้น แต่ละชิ้นสรุปหนึ่งเรื่องจบในภาพเดียว คู่มือทั้งหมดแบ่งเป็น 15 หมวด โดยมีสารบัญรวมไว้ในโปรเจกต์ System Design 101 บน GitHub โปรเจกต์ระบุเป้าหมายไว้ว่าต้องการอธิบายระบบที่ซับซ้อนด้วยภาพและคำง่าย ๆ เพื่อให้ใช้ได้ทั้งกับคนที่กำลังเตรียม system design interview และคนที่แค่อยากรู้ว่าระบบที่ใช้ทุกวันทำงานอย่างไรอยู่เบื้องหลัง
เมื่อเปิด repo จะเจอลิสต์ยาวเหยียดโดยไม่มีอะไรบอกว่าควรเริ่มจากบรรทัดไหน วิธีใช้ให้ได้ประโยชน์คือเปิดอ่านไม่กี่ชิ้นเพื่อสร้างแผนที่ในหัวก่อน แล้วค่อยเจาะหมวดที่ตรงกับงานตรงหน้า
คู่มือหนึ่งชิ้นหน้าตาเป็นแบบนี้

เนื้อหาทั้งหมดอยู่ในภาพเดียว โดยวาง indexing · materialized views · denormalization · vertical scaling · caching · replication · sharding ไว้รอบวงกลมตรงกลาง แล้วแตกแต่ละเรื่องออกเป็นคำอธิบายสั้น ๆ กับไดอะแกรมย่อย คนที่ยังไม่มีภาพรวมจะได้เห็นก่อนว่ามีทางเลือกอะไรบ้าง แล้วค่อยไปอ่านรายละเอียดของวิธีที่ต้องใช้จริง
เริ่มจากสามชิ้นนี้ก่อน

ทั้งสารบัญใน repo และหน้ารวมคู่มือบนเว็บไม่ได้จัดลำดับการเรียนหรือบอกระดับความยากไว้ ลำดับข้างล่างจึงเป็นข้อเสนอของบทความนี้เอง โดยเลือกจากชื่อและตำแหน่งของคู่มือในสารบัญ ไม่ใช่จากการไล่อ่านเนื้อหาทีละชิ้น
- System Design Blueprint: The Ultimate Guide เปิดชิ้นนี้ก่อนเพื่อดูโครงใหญ่ ระหว่างดูให้ถามว่าแผนภาพแบ่งระบบหนึ่งออกเป็นกี่ชั้น และระบบที่ดูแลอยู่ตอนนี้อยู่ตรงไหนในแผนภาพนั้น
- Must Know System Design Building Blocks ชิ้นถัดไปพาลงมาดูส่วนประกอบ ระหว่างดูให้สังเกตว่าชิ้นส่วนไหนโผล่ซ้ำจนต้องจำชื่อและหน้าที่ให้ได้
- 10 System Design Tradeoffs You Cannot Ignore ปิดชุดแรกด้วยเรื่อง tradeoff เพราะ system design ไม่ได้จบแค่การรู้จักส่วนประกอบ แต่ต้องตอบให้ได้ด้วยว่ายอมเสียอะไรเพื่อแลกกับอะไร ระหว่างดูให้ลองจับคู่แต่ละข้อกับสิ่งที่ทีมเลือกไว้แล้วในระบบของตัวเอง
ลำดับสามชิ้นนี้ไม่ได้ทำให้ออกแบบระบบเป็น แต่มีไว้สร้างกรอบสำหรับเลือกอ่านคู่มืออีกเกือบสี่ร้อยชิ้นต่อ
เลือกทางต่อจากงานที่ทำอยู่
พอมีแผนที่แล้ว ทางที่เหลือควรเลือกจากงานที่เจออยู่ตรงหน้า ไม่ใช่ไล่ตามลำดับหมวดในสารบัญ
| งานที่ทำอยู่ | หมวดบนหน้ารวมคู่มือ | คู่มือที่ชื่อบอกว่าตรงกับงานนั้น |
|---|---|---|
| ออกแบบและต่อ API แทบทุกวัน | API and Web Development | The Ultimate API Learning Roadmap |
| query ช้า ฐานข้อมูลเริ่มตัน | Database and Storage · Caching & Performance | Database Scaling Cheatsheet · Learn Cache |
| ระบบโตจนต้องกระจายหลายเครื่องหรือย้ายขึ้น cloud | Cloud & Distributed Systems | AWS Services Cheat Sheet |
| อยากเห็นระบบจริงประกอบกันยังไง | Real World Case Studies | Netflix Tech Stack · 100X Postgres Scaling at Figma |
ถ้าทำงานกับ API อยู่แล้ว แถวแรกใช้เรื่องที่เจอทุกวันเป็นจุดเริ่มต้น ส่วนหมวด Real World Case Studies ใช้ระบบจริงเป็นตัวอย่างว่าเทคโนโลยีแต่ละตัวอยู่ในชั้นไหน ดังภาพ Netflix Tech Stack ด้านล่าง

ภาพนี้รวมตั้งแต่ Kotlin กับ Swift ฝั่ง mobile · React ฝั่ง frontend · Spring Boot กับ Kafka ฝั่ง backend ไปจนถึง Spark กับ Flink ฝั่ง data ภาพนี้จึงช่วยให้เห็นว่าเทคโนโลยีแต่ละตัวอยู่ตรงไหนในระบบเดียวกัน แทนที่จะเห็นเป็นรายชื่อแยกกัน
เปิดจากเว็บ ไม่ใช่จาก repo

repo ของ System Design 101 มีเพียงสารบัญ หน้า README ไม่มีไดอะแกรมสักอันและไม่มีไฟล์เนื้อหาให้อ่าน ลิงก์ในสารบัญพาไปยังหน้าคู่มือบนเว็บไซต์ bytebytego.com ซึ่งเป็นของทีมเดียวกัน ดังนั้นการ clone repo มาไว้ในเครื่องจึงไม่ได้เนื้อหาคู่มือติดมาด้วย
อีกเหตุผลที่ควรยึดหน้าเว็บเป็นหลักคือ README ไม่ได้อัปเดตมาตั้งแต่ปีที่แล้ว หมวด AI and Machine Learning กับ Technical Interviews ยังว่างอยู่ในสารบัญ ทั้งที่บนเว็บมีคู่มือ 8 และ 5 ชิ้นตามลำดับ คู่มืออย่าง How does ChatGPT work? ก็มีอยู่บนเว็บโดยไม่มีชื่ออยู่ใน README เลย วิธีใช้สองแหล่งนี้ร่วมกันคือ bookmark หน้าเว็บไว้อ่าน แล้วเก็บ repo ไว้ไล่ดูชื่อคู่มือเวลานึกไม่ออกว่าเรื่องที่ต้องการชื่ออะไร
ชุดนี้เป็นแผนที่หัวข้อ ไม่ใช่หลักสูตร
จุดเด่นของชุดคู่มือนี้คือช่วยให้เห็นว่าแต่ละเรื่องอยู่ตรงไหนของภาพใหญ่ และเปิดอ่านให้จบเป็นเรื่อง ๆ ได้เร็ว แต่ชุดนี้ไม่มีลำดับการเรียน ระดับความยาก หรือเส้นทางที่บอกว่าต้องรู้อะไรมาก่อนจึงจะอ่านชิ้นถัดไปรู้เรื่อง คนอ่านจึงต้องจัดลำดับเอง ซึ่งจะง่ายขึ้นมากเมื่อเลือกจากงานที่ทำอยู่แทนการไล่ตามสารบัญ
บทความนี้พิจารณาเฉพาะสารบัญใน repo กับหน้ารวมคู่มือเท่านั้น ไม่ได้เปิดหน้าคู่มือรายชิ้น จึงยังตอบไม่ได้ว่าแต่ละหน้ามีอะไรนอกจากภาพ หรือมีเงื่อนไขการเข้าถึงแบบไหน สิ่งที่ยืนยันได้คือดูรายชื่อคู่มือในสารบัญได้ และลิงก์ทุกอันพาไปยังหน้าคู่มือของ ByteByteGo โดยตรง
ที่มา:
- โปรเจกต์ System Design 101 บน GitHub
- หน้ารวมคู่มือ Engineering Visual Guides ของ ByteByteGo
ชอบเรื่องแนวนี้ มีอีบุ๊คฟรีให้อ่านต่อ
NotebookLM ฉบับเข้าใจง่าย โยนเอกสารให้ AI อ่าน แล้วได้สรุป พอดแคสต์ และคลังความรู้ส่วนตัว
กดสมัครแล้วเราจะส่งเทคนิค AI และของแจกใหม่ๆ ให้ทางอีเมล เลิกรับได้ตลอด
Claude Cowork · The Business Playbook

ฉบับภาษาไทย 15 บท เรียนรู้ผ่านโปรเจกต์จำลองต่อเนื่องทั้งเล่ม ตั้งแต่ตั้งค่า Workspace จัดการไฟล์ เชื่อมแอป ตั้งระบบอัตโนมัติ จนถึงสร้าง Plugin


