关于数据库复制的详细说明
最近,随着处理数据量的增加与各业务部门开始使用整合的IT系统,尽量减少系统故障已成为企业关注的重要课题。发生系统故障就会直接引发企业的经济损失及用户的信赖度下降,因此数据的稳定性和质量问题成为企业实现最终目标的关键因素之一。
至今为止,虽然IT部门一直致力于开发能够尽量减少突发性故障的技术,并不断提高产品的高可用性,但性能问题仍然对系统稳定运行有很大影响。目前,企业为了一边提高系统的性能,一边尽量减少故障时间与数据丢失,需要能够提供复制和负载分担服务的数据库管理系统供应商。
ALTIBASE HDB 通过内嵌于自身的复制(Replication)功能,实现了IT环境所需的高可用性和稳定性。基于TCP/IP网络的Altibase的复制技术,对复制节点没有限制,而且通过细分化,可选择性复制—-以表为单位进行复制,实现了超高速的复制操作处理。
Altibase复制技术的主要特征
- Altibase产品通过内嵌的复制功能,提供高可用性、不间断服务、负载分担等主要功能。
- Altibase产品为了监视网络故障,使用了另设的线程。
- Altibase复制技术提供两种模式,用户可以在高性能的异步模式,和兼具数据持久性和完整性的全同步模式中,根据业务需求任选其一。
- 基于TCP/IP的Altibase复制功能最多支持32路复制,而且能够进行远程复制。另外,若服务器使用多个IP,那么在单一复制服务器上可以设置多个复制线程。
- Altibase产品的另一优点是以表(table)为单位的数据库复制。管理者不必对整个数据库进行复制,可以仅对目标表进行复制。
- Altibase复制技术将事务日志转换为逻辑形式并传送到远端服务器,从而不仅提供超高速的性能而且尽量减少了硬件负荷。
- Altibase复制技术能够实现在安装有不同CPU和操作系统的不同服务器之间,进行数据复制。
- 即使在复制时,也能够维持独立系统处理时的性能。(主主复制90%、主从复制96%)
- Altibase复制技术在主备服务器上均保存数据库的最新数据,当主服务器突然停运时,能够立即重新启动其它备用服务器,从而提供不间断服务。
Altibase复制技术
- Altibase复制技术实现了由发送、接收、管理、心跳线构成的线程架构。管理者为了两个服务器之间的复制而监视要复制的对象,发送/接收线程则负责传送Xlog文件。此外,当发生故障时,通过心跳线支持即时服务切换。
- 当发生事务操作时,Altibase复制技术中的复制发送线程将重做日志文件转换为Xlog文件,传送到备服务器。备服务器的复制接收线程根据收到的Xlog文件,将收到的内容在备服务器上做相应更新,从而使其持有与主服务器相同的数据。
- 若复制开始,主服务器的复制管理器形成发送线程而与备服务器的复制管理器相连,而备服务器的复制管理器则形成接收线程。
- 主服务器的发送线程向备服务器传送数据库中的变更内容,在备数据库中体现通过接收线程收到的内容。
- Altibase复制技术通过尽量减少服务线程和复制线程之间的干扰和锁,实现了发送节点的高性能,也即,数据管理和复制管理通过完全独立的线程进行。
Altibase复制技术
Altibase复制技术提供两种模式,具备高性能的异步模式和兼具数据持久性与完整性的全同步模式。
异步模式
- 如果在主服务器上发生对复制目标表执行DML的服务事务,就会在日志文件上记录该服务事务。
- 发送线程收集按服务事务记录的事务日志文件后,将其转换为Xlog文件,并将XSN记录在复制元信息表中,并利用发送线程发送Xlog。
- 在主服务器上,Altibase数据库正常提交服务事务,即该服务事务与复制相关的事务各自独立进行。
- 接收线程收到Xlog后将复制事务提交到备服务器实例。
全同步模式
- 在主服务器上发生对复制目标表执行DML的服务事务。
- Altibase产品将服务事务的变更内容在主库数据中体现,并在记录事务日志文件的同时,执行服务事务锁。
- 通过发送线程收集基于服务事务记录的事务日志文件后,将其转换为Xlog文件,并将XSN记录在复制元信息表中,然后通过发送线程传送Xlog。
- 通过接收线程收到Xlog后,记录主服务器的事务日志,并向备服务器实例提交接收到的复制事务。
- 通过接收线程向发送线程传送用于确认备服务器已收到复制事务的ACK(反馈信息)。
- 主服务器收到ACK后,立即提交刚才被锁住的服务事务。
Altibase的不间断服务
IT环境中针对突发性故障的应对策略与复制技术一样重要。影响复制的比较典型的原因如下:
- 主服务器与备服务器间的通信中断
- 服务线路中断
- 主服务器或备服务器的异常关闭
下面对各种故障发生情形和修复步骤进行说明。
复制受限条件