1.概述。
本文简要描述了GBase8ser系统和数据复制的基本概念,为构建ER环境提供了依据和指导。
2.ER原理介绍。
GBase8sEnterpriseReplication用于管理一个或多个站点上的多个数据副本,这可以方便各种组织共享企业公共数据资源。ER,工作于多数据库服务器环境,是一个基于逻辑日志的异步传输复制工具。
在源服务器上工作的ER工具通过读取逻辑日志捕获要复制的事务信息,将其存储在发送队列中,然后将每个事务作为复制的数据可靠地传输到目标服务器。目标服务器上的ER工具接收这些事务,并将它们的内容应用于特定数据库上的特定表,以实现数据库表和源服务器的内容之间的一致性。
2.1ER基本术语解释。
在构建环境工程师环境之前以及环境工程师环境的后续维护期间,您必须了解以下与环境工程师相关的基本术语:
企业复制服务器:也称为复制服务器,是一个参与数据复制的GBase8s数据库服务器。该服务器维护关于er环境的信息,例如哪些表和列参与复制以及复制的触发条件,这些信息存储在名为syscdr的数据库中。Syscdr由8s数据库服务器在初始化er环境时自动创建,包含133个表,用于跟踪和记录ER进度。另外,多台8s数据库服务器可以位于同一台物理机上,每台服务器都可以参与er,为设置调试ER环境提供了极大的便利。
参与者:字面翻译为“参与者”,它指定参与复制的数据库服务器和数据(数据库名、表名和列名)。
replicate:er最常用的术语,直译为“复制”,用于定义数据复制的参与者和数据复制的各种属性,例如数据复制的频率和数据复制期间的冲突解决。
复制:一个复制集,便于管理多个复制。
复制模式:ER主要支持两种复制模式,Pirmary-target模式(主从模式)和UpdateAnywhere模式。在主从模式下,主服务器上的任何数据更改都将复制到从服务器上,而从服务器上的数据更改不会复制到主服务器上。在随处更新模式下,任何服务器上的数据更改都将被复制到其他参与服务器上。
2.2ER工作流程描述。
在数据复制之前,需要将数据库服务器声明为复制参与者,然后声明数据复制的各种属性(复制粒度和冲突解决)。完成上述陈述后,er复制工作流程分为三个阶段,如下图所示:
1、数据捕捉(DataCapture)
2、数据传输(DataTransport)
3、数据复制(Applyingreplicateddata)
1、客户端应用执行交易操作;
2.事务信息被写入逻辑日志;
3.日志捕获组件(Snoopy)读取逻辑日志,并将日志记录传递给石斑鱼。
4.分组组件计算要复制的日志,并将它们分组为描述原始事务操作的消息;
5、分组组件将消息添加到发送队列,发送队列在一定情况下将消息临时存储在磁盘上;
6.发送队列通过er网络将消息发送到目标服务器。
7.复制的消息被添加到目标服务器的接收队列中。
8.数据同步组件将事务应用于目标数据库,并在必要时执行冲突解决;
9.将事务已成功应用的消息放入确认队列中;
10.向源服务器发送确认消息。
在实际的生产运行环境中,很多客户现场都看到开发人员和系统管理人员遇到很多有关于GBase 8s 数据库引起的性能问题,进而被多次问起如何进行GBase 8s 数据库性能调优,
性能优化原则
包括:
性能规划:深入了解应用与数据库的交互特征,确立良好的设计、开发、测试迭代过程,上线前消除模型上的性能瓶颈。
实例调优:建立性能基准,对比调节数据库、操作系统、存储、网络等的配置,主动监控、消除瓶颈。
SQL 调优:书写高效 SQL,优化相关数据库对象,充分借助优化器,确定最佳执行计划。
性能优化流程
1, 首先执行下面的初始检查:
a.获取直接用户的使用反馈,确定性能目标和范围。
b.获取性能表现好与坏时的操作系统、数据库、应用统计信息。
c.对数据库做一次全面健康检查。
2, 根据收集的信息,以及对应用特性的了解,构建性能概念模型,明确性能瓶颈所在,以及导致性能的根本原因。
a.首先应该排除操作系统、硬件资源造成的瓶颈。
b.然后针对数据库系统性能进行分析
c.必要时,还需要检查应用日志,因为系统性能问题也可能由于应用非 SQL 部分造成瓶颈。
3, 提出一系列针对的优化措施,并根据它们对性能改善的重要程度排序,然后逐一加以实施。不要一次执行所有的优化措施,必须逐条尝试,逐步对比。
4, 通过获取直接用户的反馈验证调节是否已经产生预期的效果,否则,需要重新提炼性能概念模型,直到对应用特性了解进一步准确。
5, 重复上述,直到性能达到目标或由于客观约束无法进一步优化。