การปกป้องข้อมูล (Data Protection) เป็นสิ่งที่มีความสำคัญสำหรับระบบจัดเก็บข้อมูล โดยเฉพาะในยุคที่ข้อมูลมีบทบาทสำคัญในทุกองค์กร การสูญหายของข้อมูลจากความล้มเหลวของ ฮาร์ดแวร์คอมพิวเตอร์ (Computer Hardware) หรือปัญหาเครือข่ายเพียงเล็กน้อย อาจก่อให้เกิดความเสียหายร้ายแรงได้ และนี่คือเหตุผลที่ "การเข้ารหัสแบบลบ (Erasure Coding)" กลายเป็นเทคนิคที่ได้รับความนิยมมากขึ้นในการปกป้องข้อมูล
ในบทความนี้จะพาทุกคนไปสำรวจความหมายของ Erasure Coding ว่ามันคืออะไร ?, ทำงานอย่างไร ?,ทำไมถึงควรใช้, ประโยชน์ และข้อควรพิจารณา สำหรับ Erasure Coding ...
การเข้ารหัสแบบลบ (Erasure Coding) เป็นเทคนิคพิเศษที่ช่วยปกป้องข้อมูล และเพิ่มประสิทธิภาพในการจัดเก็บข้อมูล ทำงานผ่านการกระจายข้อมูลสำรองไปยังหลาย ๆ โหนด หรือจุดเก็บข้อมูลต่าง ๆ ทำให้แม้ข้อมูลบางส่วนจะสูญหายไป แต่ระบบก็ยังสามารถกู้คืนข้อมูลได้ โดยที่ไม่จำเป็นต้องมีสำเนาของข้อมูลทั้งหมดในทุกจุดนั่นเอง
สิ่งที่ทำให้การเข้ารหัสแบบลบ หรือ Erasure Coding แตกต่างจากการทำสำเนาแบบปกติ คือ การที่ไม่ต้องเก็บข้อมูลซ้ำกันไว้ทุกโหนด ซึ่งเป็นวิธีที่แม้จะเพิ่มความปลอดภัย แต่ก็ใช้พื้นที่จัดเก็บมาก Erasure Coding ใช้คณิตศาสตร์เข้ามาช่วยสร้าง "พาริตี้ (Parity)" หรือชิ้นส่วนข้อมูลสำรอง แล้วกระจายเก็บไว้ในจุดต่าง ๆ ซึ่งวิธีนี้ช่วยลดภาระการใช้พื้นที่จัดเก็บได้มาก และยังคงประสิทธิภาพในการกู้คืนข้อมูลไว้อยู่ ทำให้เหมาะสมสำหรับระบบที่ต้องการความน่าเชื่อถือ และประหยัดพื้นที่
ภาพจาก : https://stonefly.com/blog/understanding-erasure-coding/
การเข้ารหัสแบบลบ (Erasure Coding) ทำงานโดยการแบ่งข้อมูลออกเป็นชิ้นส่วนเล็ก ๆ และสร้างชิ้นส่วนเพิ่มเติมที่เรียกว่า "รหัสลบ" (Erasure Codes) จากนั้นชิ้นส่วนเหล่านี้จะถูกกระจายไปยังหลาย ๆ โหนดเก็บข้อมูล ผ่านกระบวนการคำนวณทางคณิตศาสตร์ที่ซับซ้อน เพื่อให้มั่นใจว่าข้อมูลต้นฉบับสามารถสร้างขึ้นใหม่ได้ แม้ว่าบางส่วนของข้อมูล และรหัสจะสูญหาย หรือเสียหายไป
ลองนึกภาพง่ายๆ ว่าค่าข้อมูลดั้งเดิมคือ 95 เราจะแบ่งข้อมูลออกเป็นสองค่า เช่น x = 9 และ y = 5 กระบวนการเข้ารหัสจะสร้างสมการทางคณิตศาสตร์ขึ้นมาเป็นชุด สมการที่สร้างขึ้นอาจมีลักษณะดังนี้
เมื่อเราต้องการสร้างข้อมูลดั้งเดิมขึ้นมาใหม่ เราแค่ต้องใช้สมการใดก็ได้สองในสามสมการเพื่อแก้หาค่า x และ y และเมื่อแก้สมการทั้งคู่ เราก็จะได้ค่าของ x และ y กลับมา เราสามารถกู้คืนข้อมูลเดิมได้จากสมการเพียง 2 สมการซึ่งกระบวนการนี้เป็นตัวอย่างของ Erasure Coding นั่นเอง
ภาพจาก : https://stonefly.com/blog/understanding-erasure-coding/
หนึ่งในข้อได้เปรียบหลักของ การเข้ารหัสแบบลบ (Erasure Coding) คือความสามารถในการเพิ่มความทนทานต่อความล้มเหลว ในระบบจัดเก็บข้อมูลที่ใช้เทคนิคนี้ ข้อมูลสามารถสร้างขึ้นใหม่ได้ แม้ว่าโหนด (Nodes) จัดเก็บบางส่วนจะไม่สามารถเข้าถึงได้ หรือข้อมูลบางส่วนสูญหาย ทำให้ Erasure Coding สำคัญอย่างมากในสภาพแวดล้อมจัดเก็บข้อมูลแบบกระจาย ที่มักมีปัญหาเกี่ยวกับฮาร์ดแวร์ หรือเครือข่ายบ่อยครั้ง
ภาพจาก : https://www.linkedin.com/pulse/what-erasure-coding-why-should-we-use-joeri-van-speybroek
เมื่อเทียบกับวิธีการทำสำเนาข้อมูลแบบเดิม Erasure Coding ช่วยลดภาระพื้นที่จัดเก็บได้อย่างมาก โดยการกระจายพาริตี้ (Parity) หรือรหัสลบไปยังหลายโหนด มันสามารถสร้างความซ้ำซ้อนของข้อมูลได้โดยไม่ต้องทำสำเนาทั้งหมด วิธีนี้ช่วยประหยัดพื้นที่จัดเก็บ และลดต้นทุนได้
Erasure Coding ช่วยให้ข้อมูลมีความทนทาน และน่าเชื่อถือมากขึ้น โครงสร้างแบบกระจายของข้อมูลที่เข้ารหัสช่วยให้ระบบสามารถกู้คืนข้อมูลได้ แม้ว่าจะเกิดความล้มเหลวหลายครั้งในเวลาเดียวกัน เหมาะอย่างยิ่งในกรณีที่ความสมบูรณ์ของข้อมูลมีความสำคัญ เช่น บริการจัดเก็บข้อมูลบนคลาวด์ (Cloud Storage) หรือระบบจัดเก็บข้อมูลสำคัญในระยะยาว
ภาพจาก : https://thesciencebehindit.org/how-secure-is-data-stored-in-the-cloud/
แม้ว่า การเข้ารหัสแบบลบ (Erasure Coding) จะมีข้อได้เปรียบมากมาย แต่มันต้องใช้การคำนวณที่ซับซ้อน กระบวนการเข้ารหัสและถอดรหัส ต้องใช้สมการคณิตศาสตร์ที่ซับซ้อน ซึ่งอาจส่งผลต่อประสิทธิภาพของระบบ องค์กรจำเป็นต้องประเมินทรัพยากรคำนวณ และเลือกวิธีการใช้ Erasure Coding ที่เหมาะสมกับโครงสร้างพื้นฐาน
ซึ่งวิธีแก้ไข อาจพิจารณาถึงการเพิ่มประสิทธิภาพฮาร์ดแวร์ เพื่อช่วยด้านการคำนวณที่ซับซ้อน ใช้อุปกรณ์ฮาร์ดแวร์พิเศษที่เร่งการคำนวณ หรือเลือกอัลกอริธึมการเข้ารหัสที่สมดุลระหว่างประสิทธิภาพการคำนวณ กับการปกป้องข้อมูล ซึ่งสิ่งเหล่านี้หมายความว่าจะต้องมีค่าใช้จ่ายที่เพิ่มมากขึ้นนั่นเอง
สำหรับ RAID (Redundant Array of Independent Disks) และ การเข้ารหัสแบบลบ (Erasure Coding) เป็นวิธีการปกป้องข้อมูลที่ต่างกัน โดย RAID เป็นวิธีที่ใช้เก็บข้อมูลไว้ในหลายที่ หากมี ฮาร์ดดิสก์ (HDD) หนึ่ง หรือหลายลูกล้มเหลว ข้อมูลยังคงมีสำเนาเก็บอยู่ในดิสก์อื่น ๆ เปรียบเสมือนการมีตะกร้าหลายใบ ที่แต่ละใบมีไข่ไก่ของเราอยู่ หากตะกร้าใบหนึ่งหายไป หรือถูกขโมย เรายังมีไข่เหลือในตะกร้าอื่นอยู่
กลับกัน Erasure Coding แทนที่จะเก็บข้อมูลซ้ำกัน Erasure Coding จะทำการแบ่งข้อมูลออกเป็นชิ้นส่วนเล็ก ๆ จากนั้นจะแปลงชิ้นส่วนเหล่านี้เป็นรหัสพิเศษ คล้ายกับการถ่ายรูปแล้วตัดออกเป็นสี่เหลี่ยมเล็กๆ และสับเรียงใหม่จนมองไม่เห็นภาพต้นฉบับ จากนั้นจึงเก็บรหัสเหล่านี้ไว้ในหลายตำแหน่ง หากมีบางส่วนสูญหายหรือเสียหาย เรายังสามารถใช้ชิ้นส่วนที่เหลือในการสร้างข้อมูลกลับคืนมา Erasure Coding ช่วยปกป้องข้อมูลได้แม้ดิสก์หลายลูกจะล้มเหลวพร้อมกัน
RAID เหมาะสำหรับการป้องกันข้อมูลสูญหายเมื่อมีดิสก์ล้มเหลวหนึ่งหรือสองลูก ในขณะที่ Erasure Coding เหมาะในกรณีที่ต้องการปกป้องข้อมูลแม้จะมีความล้มเหลวเกิดขึ้นในหลายดิสก์ อีกทั้งยังใช้พื้นที่จัดเก็บน้อยกว่าเมื่อเทียบกับการทำสำเนาแบบ RAID
ภาพจาก : https://www.storage-insider.de/was-ist-erasure-coding-a-589045/
การเข้ารหัสแบบลบ (Erasure Coding) แตกต่างจากการทำสำเนาข้อมูลแบบดั้งเดิมที่ต้องเก็บสำเนาข้อมูลครบถ้วนไว้ในหลายโหนด โดยใช้สมการคณิตศาสตร์ในการกระจายข้อมูลสำรองไปยังโหนดอื่น ๆ ซึ่งช่วยลดภาระการใช้พื้นที่จัดเก็บได้อย่างมาก ช่วยเพิ่มความทนทานต่อความล้มเหลว และลดการใช้พื้นที่จัดเก็บได้ดี อย่างไรก็ตามข้อเสียหลักคือการใช้พลังการประมวลผลที่สูง ดังนั้นการนำ Erasure Coding มาใช้ก็ควรสอดคล้องประสิทธิภาพของฮาร์ดแวร์ให้เหมาะสมนั่นเอง
|