如题:
前提条件:一台性能较好的数据库服务器(只有一台)同时跑多个数据库服务。方案:1、一个实例下建立多个数据库,并行运行。
      2、服务器上建立多个实例,每个实例下运行一个数据库。请大家给出自己的高见,阐述一下这两种方案的优缺点,另外,如果有其他的方案,请描述一下。

解决方案 »

  1.   

    感谢楼上的回复!
    按照版主的意思,集群或者是物理服务器(服务器资源相对紧张的情况下),见一个实例会更好一些!那么我现在有一个问题,请教一下!
    我现在整一个数据库系统,按区域构建(一区、二区、三区.......) 预计要搞10个区的数据系统,目前已经已经整了四个区,服务器已经有点吃不消了。(每个区有自己的数据库,为什么这么搞,我也不请楚,加入team时就这样,但是每个区的数据库结构略有差别,所以整到一起也不容易 ,问题在于数据库的存储量很大,每天每个区大概会生成50w-60w的数据量,要求数据保留2年的数据,所以目前的表数据量尽5000w的数据量,上述是生产运行时产生的数据。
    后台报表 服务每天统计不同区域的数据 ,实时生成报表数据)现在搞得服务器非常慢,请教有什么高见?物理资源(一套集群上建立了8个db 4个生产db、4个archivedb)
      

  2.   

    当的确出现资源不足的时候,除了优化代码(这个很重要,因为大量资源压力都是代码的不高效导致的)之外,那只能加资源。对于不常用的数据,可以统一移到一个库上面,减少活动数据的规模。抛开资源不足的问题,你分10个区的数据系统,完全可以放到一个实例下,实例下的库互访比多实例容易的多。而且其实每个实例有自己的系统数据库,这部分开销其实是多余的,建议你的tempdb单独放到一个盘(物理磁盘),然后初始化搞大一点,每次增长大概可以放到100~200M,个人不建议使用百分比。报表方面的库,最好分开服务器,因为这部分其实很难做优化,毕竟要大范围搜索数据。
      

  3.   

    你的情况该规划为一个实例
    多个实例在于可完全隔离安全性,及升级时可分别升级等,但需要占用更多资源,而且更容易协调内存、CPU资源,当然也更容易监控
    若需要外部支持,欢迎联系我