Rust Systems II — สร้าง Key-Value Store ที่กู้คืนจากการล่มได้ (kaen-kvstore)
ต่อจาก Rust จากศูนย์ (#21): คราวนี้เราสร้างฐานข้อมูลจริง — kaen-kvstore ฐานข้อมูล key-value บนเครือข่ายที่กู้คืนจากการล่มได้ คือ crash กลางคันแล้ว reopen ได้สถานะที่ถูกต้องกลับมา ด้วยภาษาแกน + std เท่านั้น ไม่มี async/tokio ไม่มี serde เราออกแบบ wire protocol เองบน std::net → เก็บลง append-only log + hash index แบบ Bitcask → รับประกัน durability ด้วยลำดับ write→fsync→ack → เก็บกวาดพื้นที่ด้วย tombstones + compaction → รับหลาย client ด้วย ThreadPool ที่ share store ด้วย Arc, Mutex และ RwLock → พิสูจน์ความถูกต้องด้วย crash-consistency test ที่ SIGKILL process จริง → แล้ว benchmark วัด p50/p95/p99 เอง เพื่อเห็น "ภาษี fsync" กับตา ทุกโปรแกรม compile และรันได้จริง ปิดท้ายด้วยการส่งไม้ต่อสู่ Distributed Systems (#23) 8 บทลงมือจริง