มีกลุ่มหนึ่งที่เห็นด้วยกับ HDD ว่ามันจะเป็นประโยชน์ในการแยกพวกเขายังคงอ้างว่าสำหรับไดรฟ์ SSD ซึ่งไม่จำเป็นอีกต่อไป
ดังนั้นสำหรับพวกเขาฉันอยากถามว่า "ถ้าไม่มีปัญหาเรื่องความขัดแย้งแล้วทำไม RAID 10 ล่ะไม่ต้องลอกอีกต่อไป! ดังนั้นการสร้างความวุ่นวายเพียงอย่างเดียวก็เพียงพอแล้วและแน่นอนไม่จำเป็นต้องมี 8 ไดรฟ์ 2x ฐานข้อมูล ขนาดควรพอเพียง! "
อย่างไรก็ตามความจริงก็คือถ้าสิ่งที่ต้องการ RAID 10 เป็นไฟล์บันทึก!
นี่ไม่ใช่เพียงเพราะปัญหาของการเรียงตามลำดับเทียบกับการสุ่ม (ดูแหล่งข้อมูลด้านล่าง) แต่จริงๆแล้วมันสำคัญมากเมื่อคุณเข้าใจว่าไดรฟ์ SSD ทำงานอย่างไร
หากต้องการให้เรื่องราวสั้น ๆ สั้น ๆ (สำหรับคำอธิบายที่ยาวขึ้นดูที่
http://arstechnica.com/information-technology/2012/06/inside-the-ssd-revolution-how-solid-state-disks-really-work/ ) ไดรฟ์ SSD นั้นมีประสิทธิภาพมากในการอ่านและในการเขียนเลขศูนย์อย่างไรก็ตามการเขียนออกมันไม่ได้มีประสิทธิภาพมากเพราะมันต้องลบทั้งส่วนเพื่อเขียนแม้แต่อันเดียว!
แม้ว่านี่จะไม่ใช่ปัญหาสำหรับการเขียนทั่วไปเนื่องจากมันถูกบัฟเฟอร์ในหน่วยความจำและเขียนออกมาในขอบเขตของหน้า แต่ก็เป็นปัญหาสำคัญสำหรับไฟล์บันทึกเนื่องจากไฟล์บันทึกถูกข้ามแคชใด ๆ และแทนเซิร์ฟเวอร์ SQL จะบล็อกจนกว่าจะ บันทึกจะถูกเขียนลงดิสก์! ซึ่งหมายความว่าสำหรับการเขียนแต่ละครั้งอาจจะมีการลบส่วนเต็ม
ดังนั้นเพื่อให้ได้ประสิทธิภาพสูงสุดผมขอแนะนำให้อุทิศดิสก์เสริมทุกอัน (นอกเหนือจากขนาดฐานข้อมูล 2 เท่าไม่ต้องลอก!) สำหรับล็อกไฟล์ด้วยวิธีนี้จะสามารถประมวลผลมากที่สุดเท่าที่จะเป็นไปได้ในกรอบเวลาที่สั้นลง
คำตอบที่เก่ากว่า
คำตอบคือใช่ด้วยเหตุผลสามประการ 1) Random vs Sequential - แม้ว่าจะชัดเจนว่า SSD เพิ่มประสิทธิภาพอย่างมากสำหรับการเขียนแบบสุ่ม แต่ยังคงเป็นปัญหาของการสุ่มเทียบกับการเรียงตามลำดับตามที่เห็นได้จาก Whitepapaers และลิงค์ต่อไปนี้:
2) ความน่าเชื่อถือ - มีโอกาสสูงที่ไดรฟ์ SSD ทั้งหมดจะล้มเหลวพร้อมกันซึ่งในกรณี RAID ไม่มีการป้องกันอย่างไรก็ตามเนื่องจากไดรฟ์ SSD ที่ใช้สำหรับการเรียงลำดับมีช่วงชีวิตที่แตกต่างกันซึ่งอาจเป็นเครื่องช่วยชีวิตของคุณ
3) การโต้แย้งการเขียน - เหตุผลในการใส่บันทึกในแกนหมุนของตัวเองไม่เพียงเพราะการสุ่มเทียบกับลำดับ แต่ยังเพราะการเขียนการแข่งขันเนื่องจากเราสามารถเห็นได้จากข้อเท็จจริงที่ว่ามันแนะนำให้มี tempdb ในปริมาณที่แยกต่างหากซึ่งบ่งชี้ ว่าปัญหาที่นี่ยังเกี่ยวกับการเขียนการแข่งขัน
และสิ่งนี้ควรนำไปใช้มากยิ่งขึ้นสำหรับไฟล์บันทึกตามที่เขียนลงในบันทึกการทำธุรกรรมบล็อกจากการพิจารณากระทำที่มุ่งมั่นจนกว่ามันจะถูกเขียนลงบนพื้นผิวของดิสก์
ในความเป็นจริงสำหรับบันทึกคุณอาจใช้ไดรฟ์ HDD ปกติเป็นกระดาษสีขาวของ apr Dell ที่http://www.dell.com/downloads/global/products/pvaul/en/ssd_vs_hdd_price_and_performance_study.pdf
แก้ไข
Microsoft แนะนำให้วาง tempdb ลงในอาร์เรย์ของตัวเองเพื่อหมุนดิสก์
และอื่น ๆ มากมายและเป็นแนวคิดที่ยอมรับกันโดยทั่วไปใน SQL Server ในขณะที่ไม่มีใครแสดงปัญหากับการแบ่งอาร์เรย์
ยิ่งกว่านั้นทีม SQL Server ได้สร้างแนวคิดของ Filegroup และ Partioining partitioning โดยมีความตั้งใจเพียงอย่างเดียวที่จะสามารถย้ายพวกเขาในอาร์เรย์ที่แยกต่างหาก
และอันที่จริงแล้ว MSDN ที่http://msdn.microsoft.com/en-us/library/ms187087(v=sql.105)แนะนำว่าอาจมีประโยชน์ด้านประสิทธิภาพจากการแยกดัชนี nonclustered ในอาร์เรย์ของตัวเอง (แม้ว่า สิ่งนี้ไม่ควรเป็นคำแนะนำทั่วไปสำหรับทุกสถานการณ์เฉพาะสำหรับปริมาณงานเฉพาะดูข้อมูลเพิ่มเติมได้ที่http://weblogs.sqlteam.com/dang/archive/2008/08/01/Are-you-a-DBA -Monkey.aspx )
เช่นนี้เป็นเพียงส่วนขยายเชิงตรรกะที่จะบอกเหตุผลของการแยกแผ่นดิสก์หมุนไม่เพียง แต่เชื่อมโยงกับปัญหาของการอ่านแบบสุ่มเทียบกับลำดับ แต่เพื่อความขัดแย้งในการเขียนทั่วไปสิ่งที่ใช้กับ SSD ก็เช่นกัน
ในขณะที่บางคนอาจไม่เห็นด้วยกับคำแนะนำนั้นและพิจารณาว่าไม่มีประโยชน์ในการวาง tempdb และระดับเสียงของตัวเอง (เช่น Jack Douglas) และคุณอาจอ้างว่าไม่มีประโยชน์จากการแยกไฟล์บันทึก (เช่น Mark Storey -Smith) และแทนที่จะอ้างว่าการแบ่งอาเรย์นั้นแย่กว่านั้นอีกมากอย่าลืมว่านี่เป็นวิธีการใหม่ที่ขัดแย้งกับแนวทางที่ได้รับการยอมรับโดย Microsoft และชุมชนโดยทั่วไปและจนถึงขณะนี้ยังไม่มีใครให้ลิงก์ไปยัง การทดสอบเกณฑ์มาตรฐานเพื่อสนับสนุน
ดังนั้นคำพูดของฉันสำหรับผู้ลงคะแนนเสียงทั้งหมดคือฉันพบว่ามันผิดจรรยาบรรณมากในการ downvote โพสต์เพียงเพราะมีความคิดเห็นที่แตกต่างจากของคุณโดยเฉพาะอย่างยิ่งเมื่อ 1) ความคิดเห็นของคุณขัดแย้งกับทฤษฎีทั่วไปที่ยอมรับ 2) และขัดต่อผู้ขาย ) เอกสารของตัวเอง 3) และคุณไม่ได้แสดงหลักฐานใด ๆ
แต่ในกรณีนี้มันไร้สาระยิ่งกว่าเนื่องจากโพสต์ของฉันไม่มีอะไรมากไปกว่าการขยายตรรกะในทฤษฎีนี้ดังนั้นคนที่คิดว่าโพสต์นี้เป็นคำแนะนำบนเตียงจำเป็นต้องกลับไปโพสต์ทั้งหมดที่แนะนำทฤษฎีนี้ .
ถ้ามีคนตัดสินใจว่า RAID เป็นทฤษฏีของโรงเรียนเก่าและลงคะแนนโพสต์ทั้งหมดแนะนำให้ทำเช่นนี้ทำให้รู้สึกได้อย่างไร