数据库双活构建的几大难点

时间:2019-08-02 栏目:

随着数字化进程的不断推进,系统的高可用已经成为企业能否获得良好发展和赢得用户青睐的基本要求,尤其对银行、证券等企业来说,系统宕机不仅意味着财产的损失,还代表着部分用户的流失,而客户则是企业赖以生存的根本。目前两地三中心已经在很多行业推行,随着行业技术的发展,出现了双活、多活模式,本文主要针对双活的设计难点进行讨论。

数据库双活是灾备建设的延续和发展,相对于常规的主备数据中心,双活大大提升了数据中心的利用率,最大程度的保障了用户的权益。就目前的技术而言,不是所有的业务都适合做数据双活的,而且在双活环境下不可避免的会出现一些问题,如网络延时,热点数据,数据一致性等问题,那么面对这些问题又该如何处理呢?

数据双活和网络延迟带来的性能问题本来就是一个很难两全其美的问题。在无法改变距离的情况下,能通过什么方式来实现远距离延时的性能优化呢?远距离延时主要表现在存储双写延时和节点通讯延迟。关于第一点,首先要做到的是尽可能实现本地读,其次就是增大缓存,减少同步写的次数。而关于通讯的延迟,这主要就是通过减少通讯的次数。这就凸显了热点数据问题的重要性。

热点数据作为系统当中被频繁访问的数据,在集群环境当中不像在单节点数据库中一样,不同节点的端口访问同样的热点数据会产生竞争问题,从而影响系统的可用性。所以,在双活系统环境下,需要考量热点数据的分布。尽量使用小的pagesize另外,可以通过分区表等技术从物理层面上打散热点数据。

在数据库双活的环境下,我们要保障数据的一致性,就得首先在设计的前期就考虑到这方面问题的发生,提早做好预防。加强对于业务维护时间戳的维护,同时减少双数据中心的单个时间点的高数据交互,对业务逻辑进行拆分打散,避免大事务对复制延迟的影响,这就要求我们在设计表的时候需要进行更加细致的拆分,特别是对于热点数据,尽量使用缓存处理。

其实双活环境和单机环境下的开发规范大体上并无太大的出入,但是还是会有一些专门的开发规范。如减少热点数据和不必要数据的重复访问;适当使用聚合索引等。

及时响应,快速服务,为您保驾续航

立即注册

请先完成图形验证

验  证  码:

请先完成图形验证

验  证  码:

隐私声明
当您在本网站进行合作伙伴注册登记,本网站将收集您的相关信息,并保存记录。本网站收集的个人信息包括但不限于:姓名、地址、公司、所在地区、电话号码以及电子邮件地址等。您主动提供的信息越多及越准确,我们就能够更好地为您提供有关服务。
咨询·购买