ชุมชนเทคโนโลยีถกเถียงทางเลือกการแคช SSD หลังจาก Upsun ลดต้นทุน Bandwidth ได้ 95% ด้วย dm-cache

ทีมชุมชน BigGo
ชุมชนเทคโนโลยีถกเถียงทางเลือกการแคช SSD หลังจาก Upsun ลดต้นทุน Bandwidth ได้ 95% ด้วย dm-cache

หลังจากที่ Upsun ประสบความสำเร็จอย่างน่าประทับใจในการลดต้นทุน bandwidth ของ AWS ลงได้ 95% โดยใช้ dm-cache สำหรับการแคชแบบ local SSD ชุมชนเทคโนโลยีได้เริ่มการอภิปรายที่คึกคักเกี่ยวกับโซลูชันการแคชทางเลือกและข้อดีข้อเสียของแต่ละวิธี เรื่องราวความสำเร็จของบริษัทนี้ได้กระตุ้นให้นักพัฒนาและวิศวกรโครงสร้างพื้นฐานมาแบ่งปันประสบการณ์ของพวกเขากับเทคโนโลยีการแคชที่แตกต่างกัน และตั้งคำถามสำคัญเกี่ยวกับความสอดคล้องของข้อมูลและการปรับปรุงประสิทธิภาพ

ผลการทดสอบประสิทธิภาพ dm-cache ของ Upsun:

  • ลดการรับส่งข้อมูลผ่านเครือข่ายในการอ่านลง 95%
  • ปรับปรุง IOPS สำหรับการทำงานที่ใช้แคชเพิ่มขึ้น 30 เท่า
  • ลดเวลาในการอ่านข้อมูล (read latency) ลง 50%
  • เพิ่มแบนด์วิดท์การอ่านสำหรับข้อมูลที่เข้าถึงบ่อยขึ้น 30 เท่า
  • ขนาดแคช: 512MB ให้บริการ RBD volumes ขนาด 5-50GB

โซลูชันการแคชทางเลือกได้รับความสนใจ

การอภิปรายในชุมชนได้เน้นย้ำทางเลือกหลายอย่างแทน dm-cache ที่นักพัฒนาได้ใช้ในสถานการณ์ที่คล้ายกัน แนวทางของ Discord ที่ใช้สิ่งที่บางคนจำได้ว่าเป็น SuperDisks ได้กลับมาเป็นที่พูดถึงในการสนทนา โดยพวกเขาใช้กลยุทธ์การ mirroring กับ remote block devices ที่ทำการ mirror แบบ lazy ไปยัง local SSD วิธีนี้ให้ความสำคัญกับการอ่านจากอุปกรณ์ local ในขณะที่ให้แน่ใจว่าการเขียนจะไปที่ทั้งสองตำแหน่ง ซึ่งเป็นแนวทางที่แตกต่างในการแก้ไขปัญหาการแคช

Open-CAS ได้กลายเป็นอีกหนึ่งตัวเลือกที่น่าสนใจ โดยสมาชิกในชุมชนแนะนำว่าอาจให้ประสิทธิภาพที่ดีกว่า dm-cache โซลูชันการแคชนี้ได้รับการดูแลโดย Intel และ Huawei และได้รับความสนใจจากประโยชน์ด้านประสิทธิภาพที่เป็นไปได้ แม้ว่านักพัฒนาบางคนจะแสดงความกังวลเกี่ยวกับการเปลี่ยนแปลงการดูแลจาก Intel ไปเป็น Huawei หลังจากที่ Intel ลดทีมพัฒนาซอฟต์แวร์จัดเก็บข้อมูล

หมายเหตุ: Open-CAS (Open Cache Acceleration Software) เป็นโซลูชันการแคช block storage แบบโอเพนซอร์สที่ออกแบบมาเพื่อปรับปรุงประสิทธิภาพโดยใช้อุปกรณ์จัดเก็บข้อมูลที่เร็วเป็นแคชสำหรับการจัดเก็บที่ช้ากว่า

การเปรียบเทียบโซลูชันแคชชิง:

  • dm-cache: โซลูชัน Linux device mapper ที่มีผลลัพธ์ที่พิสูจน์แล้ว แต่ชุมชนยังคงถกเถียงเกี่ยวกับทางเลือกอื่น
  • bcache: ในอดีตถือว่ามีการออกแบบที่ดีกว่า dm-cache
  • Open-CAS: ดูแลโดย Intel / Huawei อาจมีประสิทธิภาพสูงกว่า
  • แนวทางของ Discord: การมิเรอร์ remote block device พร้อมการให้ความสำคัญกับ SSD ในเครื่อง

ความกังวลเรื่องความสอดคล้องของข้อมูลจุดประกายการถกเถียงทางเทคนิค

ส่วนสำคัญของการอภิปรายในชุมชนมุ่งเน้นไปที่ความท้าทายด้านความสอดคล้องของข้อมูลเมื่อใช้ชั้นการแคชหน้า distributed filesystems นักพัฒนาได้แสดงความกังวลเกี่ยวกับปัญหา coherency โดยเฉพาะในสภาพแวดล้อมแบบหลายโหนดที่หลายระบบอาจทำการเขียนพร้อมกัน

