ก่อนอื่น ขอขอบคุณ Microsoft สำหรับการคิดค้นระบบไฟล์ NTFS เป็นระบบไฟล์ที่แข็งแกร่งมากพร้อมฟังก์ชันอันทรงพลัง
คลัสเตอร์เป็นหน่วยพื้นฐานที่สุดสำหรับการอ่านและเขียนดิสก์ I/O (เป็นหน่วยการจัดสรรใน NTFS)
วันนี้เราจะพูดถึงหัวข้อที่เกี่ยวข้องกับขนาดคลัสเตอร์ NTFS ในการจัดเก็บข้อมูล SQL Server NTFS จะใช้คลัสเตอร์ขนาด 4KB เป็นค่าเริ่มต้นเมื่อทำการฟอร์แมตพาร์ติชันที่มีขนาดเกิน 2GB ซึ่งโดยพื้นฐานแล้วคือขนาดคลัสเตอร์ของฮาร์ดดิสก์ส่วนใหญ่ในปัจจุบัน สามารถใช้การจัดเรียงข้อมูลได้เมื่อคลัสเตอร์มีขนาดไม่เกิน 4KB
ขนาดคลัสเตอร์ NTFS สามารถตั้งค่าได้ตั้งแต่ 512B ถึง 64KB แน่นอนว่าจะต้องระบุในระหว่างการฟอร์แมต ไม่เช่นนั้นจะไม่สามารถเปลี่ยนแปลงได้ หากคลัสเตอร์มีขนาดเล็กเกินไป การใช้พื้นที่จะสูง แต่ตารางพาร์ติชันมีขนาดใหญ่ มีหลายแฟรกเมนต์ และประสิทธิภาพไม่ดี หากคลัสเตอร์มีขนาดใหญ่เกินไป การใช้พื้นที่จะต่ำ แต่มีแฟรกเมนต์น้อย และประสิทธิภาพก็ดี ดังนั้น 4KB จึงเป็นตัวเลือกทั่วไป
ฮาร์ดไดรฟ์ในปัจจุบันมีความจุหลายร้อย GB ดังนั้นพื้นที่ว่างจึงดูเหมือนจะไม่ใช่ปัญหาอีกต่อไป อย่างไรก็ตาม ดิสก์ I/O มักเป็นจุดคอขวดด้านประสิทธิภาพอยู่เสมอ เพื่อที่จะเพิ่มความเร็วในการอ่านและเขียนดิสก์ ทุกคนจึงต้องใช้สมองอย่างมาก ไม่ว่าในกรณีใด ตราบใดที่เลือกฮาร์ดไดรฟ์ ดูเหมือนจะเป็นไปไม่ได้ที่จะเปลี่ยนการออกแบบทางกายภาพ และไม่แนะนำ ดังนั้นเราจึงทำได้เพียงเริ่มจากที่อื่นเท่านั้น เช่น การใช้อาร์เรย์ RAID การจัดเรียงข้อมูลบ่อยครั้ง การใช้ชิป ก็ดี สายดาต้า ฯลฯ ทุกอย่างที่สามารถใช้ได้
เซิร์ฟเวอร์ SQL Server เป็นแอปพลิเคชันที่มีข้อกำหนด I/O สูง หน่วยพื้นฐานของการอ่านและการเขียนไฟล์ข้อมูลคือหนึ่งหน้า ขนาดของแต่ละหน้าคือ 8 KB ติดต่อกันซึ่งโดยทั่วไปจะเป็นพื้นที่ 64 KB ไฟล์ข้อมูล พวกมันทั้งหมดมีขนาดค่อนข้างใหญ่ และในสภาพแวดล้อมการใช้งานจริงทั่วไป ไฟล์ข้อมูลหลาย GB หรือมากกว่านั้นเป็นเรื่องปกติ และโดยพื้นฐานแล้ว จะไม่มีใครจัดเรียงข้อมูลพื้นที่จัดเก็บข้อมูล SQL Server ดังนั้นเราจึงสามารถฟอร์แมตดิสก์พาร์ติชันสำหรับพื้นที่จัดเก็บข้อมูล SQL Server ให้เป็นคลัสเตอร์ขนาด 64KB ซึ่งสามารถปรับปรุงประสิทธิภาพได้โดยไม่เปลืองพื้นที่
มีความเสี่ยงหรือไม่? แน่นอนว่าเมื่อเกิดความเสียหายกับดิสก์ ข้อมูลที่สูญหายอาจเพิ่มขึ้นอีกเล็กน้อย อย่างน้อย 64KB อย่างไรก็ตาม แนวทางปฏิบัติได้พิสูจน์แล้วว่าโซลูชันนี้ยังเป็นไปได้มาก เนื่องจากบล็อกอาร์เรย์ RAID ของเซิร์ฟเวอร์ทั่วไปมีขนาด 64KB เช่นกัน ไม่สำคัญว่าจะเป็น 64KB หรือไม่
คุณยังสามารถอ้างอิงถึงสถานการณ์การใช้งานอื่น ๆ ได้ หากมีข้อผิดพลาดใด ๆ คุณสามารถวิพากษ์วิจารณ์ได้
ผู้เขียนบทความนี้: gytnet
ที่มาของบทความนี้: http://www.cnblogs.com/gytnet/archive/2009/12/21/1628561.htm