MySql三方工具

Yearning

1.1.1 Yearning简介

Yearning 开源的MySQL SQL语句审核平台,提供数据库字典查询,查询审计,SQL审核等多种功能。
Yearning 1.x 版本需Inception提供SQL审核及回滚功能。

Inception是集审核,执行,回滚于一体的自动化运维系统,它是根据MySQL代码修改过来的,工作模式和MySQL相同。Yearning是基于python实现的Web版人机交互界面。

Yearning 2.0 版本开始无需Inception,已自己实现了SQL审核及回滚功能。
Yearning1.0 python版本已不再进行官方维护。
Yearning2.0 golang版本为后续维护项目。

如仍使用python版本Yearning须知:
Yearning python版本不会闭源,仍可基于AGPL3.0许可进行二次开发。
由于inception已闭源失去后续支持,python版本将失去对审核规则及审核逻辑的维护。(此问题即使Yearning项目也无法解决。go版本已实现相关审核逻辑,由Yearning自己维护,保证后续维护的可控性。)
已知python版本含有多个提权漏洞(用户 -> 管理员) golang版本通过token内嵌角色信息的方式避免了此类问题。

强烈建议使用Yearning2.0。

1.1.2 Yearning功能

  • Yearning 工具包含的主要功能如下:
    • SQL查询
      • 查询导出
      • 查询自动补全
    • SQL审核
      • 流程化工单
      • SQL语句检测
      • SQL语句执行
      • SQL回滚
      • 历史审核记录
    • 推送
      • 站内信工单通知
      • E-mail工单推送
      • 钉钉webhook机器人工单推送
    • 其他
      • todoList
      • LDAP登陆
    • 用户权限及管理
      • 拼图式细粒度权限划分
  • 功能界面
    • dashboard
      dashboard主要展示Yearning各项数据包括用户数/数据源数/工单数/查询数以及其他图表。
      个人信息栏内用户可以修改密码/邮箱/真实姓名,同时可以查看该用户权限以及申请权限
      在这里插入图片描述

    • 我的工单
      展示用户提交的工单信息。对于执行失败/驳回的工单点击详细信息后可以重新修改sql并提交;对于执行成功的工单可以查看回滚语句并且快速提交SQL。
      在这里插入图片描述

    • DDL审核
      DDL相关SQL提交审核,查看表结构/索引,SQL语法高亮/自动补全在这里插入图片描述

    • DML审核
      DML相关SQL提交审核,SQL语法高亮/自动补全。所有的SQL只有在检测后错误等级为0时提交按钮才会激活
      在这里插入图片描述

    • 查询审核
      查询/导出数据 SQL语法高亮/自动补全,快速DML语句提交。
      在这里插入图片描述

    • 工单审核
      DDL/DML管理员审核并执行。
      在这里插入图片描述

    • 数据库管理
      添加/编辑/删除 数据源。所有添加的数据源应在添加之前点击测试连接按钮进行连接性测试,保证连接性。
      数据源分为查询数据源/非查询数据源。查询数据源仅会出现在细粒度权限的查询数据源范围内。非查询数据源同理。
      在这里插入图片描述

    • 用户权限管理
      用户权限修改。
      在这里插入图片描述

    • 审核规则管理
      设置SQL检测规则。数值型规则0值都为不受限制,保存后即时生效。
      在这里插入图片描述

想了解更多Yearning工具安装和使用详情,可参考官网文档:https://guide.yearning.io/

canal

1.2.1 canal简介

canal 译意为水道/管道,主要用途是基于MySQL数据库增量日志解析,提供增量数据订阅和消费。
早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求,实现方式主要是基于业务
trigger 获取增量变更。从 2010 年开始,业务逐步尝试数据库日志解析获取增量变更进行同步,由此衍生出了大量的数据库增量订阅和消费业务。
基于日志增量订阅和消费的业务包括以下内容:

  • 数据库镜像
  • 数据库实时备份
  • 索引构建和实时维护(拆分异构索引、倒排索引等)
  • 业务 cache 刷新
  • 带业务逻辑的增量数据处理

当前的 canal 支持源端 MySQL 版本包括 5.1.x , 5.5.x , 5.6.x , 5.7.x , 8.0.x

1.2.2 canal工作原理

MySQL主备复制原理
在这里插入图片描述

  • MySQL master 将数据变更写入二进制日志( binary log, 其中记录叫做二进制日志事件binary log events,可以通过 show binlog events 进行查看)
  • MySQL slave 将 master 的 binary log events 拷贝到它的中继日志(relay log)
  • MySQL slave 重放 relay log 中事件,将数据变更反映它自己的数据

canal的工作原理类似mysql主从同步原理:
在这里插入图片描述

  • canal模拟MySQL slave的交互协议,伪装自己为MySQL slave,向MySQL master发送dump协议MySQL master收到dump协议
  • MySQL master收到dump协议请求,开始推送binary log 给canal
  • canal解析binary log对象(原始为byte流)

1.2.3 canal应用场景

该技术在拉勾网职位搜索业务中得到了采用,场景:在企业HR发布、更新或删除职位时,我们需要及时更新职位索引,便于求职者能快速的搜索到。
在这里插入图片描述

想了解更多cannal工具详情,可参考官网文档:https://github.com/alibaba/canal

1.3 DataX

1.3.1 DataX简介

DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。
在这里插入图片描述
设计理念
为了解决异构数据源同步问题,DataX将复杂的网状的同步链路变成了星型数据链路,DataX作为中间传输载体负责连接各种数据源。当需要接入一个新的数据源的时候,只需要将此数据源对接到DataX,便能跟已有的数据源做到无缝数据同步。

当前使用现状
DataX在阿里巴巴集团内被广泛使用,承担了所有大数据的离线同步业务,并已持续稳定运行了多年。当年每天完成同步8w

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值