- เซิร์ฟเวอร์แคชค่าหน่วงต่ำมากและประสิทธิภาพสูง ที่เขียนด้วย C และทำงานเป็นไบนารีเดี่ยว ออกแบบมาสำหรับสภาพแวดล้อม Linux และ macOS แบบ 64 บิต
- รองรับทั้งโปรโตคอล HTTP, Memcache, RESP(Valkey/Redis) และ Postgres Wire จึงสามารถใช้ ไลบรารีไคลเอนต์และ CLI ที่มีอยู่ได้ทันที
- รองรับทั้งการรันเป็นโปรเซสเซิร์ฟเวอร์ หรือการใช้งานแบบฝังโดย รวมซอร์ส C เดี่ยว (
pogocache.c) เข้าไปในแอปพลิเคชันเดิมได้โดยตรง
- บนฮาร์ดแวร์เดียวกัน ใช้ ค่าหน่วงของคำขอต่ำกว่า และ ใช้ CPU cycle น้อยกว่า เมื่อเทียบกับ Redis, Valkey, Dragonfly, Garnet และ Memcache พร้อม สเกลประสิทธิภาพแบบขยายได้ ตั้งแต่เธรดเดียวไปจนถึงหลายคอร์
- มี ตัวเลือกด้านการปฏิบัติการ ความปลอดภัย และการจูน อย่างครบถ้วน เช่น TLS/โทเคนยืนยันตัวตน, ไฟล์ persistence, เพดานหน่วยความจำและนโยบาย eviction, รวมถึงพารามิเตอร์รายละเอียดของ sharding และ hashmap และยังรันได้ทันทีผ่าน Docker image
- ใช้ hashmap แบบ shard ที่มี fan-out สูง บนพื้นฐาน Robin Hood hashing พร้อม lightweight spinlock, event queue (
epoll/kqueue) และ io_uring แบบเลือกใช้ เพื่อให้ได้ โอเวอร์เฮดต่ำ และเป็นอีกทางเลือกในการเพิ่มประสิทธิภาพด้านต้นทุนและพลังงานของโครงสร้างพื้นฐานแคช
5 ความคิดเห็น
ว้าว; นี่สุดยอดมากเลย..
ประสิทธิภาพโหดมาก; เหนือชั้นแบบขาดลอยเลย สุดๆ
พอมีอะไรออกมาใหม่ทีไรก็ติดป้ายว่า "หน่วงต่ำ" "ประสิทธิภาพสูง" กันตลอด
จนรู้สึกเหมือนเป็นคำทางการตลาดไปแล้ว
น่าจะขึ้นอยู่กับว่าใครเป็นคนพูดนะครับ แต่ไลบรารีส่วนใหญ่ที่คนนี้ทำขึ้นมานั้นเร็วมากจริง ๆ
ในมุมของโอเพนซอร์สที่สร้างขึ้นมาใหม่ ถ้าไม่มีอะไรแบบนั้นติดมาด้วยก็คงไม่มีใครเลือกเลยครับ
ผมคิดว่ายุคนี้แม้แต่การเลือกโอเพนซอร์สก็เข้าสู่การแข่งขันแล้ว จึงช่วยไม่ได้ เลยยกเนื้อหาใน repo มาตามต้นฉบับครับ T_T