共计 919 个字符,预计需要花费 3 分钟才能阅读完成。
自动写代码机器人,免费开通
丸趣 TV 小编给大家分享一下数据库系统应怎么实现负载平衡,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
数据库系统应如何负载平衡
通常没有人在作数据库的 Load Balance, 即便做的话,只是把它当热切换器而已。
如果数据量大到一台数据库无法负担,考虑拆 Database 的时候,首要考虑数据的同步该如何处理。
在做数据库多台并行前,要先确定数据一致性需要多高,如果可以容忍有时间差的同步,可以考虑用 Big Table 架构的数据库来进行处理,否则就是加快取吧,并且尽量把数据库读 / 写的任务分散来做。
理论上讲,合理的作法应该是要组成 Database Cluster 才对。在 Cluster 的环境中,Database 主机可以有很多台,但是大家的后端都接到同一个外部存储器 (通常是 SAN),所有主机都 写入同一个存储器内的一个数据库而已,也因为只有一个存储器、一个数据库,所以主机之间没有同步的需要。
数据库系统应如何负载平衡
负载平衡设备是不能解决数据库负载过重的问题,但 Databse Server 性能不足的原因很多,应详细探究为何性能不足,架 Database Cluster 能解决部分问题,但不一定能带来太大性能上的改进。
拆 Table 结构是一个方法,通常是用在数据量特大的 Table 才建议,但用这种方式,程序开发人员一定会很痛苦,如果真要采取这种架构,建议程序架构 要多一层数据存取层,商业物件不能直接下 SQL 存取数据库数据,要通过数据存取层元件来存取数据库数据,才能避免程序工程师的人为错误。
建议是先分析数据库性能瓶颈,再来决定架构。根据经验,Disk I/ O 是最大的问题,而造成 Disk I/ O 的原因,通常是 Index 没设好,或是程序设计师撰写的 SQL 指令,没考虑到数据增长后的性能问题。这些问题都排除后,再考虑数据库的备份或镜像,将复杂的查询指令、BI 报表及 Data Mining 的数据来源,指向备份或镜像出来的那台 Database 主机,这样应该就可以解决你的问题。
看完了这篇文章,相信你对“数据库系统应怎么实现负载平衡”有了一定的了解,如果想了解更多相关知识,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!
向 AI 问一下细节