แต่เมื่อเร็ว ๆ นี้ฉันเจอฐานข้อมูลบนเซิร์ฟเวอร์ที่ทุกฐานข้อมูลมีไฟล์ mdf หลายไฟล์
นั่นเป็นเพราะการตั้งชื่อไม่ถูกต้อง Microsoft กล่าวว่าทุกฐานข้อมูลมีไฟล์ข้อมูลหลักหนึ่งไฟล์ แต่ไม่ได้หมายความว่าสามารถมี "ไฟล์ข้อมูล mdf" ได้เพียงไฟล์เดียวเท่านั้นฐานข้อมูลสามารถมีไฟล์ข้อมูลจำนวนมากที่มี.mdf
นามสกุล แต่ไฟล์เดียวจะเป็นไฟล์ข้อมูลหลัก เป็นการดีกว่าที่จะให้mdf
ส่วนขยายไปยังไฟล์ข้อมูลหลักและไฟล์ข้อมูลndf
รองมีการแบ่งเขตที่เหมาะสม แต่นี่ไม่ใช่กฎที่ยากและรวดเร็วคุณสามารถให้นามสกุล. abc กับไฟล์ข้อมูลหลักดังนั้นสิ่งที่คุณเห็นเป็นเรื่องปกติ ตามความเป็นจริงคุณสามารถให้ส่วนขยายที่คุณต้องการ
มีภูมิปัญญาในการมีไฟล์. pdf หลายไฟล์สำหรับฐานข้อมูลหรือไม่?
ถ้าคุณหมายถึง:
มีภูมิปัญญาในการมีไฟล์หลักหลายไฟล์สำหรับฐานข้อมูลหรือไม่?
คำตอบคือไม่ฐานข้อมูลสามารถมีไฟล์ข้อมูลหลักได้เพียงไฟล์เดียว
แต่ถ้าคุณหมายถึง:
มีภูมิปัญญาในการมีไฟล์ข้อมูลหลายไฟล์ (.mdf, .ndf หรือชื่อแตกต่างกัน) สำหรับฐานข้อมูลหรือไม่?
ขึ้นอยู่กับว่าคุณสามารถและไม่สามารถใช้ประโยชน์จากไฟล์ข้อมูลหลายไฟล์ หากมีการแพร่กระจายข้ามไดรฟ์ทางกายภาพที่แตกต่างกัน (ฉันกำลังพูดถึงแกนหมุน) คุณจะเห็นประโยชน์บางอย่างกับแอปพลิเคชั่นการเขียนที่เข้มข้น หากพวกเขาอยู่บนโลจิคัลพาร์ติชันเดียวกันมันจะไม่มีประโยชน์ใด ๆ เพราะพวกมันจะใช้ทรัพยากรร่วมกัน การใช้ไฟล์และกลุ่มไฟล์ช่วยปรับปรุงประสิทธิภาพของฐานข้อมูลเพราะจะช่วยให้สามารถสร้างฐานข้อมูลข้ามดิสก์หลายตัวตัวควบคุมดิสก์หลายตัวหรือระบบ RAID (อาร์เรย์ที่ซ้ำซ้อนของดิสก์อิสระ) ตัวอย่างเช่นหากคอมพิวเตอร์ของคุณมีสี่ดิสก์คุณสามารถสร้างฐานข้อมูลที่ประกอบด้วยไฟล์ข้อมูลสามไฟล์และไฟล์บันทึกหนึ่งไฟล์โดยมีหนึ่งไฟล์ในแต่ละดิสก์ เมื่อเข้าถึงข้อมูลแล้วหัวอ่าน / เขียนสี่หัวสามารถเข้าถึงข้อมูลพร้อมกันได้ในเวลาเดียวกัน
ตามบทความ MSDN BOL นี้
กลุ่มไฟล์ใช้กลยุทธ์การเติมตามสัดส่วนในไฟล์ทั้งหมดภายในแต่ละกลุ่มไฟล์ เมื่อข้อมูลถูกเขียนไปยังกลุ่มไฟล์เครื่องมือฐานข้อมูลเซิร์ฟเวอร์ SQL จะเขียนจำนวนตามสัดส่วนของพื้นที่ว่างในไฟล์ไปยังแต่ละไฟล์ภายในกลุ่มไฟล์แทนที่จะเขียนข้อมูลทั้งหมดลงในไฟล์แรกจนเต็ม จากนั้นจะเขียนไปยังไฟล์ถัดไป ตัวอย่างเช่นหากไฟล์ f1 มีอิสระ 100 MB และไฟล์ f2 มีอิสระ 200 MB ขอบเขตหนึ่งจะถูกจัดสรรจากไฟล์ f1 สองขอบเขตจากไฟล์ f2 และอื่น ๆ ด้วยวิธีนี้ทั้งสองไฟล์จะเต็มในเวลาเดียวกันและสามารถทำการสตริปได้ง่าย
ข้อได้เปรียบอื่น ๆ ที่ฉันรู้คือการพิจารณาฐานข้อมูล 1 TB หากคุณจะมีไฟล์ข้อมูลเดียวและคุณต้องการกู้คืนฐานข้อมูลนี้บนเซิร์ฟเวอร์อื่นบางแห่งซึ่งไม่น่าเป็นไปได้สูงที่คุณจะมีพื้นที่ว่าง 1 TB ตอนนี้ถ้าฐานข้อมูลเดียวกันถูกกระจายในไฟล์ที่แตกต่างกันแต่ละไฟล์มีขนาด 250 G มันจะง่ายขึ้นในการกู้คืน นี่อาจไม่ใช่สถานการณ์ของคุณ แต่มันช่วยให้ง่ายมากในการค้นหาเซิร์ฟเวอร์ที่มีสี่ไดรฟ์ 250 G จากไดรฟ์ 1 TB
ฉันจะบอกว่าแทนที่จะเป็นไฟล์ข้อมูลจำนวนมากมันจะดีกว่าที่จะมีกลุ่มไฟล์ที่แตกต่างกัน แต่อีกครั้งมีสภาพแวดล้อมไม่มาก ฐานข้อมูลที่สร้างขึ้นจากหลายกลุ่มไฟล์สามารถเรียกคืนในขั้นตอนโดยกระบวนการที่เรียกว่าการกู้คืนทีละน้อย การกู้คืนทีละน้อยทำงานได้กับทุกรุ่นการกู้คืน แต่มีความยืดหยุ่นมากกว่าสำหรับรุ่นเต็มและแบบบันทึกจำนวนมากกว่าโหมดง่าย ๆ ไฟล์หรือกลุ่มไฟล์ในฐานข้อมูลสามารถสำรองและกู้คืนทีละรายการ สิ่งนี้ช่วยให้คุณกู้คืนเฉพาะไฟล์ที่เสียหายโดยไม่ต้องกู้คืนส่วนที่เหลือของฐานข้อมูล ไฟล์ในการสำรองข้อมูลกลุ่มไฟล์สามารถเรียกคืนเป็นรายบุคคลหรือเป็นกลุ่ม