ความสำคัญของตำแหน่งที่ตั้งของการติดตั้ง Microsoft SQL Server


10

ฉันมีเซิร์ฟเวอร์ที่มีดิสก์ช้าราคาถูกและดิสก์เร็วราคาแพง

ฉันต้องการใช้ดิสก์ที่มีราคาแพงสำหรับทุกสิ่งที่มันสำคัญที่มันเร็วเช่นฐานข้อมูลของฉัน

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

ตอนนี้คำถามของฉันคือฉันควรติดตั้ง Microsoft SQL Server ของฉันในช้าหรือเร็วดิสก์?

(เพื่อความชัดเจนฉันจะวางฐานข้อมูลของฉันลงบนดิสก์อย่างรวดเร็วไม่ว่าอะไรจะเกิดขึ้นดังนั้นคำถามของฉันเกี่ยวข้องกับตำแหน่งของการติดตั้งเท่านั้น)


3
ทำไมคุณถึงต้องพิจารณาสิ่งนี้เนื่องจากว่า SSD ขนาด 120GB ที่มีการเขียนต่ำคือ (a) CHEAP และ (b) เร็วสุดและ (c) ดีพอสำหรับทุกอย่างที่โปรแกรม OS + ฉลาด? ฉันย้ายระบบปฏิบัติการทั้งหมดไปยัง 120gb ssd 2 ปีที่ผ่านมาและค่าใช้จ่ายก็ไม่สำคัญ - ในเวลานั้น ตอนนี้มันเกี่ยวข้องน้อยลง
TomTom

คุณต้องการเชื่อถือฐานข้อมูลภารกิจสำคัญไปยังดิสก์ SSD หรือไม่ เตือนฉันไม่ให้ทำธุรกิจกับคุณ ...
Shadur

2
@Shadur สิ่งที่ Flamebait ใช่ฉันจะวางมันลงบนดิสก์ที่มีการกำหนดค่า RAID 10 บน SSD ซึ่งทำซ้ำกับดิสก์อื่น ๆ 2 ตัวในเครื่องและสำรองข้อมูลทุกคืนไปยังสถานที่ห่างไกล ยินดีต้อนรับสู่ทศวรรษ!
Niels Brinch

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

@NielsBrinch Cent Smart และ Pound Foolish อย่างจริงจัง.
TomTom

คำตอบ:


11

นี่เป็นประเภทของความเห็น แต่ฉันจะใส่ไบนารีของ SQL Server ลงบนดิสก์ที่ช้า เป็นเรื่องปกติที่จะวางไบนารีไว้ในดิสก์ระบบปฏิบัติการ (แม้ว่าบางคนจะเกลียดก็ตาม) หรือบนดิสก์ที่ช้ากว่า

คุณต้องการจำไว้อย่างแน่นอนว่าจะต้องวางฐานข้อมูลระบบของคุณโดยเฉพาะอย่างยิ่ง tempdb บนดิสก์ที่เร็วกว่า ในความเป็นจริงมันเป็นเรื่องธรรมดาที่จะวาง tempdb ด้วยตัวเอง

นี้อยู่ในแนวเดียวกันกับคู่ของบทความที่ฉันพบว่าอาจเป็นประโยชน์กับคุณ

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


ขอบคุณ. คุณกำลังบอกว่ามันไม่ส่งผลกระทบต่อประสิทธิภาพโดยเฉพาะอย่างยิ่งว่าการติดตั้ง sql server (ไบนารี ฯลฯ ) อยู่ในดิสก์ที่ช้าหรือเร็วหรือไม่?
Niels Brinch

1
ไม่ใช่ว่าฉันสังเกตเห็น และมันเป็นโครงแบบที่ค่อนข้างธรรมดา
Katherine Villyard

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

@Corey ขอบคุณมากสำหรับคำอธิบายที่ตรงประเด็น นี่คือสิ่งที่ฉันกำลังมองหา
Niels Brinch

6

ฉันต้องการติดตามคำตอบที่ดีงามที่ Katherine Villyardวางขึ้นแล้ว

