论文部分内容阅读
随着移动互联网时代的蓬勃发展,行业应用系统的规模迅速扩大,使其产生的数据量呈爆发式增长,海量数据对数据库的存储容量造成了严峻的考验。因此,如何应对海量数据存储、用户的高并发访问和系统的高可用性,成为了目前企业所困扰的问题。传统数据库因其性能瓶颈以及扩展困难问题,已经逐渐无法满足海量数据的存储及其性能要求。而分布式数据库的出现有效地解决了这些问题,分布式数据库结合计算机网络将多台数据库服务器逻辑上连接在一起,构建出一个分布式集群,从而分散了单台数据库的压力。针对智慧社区项目遇到的海量数据存储以及高并发问题,本文采用Mycat数据库中间件作为构建分布式数据库的关键技术。结合智慧社区项目的实际需求,对项目中原有的集中式存储方案进行改进,提出了一个基于Mycat的分布式存储方案。本文的主要工作内容如下:(1)以Mycat中间件为关键技术来实现数据库的读写分离、数据切分和故障切换,从而提升系统的读写性能、扩展性、高可用性。(2)针对数据整合过程中的数据排序进行优化,对其中使用的堆排序算法进行改进。通过减少排序过程中的比较次数,从而有效地减少算法的时间开销。最终使Mycat在数据排序过程中的运行时间减少了50%以上,提升数据排序效率。(3)为了避免因Mycat单机故障导致系统不可用,在上述方案的基础上进一步引入HAProxy+Keepalived技术,实现负载均衡,提升系统的高可用性,使整个系统可以更加高效、稳定地运行。(4)将上述设计方案部署在真实环境下测试,并与智慧社区项目的原存储方案进行比较。在海量数据、高并发的环境下,原存储方案在处理数据请求时的错误率上升至50%以上,而Mycat分布式数据库的错误率则始终维持在0%。证明本方案可以缓解系统的读写压力,并且提高了系统的稳定性。