การถกเถียงระหว่าง write-back กับ write-through ได้พิสูจน์แล้วว่าเป็นเรื่องที่ถกเถียงกันอย่างรุนแรง ในขณะที่ Upsun เลือกโหมด write-through เพื่อความสมบูรณ์ของข้อมูลในสภาพแวดล้อม e-commerce ของพวกเขา สมาชิกในชุมชนได้ชี้ให้เห็นว่าแม้แต่แนวทางนี้อาจไม่รับประกันความสอดคล้องสำหรับแอปพลิเคชันที่ทำการดำเนินการ read-then-write ความซับซ้อนจะเพิ่มขึ้นเมื่อพิจารณาปัญหาการเรียงลำดับที่เป็นไปได้และความจำเป็นในการอ่านและเขียนที่สอดคล้องกันในระบบธุรกรรม

dm-cache writeback mode นั้นทั้งน่าทึ่งและน่ากลัว มันจัดเรียงการเขียนใหม่ ดังนั้นไม่เพียงแต่คุณจะสูญเสียข้อมูลหากแคชล้มเหลว คุณอาจทำให้ backing disk ทั้งหมดเสียหายด้วย

หมายเหตุ: โหมด Write-back จัดเก็บการเขียนในแคชชั่วคราวก่อนที่จะยืนยันไปยังการจัดเก็บหลัก ในขณะที่โหมด write-through จะเขียนไปยังทั้งแคชและการจัดเก็บหลักทันที

ข้อพิจารณาทางเทคนิคที่สำคัญ:

  • โหมด write-through: ปลอดภัยกว่าสำหรับความสมบูรณ์ของข้อมูล การเขียนข้อมูลจะข้าม cache
  • โหมด write-back: ประสิทธิภาพดีกว่าแต่มีความเสี่ยงสูงกว่าในการสูญเสียข้อมูล
  • ปัญหาความสอดคล้อง: ความท้าทายในสภาพแวดล้อม distributed filesystem แบบหลายโหนด
  • การกำหนดขนาด cache: ขนาดที่เหมาะสมขึ้นอยู่กับรูปแบบ working set ของแอปพลิเคชัน

การแลกเปลี่ยนระหว่างต้นทุนและประสิทธิภาพถูกตรวจสอบอย่างละเอียด

ชุมชนยังได้ตั้งคำถามเกี่ยวกับเศรษฐศาสตร์พื้นฐานเบื้องหลังค่าใช้จ่าย bandwidth ระหว่าง availability zone นักพัฒนาบางคนโต้แย้งว่าในยุคของเครือข่าย 100 กิกะบิต ค่าใช้จ่ายเหล่านี้แสดงถึงการกำหนดราคาเทียมมากกว่าต้นทุนโครงสร้างพื้นฐานที่แท้จริง การเปรียบเทียบกับผู้ให้บริการคลาวด์อื่นๆ เช่น Azure ที่ไม่เรียกเก็บเงินสำหรับการจราจรภายในภูมิภาค ได้กระตุ้นการอภิปรายว่าโมเดลการกำหนดราคาของ AWS นั้นมีเหตุผลจากข้อจำกัดทางเทคนิคหรือเป็นเพียงการวางตำแหน่งทางการตลาด

สำหรับองค์กรที่จัดการกับชุดข้อมูลขนาดใหญ่และรูปแบบการเข้าถึงแบบสุ่ม ประสิทธิผลของขนาดแคชที่เล็กยังคงเป็นหัวข้อที่ถกเถียงกัน ในขณะที่ Upsun ประสบความสำเร็จอย่างน่าทึ่งด้วยปริมาตรแคช 512MB นักพัฒนาที่ทำงานกับรูปแบบ workload ที่แตกต่างกันตั้งคำถามว่าอัตราการ hit ของแคชที่คล้ายกันจะสามารถทำได้ในสภาพแวดล้อมของพวกเขาหรือไม่

มองไปข้างหน้า

การอภิปรายเผยให้เห็นความสนใจที่เพิ่มขึ้นในโซลูชันการจัดเก็บแบบไฮบริดที่สมดุลระหว่างประสิทธิภาพ ต้นทุน และความน่าเชื่อถือ เนื่องจากต้นทุนโครงสร้างพื้นฐานคลาวด์ยังคงเพิ่มขึ้น องค์กรต่างๆ กำลังสำรวจแนวทางที่สร้างสรรค์เพื่อปรับปรุงสถาปัตยกรรมการจัดเก็บของพวกเขา ประสบการณ์ที่หลากหลายของชุมชนกับเทคโนโลยีการแคชที่แตกต่างกันให้ข้อมูลเชิงลึกที่มีค่าสำหรับทีมที่พิจารณาการใช้งานที่คล้ายกัน แม้ว่าฉันทามติยังคงเป็นว่าการพิจารณาอย่างรอบคอบเกี่ยวกับข้อกำหนดความสอดคล้องของข้อมูลเป็นสิ่งสำคัญสำหรับกลยุทธ์การแคชใดๆ

อ้างอิง: How we cut AWS bandwidth costs 95% with dm-cache: fast local SSD caching for network storage