มันค่อนข้างขึ้นอยู่กับการใช้ฐานข้อมูลของคุณ
หากคุณคาดหวังว่าจะมีการดำเนินการเขียนจำนวนมากไปข้างหน้าและวางไฟล์.mdfและ.ndfบนดิสก์ที่เร็วกว่า

หากอย่างไรก็ตามฐานข้อมูลของคุณเป็นฐานข้อมูลที่ค่อนข้างคงที่ (ให้บริการเนื้อหาบนเว็บ) และการสืบค้นไม่ได้แตกต่างกันมากโอกาสที่คุณจะได้รับการสืบค้นจำนวนมากในหน่วยความจำของคุณหรือแม้กระทั่งแคชในแอปพลิเคชัน ที่จุดที่คุณจะดีกว่าการใช้ดิสก์เร็วขึ้นสำหรับคุณ.ldf, tempdbและการสำรองข้อมูล

ในทำนองเดียวกันถ้าคุณคาดหวังมากของคำสั่งขนาดใหญ่เช่นการOLAPฐานข้อมูลคุณก็ยังดีที่การจัดเก็บของคุณ.mdf, tempdbบนดิสก์ได้เร็วขึ้น และวางลง.ldfบนดิสก์ที่ช้ากว่าของคุณเพราะมันมักจะไม่เป็นส่วนหนึ่งของคอขวด

ไม่ว่าในกรณีใดก็ตามไม่ต้องกังวลกับการวางไบนารีลงบนดิสก์อย่างรวดเร็วโดยทั่วไปเราจะวางมันลงบนดิสก์ที่ช้า (ไม่ใช่ระบบถ้ามันสามารถหลีกเลี่ยงได้) ดิสก์
นอกจากนี้อย่าเพิ่งพยายามวางทั้งไฟล์.ldfและ.mdfไฟล์บนดิสก์ที่รวดเร็ว

ดังนั้นโดยสรุปให้ตรวจสอบภาระของคุณเพื่อดูว่าคอขวดของคุณน่าจะเป็นอะไร


3

คุณมีสิ่งที่ล้าหลัง ฉันรู้ว่ามันตอบโต้ได้ง่าย แต่คุณต้องการการสำรองข้อมูล (โดยเฉพาะอย่างยิ่งรวมถึงการสำรองข้อมูลบันทึกธุรกรรม) บนดิสก์ที่รวดเร็วและไฟล์ mdf / ldf (ด้วยข้อยกเว้นที่น่าทึ่งของ tempdb) บนดิสก์ที่ช้า

คุณสามารถคิดได้ราวกับว่า SQL Server เก็บข้อมูลของคุณไว้สองแบบ ไฟล์ MDF + LDF แสดงสถานะปัจจุบันของฐานข้อมูลในขณะที่การสำรองข้อมูล (รวมถึงการสำรองข้อมูลบันทึกธุรกรรมตั้งแต่การสำรองข้อมูลเต็มรูปแบบครั้งล่าสุด) แสดงถึงสิ่งที่คุณต้องการกู้คืนสถานะปัจจุบันของฐานข้อมูลในกรณีที่เกิดความล้มเหลว คุณต้องการแยกการรับรองทั้งสองนี้ออกจากกันดังนั้นเหตุการณ์ที่ทำลายการเป็นตัวแทนหนึ่งครั้งจะไม่ทำให้เกิดความเสียหายต่อการเป็นตัวแทนอีกด้วย

