ฐานข้อมูลการทำธุรกรรม
RAID-5ค่อนข้างช้าในการเขียนเนื่องจากคอนโทรลเลอร์จำเป็นต้องโหลดข้อมูลเพียงพอเพื่อคำนวณพาริตีใหม่บนการเขียน การดำเนินการเขียนจะต้องมีการทำงานของดิสก์อย่างน้อยสี่รายการ:
การอ่านในบล็อกพาริตี
การอ่านในบล็อกเก่า (สมมติว่ามันไม่ได้อยู่ในแคช) เพื่อ XOR ค่ากับ parity block
การเขียนบล็อกพาริตีใหม่ (บล็อกพาริตี้เก่าบล็อกข้อมูลเก่า XOR บล็อกข้อมูลใหม่ XOR)
กำลังเขียนบล็อคข้อมูลใหม่
หากระบบไม่ได้ใช้การแคชการเขียนกลับหมายความว่า opiation เหล่านี้ทั้งหมดอยู่ในเส้นทางที่สำคัญสำหรับการทำให้ I / O สมบูรณ์ บ่อยครั้งนี่เป็นกรณีที่มีการเขียนฐานข้อมูล - ในความเป็นจริงแล้ว Microsoft (ตัวอย่าง) มีโปรแกรมการรับรองสำหรับอุปกรณ์ SAN สำหรับใช้กับเซิร์ฟเวอร์ SQL ที่ต้องการให้ผู้ขายรับประกันพฤติกรรมนี้ บางครั้งอุปกรณ์ RAID-5 รุ่นเก่าไม่ได้ใช้การเพิ่มประสิทธิภาพนี้และต้องคำนวณความเท่าเทียมกันใหม่จากแถบทั้งหมด
RAID-10มีกระจกเงาสำหรับไดรฟ์ทุกตัวและไม่จำเป็นต้องอ่านข้อมูลเพิ่มเติมเพื่อคำนวณพาริตี ซึ่งหมายความว่าการเขียนต้องการ I / O ทางกายภาพน้อยกว่ามาก
RAID-50อยู่ที่ไหนสักแห่งที่อยู่ตรงกลางโดยที่โวลุ่มจะแบ่งออกเป็นโวลุ่ม RAID-5 หลายอัน บน RAID-50 ที่ทำจากกลุ่มสไทรพ์ในรูปแบบ 3 + 1 การเขียนจะสร้างที่การร้องขอดิสก์ I / O เพิ่มเติมสามตัว หากคุณรู้สึกว่าเอียงมากคุณสามารถดู RAID-5 และ RAID-10 เป็นกรณีพิเศษของ RAID-50 RAID-50 ส่วนใหญ่จะใช้เพื่อให้ไดรฟ์ข้อมูลขนาดใหญ่ทั่วดิสก์ทางกายภาพจำนวนมาก
รูปแบบพาริตี้อื่น ๆ เช่น RAID-6 (รูปแบบพาริตี้ที่มีดิสก์ซ้ำซ้อนสองชุดต่อชุด) ยังมีอยู่ดิสก์ที่ทันสมัยมีขนาดใหญ่พอที่ rebulding อาร์เรย์อาจใช้เวลานาน - นานพอที่จะเสี่ยงต่อความล้มเหลวของดิสก์ที่สองในระหว่าง สร้างใหม่ค่อนข้างสำคัญ RAID-6 ช่วยลดความเสี่ยงนี้โดยการมีดิสก์พาริตี้ที่สองซึ่งต้องใช้ดิสก์ที่ล้มเหลวสามครั้งเพื่อทำให้ข้อมูลสูญหาย เคล็ดลับที่คล้ายกับแบบแผน RAID-50 สามารถนำมาใช้เพื่อสร้างอาร์เรย์ RAID-60
ในที่สุดคู่มิรเรอร์เดียว (รู้จักกันในชื่อ RAID-1) สามารถให้ความซ้ำซ้อนและประสิทธิภาพที่ดีพอสำหรับงานบางอย่าง โดยเฉพาะอย่างยิ่งคุณอาจพบว่า RAID-1 ทำให้คุณมีปริมาณงานเพียงพอสำหรับปริมาณข้อมูลบันทึกฐานข้อมูลจำนวนมาก เพิ่มเติมเกี่ยวกับเรื่องนี้ด้านล่าง
หากคุณมีภาระงานเขียนหนักคุณอาจได้รับประสิทธิภาพจากโวลุ่ม RAID-10 นี่อาจเป็นชัยชนะเนื่องจากคุณสามารถรับปริมาณงานที่ต้องการจากดิสก์ทางกายภาพจำนวนน้อยกว่าโดยสมมติว่าดิสก์มีพื้นที่เพียงพอ) บางรายการเช่นบันทึกหรือพื้นที่ temporay บนเซิร์ฟเวอร์ฐานข้อมูลควรอยู่ในโวลุ่ม RAID-1 หรือโวลุ่ม RAID-10 เนื่องจากสิ่งเหล่านี้จะได้รับปริมาณข้อมูลการเขียนจำนวนมาก
ท่อน
ปริมาณการบันทึกถูกกำหนดโดยรูปแบบการเข้าถึงข้อมูลตามลำดับส่วนใหญ่และโดยพื้นฐานแล้วเป็นบัฟเฟอร์วงแหวนซึ่งประกอบด้วยคำสั่งตามบรรทัดของ 'เขียนข้อมูลนี้ไปยังบล็อกนี้' พวกเขาถูกเขียนออกมาในฐานะผู้ผลิตโดยเครื่องยนต์หลัก DBMS และประมวลผลเป็นตัวนับ โดยฟังก์ชั่นเครื่องอ่านบันทึก คู่มิร์เรอร์เดียวจะจัดการปริมาณข้อมูลบันทึกได้ค่อนข้างมาก
ระบบที่อ่านยากและไฟล์เซิร์ฟเวอร์
บนระบบที่อ่านยากเช่นคลังข้อมูลคุณอาจต้องการใช้โวลุ่ม RAID-5 หนึ่งรายการขึ้นไป บนเซิร์ฟเวอร์ไฟล์การเข้าถึงดิสก์ส่วนใหญ่จะทำในรูปแบบไฟล์ทั้งหมดดังนั้นการเขียนอาจจะเขียนบล็อกส่วนใหญ่ที่ประกอบเป็นบล็อกพาริตีอยู่ดี ในกรณีนี้ประสิทธิภาพการเร่งความเร็วสำหรับ RAID-5 จะเบาลง
ในอดีตการประหยัดค่าใช้จ่ายในดิสก์อาจมีความสำคัญ แต่ตอนนี้มีแนวโน้มที่จะมีปัญหาน้อยลง
แคชการเขียนกลับและ RAID-5
ใน SAN หรือคอนโทรลเลอร์ RAID ภายในที่มีแคชแบตเตอรี่สำรองคุณอาจสามารถเปิดใช้งานการแคช 'เขียนกลับ' แคชนี้เขียนและส่งคืนการควบคุมแอปพลิเคชัน I / O รายงานโดยคอนโทรลเลอร์เมื่อเสร็จสมบูรณ์ อย่างไรก็ตามไม่จำเป็นต้องเขียนข้อมูลลงดิสก์ทันที สิ่งอำนวยความสะดวกนี้ช่วยให้การดำเนินการอ่าน / เขียนของพาริตี้ RAID-5 นั้นได้รับการปรับให้เหมาะสมที่สุดและสามารถทำให้ประสิทธิภาพการเขียนลดลงสำหรับโวลุ่ม RAID-5x
อย่างไรก็ตามสิ่งนี้ยังคงมีความเสี่ยงเล็กน้อยในเรื่องความถูกต้องของข้อมูล ระบบโฮสต์ได้รับแจ้งว่าการเขียนนี้เสร็จสมบูรณ์เมื่อไม่ได้เกิดขึ้นจริง เป็นไปได้สำหรับความล้มเหลวของฮาร์ดแวร์สร้างข้อมูลที่ไม่สอดคล้องกันระหว่างบันทึก (พูด) และปริมาณข้อมูลบนเซิร์ฟเวอร์ฐานข้อมูล ด้วยเหตุนี้การแคชการเขียนกลับไม่แนะนำให้ใช้กับระบบธุรกรรมแม้ว่ามันอาจจะเป็นผลงานที่มีประสิทธิภาพสำหรับกระบวนการ ETL
สรุป
พื้นที่ดิสก์มีราคาถูกมากในปัจจุบันซึ่งระบบธุรกรรมอาจใช้ RAID-1 หรือ RAID-10 สำหรับโวลุ่มการบันทึกและ RAID-10 สำหรับโวลุ่มข้อมูล ขนาดฟิสิคัลดิสก์มีแนวโน้มที่จะใหญ่กว่าฐานข้อมูลมากและ RAID-10 จะอนุญาตให้ทรูพุตการเขียนสำหรับดิสก์จำนวนเดียวกันมากขึ้นซึ่งอาจช่วยลดจำนวนของดิสก์โวลุ่มที่จำเป็นสำหรับการรองรับระบบ
ในบางสิ่งบางอย่างเช่นคลังข้อมูลคุณยังสามารถเคี้ยวพื้นที่ด้วยตารางข้อเท็จจริงจำนวนมากที่มีการจัดทำดัชนีอย่างหนักดังนั้นคุณอาจได้รับรางวัลราคาเล็กน้อยด้วยโวลุ่มข้อมูล RAID-5 หรือ RAID-50 อย่างไรก็ตามบันทึกและ tempdb ควรยังคงอยู่ในโวลุ่ม RAID-10 เนื่องจากอาจทำงานได้มากระหว่างการประมวลผล ETL อย่างไรก็ตามการประหยัดต้นทุนบนดิสก์น่าจะค่อนข้างเล็ก