数据库系统应如何负载平衡?

 我来答
温情0034
推荐于2016-06-17 · 超过60用户采纳过TA的回答
知道答主
回答量:110
采纳率:0%
帮助的人:121万
展开全部
  在做数据库多台并行前,要先确定数据一致性需要多高,如果可以容忍有时间差的同步,可以考虑用Big Table架构的数据库来进行处理,否则就是加快取吧,并且尽量把数据库读/写的任务分散来做。
  理论上讲,合理的作法应该是要组成Database Cluster才对。在Cluster的环境中,Database主机可以有很多台,但是大家的后端都接到同一个外部存储器(通常是SAN),所有主机都写入同一个存储器内的一个数据库而已,也因为只有一个存储器、一个数据库,所以主机之间没有同步的需要。
  负载平衡设备是不能解决数据库负载过重的问题,但Databse Server性能不足的原因很多,应详细探究为何性能不足,架Database Cluster能解决部分问题,但不一定能带来太大性能上的改进。
  拆Table结构是一个方法,通常是用在数据量特大的Table才建议,但用这种方式,程序开发人员一定会很痛苦,如果真要采取这种架构,建议程序架构要多一层数据存取层,商业物件不能直接下SQL存取数据库数据,要通过数据存取层元件来存取数据库数据,才能避免程序工程师的人为错误。
  建议是先分析数据库性能瓶颈,再来决定架构。根据经验,Disk I/O是最大的问题,而造成Disk I/O的原因,通常是Index没设好,或是程序设计师撰写的SQL指令,没考虑到数据增长后的性能问题。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式