เรากำลังสร้างแพลตฟอร์มเว็บที่รวมบริการหลายอย่างแต่ละรายการมีข้อมูลอ้างอิงของตนเอง บริการเหล่านี้ถูกสร้างขึ้นอย่างอิสระตามหลักการของService-Oriented Architectureแต่ทำธุรกรรมกับข้อมูลที่อาจเกี่ยวข้อง เรากำลังพิจารณาว่าบริการเหล่านี้ควรแบ่งปันฐานข้อมูลขนาดใหญ่หนึ่งฐานหรือแต่ละแห่งมีฐานข้อมูลของตนเอง (เราวางแผนที่จะใช้ SQL Server 2008 Enterprise ในคลัสเตอร์ Windows 2008)
ข้อดีบางประการสำหรับแต่ละวิธีที่เราพิจารณาแล้วรวมถึง:
ฐานข้อมูลเดียว
- ข้อมูลที่เกี่ยวข้องจากบริการที่แตกต่างกันสามารถถูกรวมเข้าด้วยกันโดยข้อ จำกัด ของกุญแจต่างประเทศ
- สารสกัดจากการวิเคราะห์นั้นง่ายต่อการเขียนและดำเนินการได้เร็วขึ้น
- ในกรณีที่เกิดภัยพิบัติการกู้คืนแพลตฟอร์มให้อยู่ในสถานะที่สอดคล้องกันนั้นง่ายขึ้น
- สำหรับข้อมูลที่อ้างอิงโดยหลายบริการข้อมูลที่แคชโดยบริการหนึ่งมีแนวโน้มที่จะถูกใช้ในไม่ช้าหลังจากบริการอื่น
- การบริหารและการตรวจสอบนั้นง่ายและถูกกว่า
หลายฐานข้อมูล
- งานบำรุงรักษาปัญหาฮาร์ดแวร์การละเมิดความปลอดภัยและอื่น ๆ ไม่จำเป็นต้องส่งผลกระทบต่อแพลตฟอร์มทั้งหมด
- สมมติว่าแต่ละฐานข้อมูลอยู่บนฮาร์ดแวร์ที่แยกจากกันการขยายขนาดของหลายเครื่องจะให้ประโยชน์ด้านประสิทธิภาพมากกว่าการปรับขนาดฐานขนาดใหญ่ขึ้น
จากมุมมองการดำเนินงานเป็นประโยชน์หรือไม่ที่แต่ละบริการในแพลตฟอร์มนี้ได้รับฐานข้อมูลของตนเองหรือว่าพวกเขาทั้งหมดไปในฐานข้อมูลเดียวกัน ปัจจัยสำคัญใดที่แจ้งคำตอบสำหรับคำถามนี้