服务热线:0755-86575703
Arkit ArkGate ArkProxy
Arkgate MySQL数据实时异构同步系统

随着MySQL的普遍应用,对MySQL数据的同步需求也不断增多。通常情况下,有以下几类需求:
(1) 从MySQL同步数据到HBase或者ES等OLAP类型的存储引擎中。
(2)从MySQL同步数据到Redis等缓存引擎中。
(3)从多个MySQL同步数据到一个MySQL中,做分库分表之后的数据汇总
(4) 从一种结构的MySQL表结构同步数据到另外一种MySQL的表结构中。
(5) 所有的数据同步时效性要求高,需要实时或者准实时的同步。
Arkgate,完全满足上述需求,实属业界首创,使用Arkgate同步MySQL数据库时,可以实现MySQL异地多活的数据库架构,并且解决了循环复制的问题。

整体方案架构

从整体上看,方案中含有五个部分:在线MySQL、Arkgate、数据中心、Adapter程序和目标异构数据库。
1、在线MySQL
最左边的MySQL,可以是一个集群,也可以是单个节点,都可以通过同一个Arkgate来做数据传输,一个传输任务称为一个通道,也就是可以有多个通道。
2、Arkgate
Arkgate是一个MySQL插件,在MySQL内部不断运行着传输任务。将Dump过来的Binlog Events数据解析出来,转换为JSON,并行地存储到MySQL中,这是一个数据的中间状态。这个数据库被称为数据中心。
3、数据中心
这是一个数据库实例,可以使用MySQL。在这个数据库实例中,一个数据库对应一个通道,一个通道具有唯一的名字,即Channal Name。在每个数据库中,存储了这个通道相关的所有信息,包括复制主从节点、独立配置参数、从节点对应的位置信息、主节点复制的最新位置、白/黑名单及JSON数据。
4、Adapter程序
标准版Arkgate已经内置了几种目标数据库的Adapter程序,包括HBase、ES及MySQL,这里可以通过配置文件实现表列的对应关系,最终实现实时异构的数据转换。
5、目标异构数据库
数据同步的存储目的数据库。可以是MySQL,也可以是别的存储系统。

核心特性

实时
Arkgate将自己伪装成一个MySQL的从库,通过实时订阅Binlog Events并把它解析转换为JSON格式的数据,然后通过HASH分发,存储到数据中心(MySQL数据库)。
Arkget的Adapter系统,从数据中心将JSON格式的数据取出来,并行存储到目标数据库中。这个过程与MySQL主从复制类似,是准实时的复制,并且是并行处理的。
异构
在数据传输的过程中,Adapte系统可以方便地根据需要异构化数据,把重新组合的数据传输到目的端不同的存储系统中。
数据到目标数据库列的对应关系,实现了异构存储。
多通道
Arkgate可以实现多通道的数据复制,各个通道之间不会互相影响,这样不但可以节省资源,同时还可以把多个源数据库的数据同步到一个目的端,实现数据的归并。
并行
Arkgate通过独特的同步机制,实现了支持随机分发、按照表名分发的功能,将Binlog顺序存储的数据,巧妙地转换为并行处理机制,一方面保证了数据同步的实时性,另一方面提高了机器资源的使用率,节省资源,避免常见的MySQL Replication延迟问题。
插件式
Arkgate是一款MySQL的插件,使用起来非常方便,安装之后即可使用。Arkgate会把复制过程中的相关状态存储在information schema的表里面,可以查看相关表获得相应信息,实现状态监控和报警。
数据完整性
Arkgate可以保证复制的数据完整性,在复制中断后自动识别Binlog的同步状态,找到正确的同步起点,它同时支持串行方式和并行方式。
Arkgate还支持配置复制从节点,如果复制的主节点挂了,会自动切换到源数据库的从节点继续同步数据。如果源数据库集群中打开了GTID,可以保证目标数据库的数据完整性。
三重高可用
Arkgate在建立一个复制通道时,可以配置一个Master和多个Slave,这个Master和Slave可以不与MySQL集群中的Master和Slave对应,他只是相对于当前的Arkgate复制通道而言的。Master节点可以指定一个具体的位置,也可以不指定,不指定的时候,默认从当前最新show master status位置开始复制。而Slave节点则不需要指定。
第一重高可用:复制启动之后,假如Master节点挂了,如果Slave还是可用的话,Arkgate会选择一个节点自动切换过去,并且保证数据的完整性。让后端的分析业务无感知。
第二重高可用:Arkgate本身无状态,所有复制相关的配置都存储在了JSON所在的MySQL数据库中,只需要在第一时间内启动Arkgate并开始复制即可。
第三重高可用:如果需要的话,后端数据中心可以采用现有MySQL高可用架构实现,实现数据中心的高可用。
数据过滤
Arkgate同步数据时,可以指定白名单和黑名单,显示指定要复制哪些库表,或者指定不复制哪些库表,可以通过like 字符串指定模糊字符串。如果指定了白名单,则黑名单被忽略。
参数配置
Arkgate有丰富的配置参数,支持多个通道相互独立的配置,做到独立管理,互不影响。同时参数存储在数据中心中,保证一次配置,永久有效。

异地多活方案

当配置目标数据库为MySQL时,数据的传输实际上就变为了MySQL到MySQL的数据复制,出现脱离自有的MySQL复制功能,而使用Arkgate来做数据复制,解决此问题。

此方案的优点是Arkgate的传输过程更可控,数据所见即所得,不会出现主从复制中断重做数据的问题,让异地数据同步更可靠,在Adapter中也可以实现异地双活中数据分类和校验的逻辑。该架构可以横向扩展,支持异地多活。

深圳市彩云网影科技有限公司 电话: 0755-86575703 传真:0755-26615010
地址: 深圳市南山区深南大道9030号世纪假日广场中心A座—瑞思中心14层13A05-13A07室(地铁罗宝线世界之窗站C1出口)