จะเปลี่ยนจาก SQL Server ประสิทธิภาพมีแนวโน้มที่จะขึ้นอยู่LOTเพิ่มเติมเกี่ยวกับวิธีการที่รวดเร็วคุณสามารถเขียนแฟ้มล็อกธุรกรรมและการสำรองข้อมูลของพวกเขามากกว่าวิธีการที่รวดเร็วคุณสามารถเข้าถึงไฟล์ MDF ซึ่งหมายความว่าคุณต้องพิจารณาอย่างมากว่าจะต้องทำการแบ็คอัพข้อมูลบนไดร์ฟที่รวดเร็ว (โดยปกติแล้วคุณจะต้องเพิ่ม SSD ขนาดเล็กลงในเซิร์ฟเวอร์ที่คุณสามารถใช้สำหรับไฟล์ ldf เพื่อเพิ่มความเร็วในขณะที่ยังคงรักษาการแยก น่าเสียดายที่นี่ทำให้ไดรฟ์ช้าสำหรับไฟล์ MDF ของคุณ แต่อีกครั้ง: มันจะไม่สำคัญเท่าที่คุณคิด

เป็นที่น่าสังเกตว่าถ้าคุณมีแรมเพียงพอ, คุณทำตามปริมาณงานทั่วไป, และคุณวางแผนที่จะใช้โหมดการกู้คืนแบบเต็ม, ไม่ใช่เรื่องง่าย. นอกจากนี้การทำงานของระบบและโปรแกรม SQL Server ที่ติดตั้งนั้นสามารถวางลงบนไดรฟ์ช้าได้ แต่แน่นอนว่าคุณอาจต้องการเท่าที่คุณมีพื้นที่ว่างสำหรับการใช้งานบนฮาร์ดไดรฟ์


โดยการสำรองข้อมูลฉันหมายถึงไฟล์ที่ไม่ได้ใช้ แต่เก็บไว้เพียง ฉันจะใส่ทั้งไฟล์ mdf และ ldf บนดิสก์อย่างรวดเร็ว มันเป็นข่าวสำหรับฉันว่า mdf ก็โอเคที่จะใส่ลงบนดิสก์ช้านั่นเป็นข้อมูลที่น่าสนใจและไม่คาดคิด
Niels Brinch

1
คุณไม่ต้องการ mdf ในดิสก์เดียวกับการสำรองข้อมูล / บันทึก MDF แสดงสถานะปัจจุบันของฐานข้อมูล Backup + LDF แสดงถึงสิ่งที่คุณต้องการกู้คืนฐานข้อมูลให้เป็นสถานะปัจจุบัน คุณต้องการให้การรับรองทั้งสองแยกจากกันดังนั้นเหตุการณ์ที่ทำลายสิ่งใดสิ่งหนึ่งจะไม่ทำให้เกิดความเสียหายอีกด้วย และตั้งแต่การบันทึกและสำรองข้อมูลที่ควรจะอยู่ในดิสก์ได้อย่างรวดเร็ว (ประสิทธิภาพขึ้นอยู่จำนวนมากเพิ่มเติมเกี่ยวกับวิธีที่รวดเร็วคุณสามารถเขียนไปยังแฟ้ม LDF กว่าวิธีที่รวดเร็วคุณสามารถเขียนไฟล์ MDF), การที่หมายถึง MDF ควรจะไปที่ดิสก์ช้า
Joel Coel

ฉันจะแก้ไขความคิดเห็นข้างต้นส่วนใหญ่เป็นคำตอบ
Joel Coel

1
ฉันไม่แน่ใจว่าทำไมคุณถึงบอกว่าเกี่ยวกับ.ldfและ.mdfจำเป็นต้องแยกออกจากกันในกรณีที่เกิดภัยพิบัติ ... โดยทั่วไปไม่คิดว่าคุณจะใช้อันใดอันหนึ่งสำหรับการกู้คืนจากความเสียหายนั่นคือการสำรองข้อมูล หากคุณไม่ได้ใกล้สูญเสียข้อมูล 0 ที่สุดคุณจะได้รับการสำรองข้อมูลบันทึกบ่อยมากคุณไม่ต้องพึ่งพาไฟล์บันทึกเอง
Reaces

@ นำหน้าคุณพูดถูก ฉันมีผายลมสมองและเขียนไฟล์ LDF ด้วยมือของฉันขณะที่คิดถึงการสำรองข้อมูล TRN ในหัวของฉัน ความคิดทั่วไปมีไว้ แต่ฉันจะต้องแก้ไขอย่างมีนัยสำคัญเพื่อชี้แจงว่า (กำลังทำอยู่ตอนนี้)
Joel Coel
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.