สถานการณ์จำลอง:
ฐานข้อมูล SQL Server 2005 ที่ให้บริการแอปพลิเคชัน ASP.NET (บนเว็บเซิร์ฟเวอร์แยกต่างหาก)
ฐานข้อมูล:
DB มีข้อมูล "ปกติ" อยู่ประมาณ 5GB และ "ไฟล์" ประมาณ 15GB (เช่น: ไฟล์ PDF ขนาด 200k ที่จัดเก็บเป็นรูปภาพ (BLOB) ซึ่งเป็นสิ่งนั้น) มีผู้ใช้อัพโหลดไฟล์มากขึ้นและใช้พื้นที่ดิสก์มากขึ้นอย่างรวดเร็ว (ฐานข้อมูลอาจเพิ่มเป็น 50GB ในอีกไม่กี่เดือนข้างหน้าซึ่งส่วนใหญ่เป็นไฟล์)
ข้อกังวล: การ
จัดเก็บไฟล์จำนวนมากในฐานข้อมูลก่อให้เกิดปัญหาอยู่แล้ว (เช่น: ขนาดรวมขนาดใหญ่ของฐานข้อมูลทำให้การสำรองข้อมูลทั้งฐานข้อมูลเป็นครั้งคราวและการปรับใช้ทำได้ยาก)
และเรามีความกังวลใจที่มีจะมีปัญหามากขึ้น (เช่น: ปัญหาด้านประสิทธิภาพ - อาจเกิดจากการไม่สามารถเก็บ DB ทั้งหมดไว้ใน RAM ได้หรือไม่?)
คำถาม:
คุณจะแนะนำวิธีแก้ปัญหาทางเทคนิคให้กับปัญหานี้อย่างไร? เก็บไฟล์ไว้ในระบบไฟล์หรือไม่? แยกฐานข้อมูลเป็นสองและมีหนึ่งที่ใหญ่กว่าช้าลงสำหรับไฟล์?
รายละเอียดเพิ่มเติมหากจำเป็น:
ไฟล์เหล่านี้ไม่สำคัญอย่างยิ่งและไม่ต้องการเวลาในการเข้าถึงที่รวดเร็วมาก - สองสามวินาทีน่าจะใช้ได้และอาจมีสักกี่โหลที่เลือกต่อชั่วโมงในปัจจุบัน ข้อมูล "ปกติ" อื่น ๆ ในฐานข้อมูลรวมถึงข้อมูลที่ต้องการหลายครั้งต่อวินาที