พรีเซล $EX5 — ระดับ Seed · อุปทานคงที่ 500M · เผา 50% · ลงทะเบียนที่ portal.ex5.comเข้าร่วม →
อัปเดต

Erasure Coding

โดยสรุป: Erasure coding คือการจัดเก็บข้อมูลในหลายตำแหน่งด้วยการแบ่งข้อมูลออกเป็นส่วน ขยาย และเข้ารหัสด้วยข้อมูลซ้ำซ้อน จากนั้นจึงสามารถสร้างข้อมูลต้นฉบับขึ้นใหม่ได้จากชิ้นส่วนเพียงบางส่วน…

Erasure coding คือการจัดเก็บข้อมูลในหลายตำแหน่งด้วยการแบ่งข้อมูลออกเป็นส่วน ขยาย และเข้ารหัสด้วยข้อมูลซ้ำซ้อน จากนั้นจึงสามารถสร้างข้อมูลต้นฉบับขึ้นใหม่ได้จากชิ้นส่วนเพียงบางส่วน แม้ว่าบางชิ้นจะสูญหายไปก็ตาม

เหตุใดจึงสำคัญ

การเก็บสำเนาข้อมูลฉบับเต็มไว้หลายแห่งนั้นง่ายแต่มีค่าใช้จ่ายสูง เพราะสำเนาเพิ่มเติมแต่ละชุดต้องใช้พื้นที่จัดเก็บเต็มจำนวนอีกครั้ง Erasure coding ให้ความทนทานระดับเดียวกันโดยใช้พื้นที่น้อยกว่ามาก จึงถูกนำไปใช้ในศูนย์ข้อมูล การจัดเก็บบนคลาวด์ และเครือข่ายการจัดเก็บแบบกระจายศูนย์ที่กระจายชิ้นส่วนไฟล์ไปยังผู้ดำเนินการอิสระ การออกแบบเพื่อขยายขนาดบล็อกเชนบางแบบยังอาศัยเทคนิคนี้สำหรับการสุ่มตรวจความพร้อมใช้งานของข้อมูล (data availability sampling) โดยข้อมูลบล็อกจะถูกขยายด้วยข้อมูลซ้ำซ้อน เพื่อให้ไลต์โหนด (light node) ตรวจสอบได้ว่าข้อมูลถูกเผยแพร่แล้วด้วยการดาวน์โหลดเพียงไม่กี่ชิ้นแบบสุ่ม ข้อแลกเปลี่ยนคือการคำนวณเพิ่มเติมเพื่อเข้ารหัสและสร้างข้อมูลขึ้นใหม่ รวมถึงปริมาณการรับส่งข้อมูลบนเครือข่ายที่เพิ่มขึ้นเมื่อต้องซ่อมแซมชิ้นส่วนที่สูญหาย

ตัวอย่าง

เมื่อใช้รหัส Reed-Solomon ไฟล์หนึ่งจะถูกแบ่งเป็นชิ้นข้อมูลสี่ชิ้น และคำนวณชิ้นพาริตี (parity) เพิ่มอีกสองชิ้นจากชิ้นข้อมูลเหล่านั้น ชิ้นส่วนทั้งหกถูกจัดเก็บบนเซิร์ฟเวอร์หกเครื่องที่ต่างกัน และชิ้นส่วนใดก็ได้สี่ชิ้นก็เพียงพอที่จะสร้างไฟล์ขึ้นใหม่ ไฟล์จะยังอยู่รอดแม้เซิร์ฟเวอร์ใดก็ได้สองเครื่องจะเสียหาย โดยใช้พื้นที่หนึ่งเท่าครึ่งของขนาดเดิม ในขณะที่การเก็บสำเนาเต็มสามชุดเพื่อรองรับความล้มเหลวสองครั้งจะใช้พื้นที่ถึงสามเท่า

คำที่เกี่ยวข้อง