一、关于databus

        LinkedIn于2月26日开源了其低延时变化数据捕获系统Databus,该系统可以在MySQL以及Oracle数据源上捕获数据,当下LinkedIn只开源了Oracle上的连接器。Databus作为LinkedIn生态系统中的一致性保障组件,在低延时的情况下仍然具有高有效性;而其最大的特点莫过于无限制恢复能力及丰富的数据深度处理功能。

二、基于databus的数据系统架构

对数据系统对功能进行了有限的分割,传统的数据库被用来作简单的数据存储,有效的保证了数据一致性(包含事务);通过毫秒级的事件转发,可以按业务需求构建索引或多个数据副本,以支撑复杂的业务需求;保证顺序的数据变化事件日志为整个数据系统提供的不限制的数据恢复能力。

Databus Relays

1、捕获数据库行变化,在内存中打包为数据变化事件;

2、监听Clients的请求,将数据变化事件发送给Client。

Databus Clients

1、检查数据变化事件,并回调业务逻辑;

2、如挂掉,从databus bootstrap server读取挂掉后的所有数据变化事件;

3、新的client加入,先从databus bootstrapserver读取数据,之后变为处理最近的数据变化事件;

4、一个client可以处理全部的事件流,也可多个client分块处理事件流。

Databus Bootstrap Producers

1、bootstrap producer是一个特殊的client;

2、从relay接收新的数据变化事件;

3、把这些事件存储起来(如MYSQL);

4、存储的事件用于新client的加入,或都client挂掉后的恢复。

Databus Bootstrap Servers

1、监听client的请求,把存储的事件发送给client。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Databus提供如下功能:

来源独立:Databus支持多种数据来源的变更抓取,包括Oracle和MySQL。Oracle适配器在开源版本中有提供,MySQL适配器将在以后提供。
可扩展、高度可用:Databus能扩展到支持数千消费者和事务数据来源,同时保持高度可用性。
事务按序提交:Databus能保持来源数据库中的事务完整性,并按照事务分组和来源的提交顺寻交付变更事件。
低延迟、支持多种订阅机制:数据源变更完成后,Databus能在微秒级内将事务提交给消费者。同时,消费者使用Databus中的服务器端过滤功能,可以只获取自己需要的特定数据。
无限回溯:这是Databus最具创新性的组件之一,对消费者支持无限回溯能力。当消费者需要产生数据的完整拷贝时(比如新的搜索索引),它不会对主OLTP数据库产生任何额外负担,就可以达成目的。当消费者的数据大大落后于来源数据库时,也可以使用该功能。

上图中介绍了Databus系统的构成,包括中继Relay、bootstrap服务和客户端库。Bootstrap服务中包括Bootstrap Producer和Bootstrap Server。快速变化的消费者直接从Relay中取事件。如果一个消费者的数据更新大幅落后,它要的数据就不在Relay的日志中,而是在Bootstrap Producer里面,提交给它的,将会是自消费者上次处理变更之后的所有数据变更快照。

Databus Relay中继的功能主要包括:

1、从Databus来源读取变更行,并在内存缓存内将其序列化为Databus变更事件
2、监听来自Databus客户端(包括Bootstrap Producer)的请求,并传输新的Databus数据变更事件

Databus客户端的功能主要包括:

1、检查Relay上新的数据变更事件,并执行特定业务逻辑的回调
2、如果落后Relay太多,向Bootstrap Server发起查询
3、新Databus客户端会向Bootstrap Server发起bootstrap启动查询,然后切换到向中继发起查询,以完成最新的数据变更事件
4、单一客户端可以处理整个Databus数据流,或者可以成为消费者集群的一部分,其中每个消费者只处理一部分流数据

Databus Bootstrap Producer只是一种特定的Databus客户端,它的功能有:

检查中继上的新数据变更事件
将变更存储在MySQL数据库中
MySQL数据库供Bootstrap和客户端使用
Databus Bootstrap Server的主要功能,就是监听来自Databus客户端的请求,并返回长期回溯数据变更事件。

目前databus的主要应用:1.是主数据库和衍生数据库的同步,一般是为了对主数据库数据按另外维度进行组织,提供给查询使用 2.是用来将数据库数据同步到缓存中,这样主要是为了减轻数据库读压力。

Databus 深入学习相关推荐

  1. Databus 学习笔记

    一.前言 databus源自Canal, 仅把内存缓存改成用kafka实现.当前Canal也已经支持了kafka缓存的方式. 二.Canal介绍 1.Canel简介 canal [kə'næl],译意 ...

  2. 史上最全的“大数据”学习资源

    2019独角兽企业重金招聘Python工程师标准>>> 资源列表: 关系数据库管理系统(RDBMS) 框架 分布式编程 分布式文件系统 文件数据模型 Key -Map 数据模型 键- ...

  3. MySQL 的 Binlog 日志处理工具(Canal/Maxwell/Databus/DTS)对比

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! Canal 定位:基于数据库增量日志解析,提供增量数据订阅 ...

  4. 干货丨不可错过的大数据学习资源推荐

    今天为大家推荐一些翻译整理的大数据相关的非常棒的学习资源,希望能给大家一些帮助. 关系数据库管理系统(RDBMS) MySQL:世界最流行的开源数据库: PostgreSQL:世界最先进的开源数据库: ...

  5. 一款低延迟的分布式数据库同步系统--databus

    每次看到马路对面摩托罗拉的大牌子,都想起谷歌125亿美元收购摩托罗拉移动,后来又以29亿美元卖给联想的事情.谷歌所做的决策都比较考虑长远利益,在这串交易中,谷歌获得了摩托罗拉最有价值的几千项专利,稳健 ...

  6. 最全的“大数据”学习资源

    关系数据库管理系统(RDBMS) 框架 分布式编程 分布式文件系统 文件数据模型 Key -Map 数据模型 键-值数据模型 图形数据模型 NewSQL数据库 列式数据库 时间序列数据库 类SQL处理 ...

  7. verilog赋多位值_Verilog入门学习笔记——第一弹

    关注.星标公众号,直达精彩内容 公众号:ZYNQ 整理:watchman Verilog HDL是一种硬件描述语言,以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图.逻辑表达式, ...

  8. 大数据学习资源最全版本(收藏)

    资源列表: 关系数据库管理系统(RDBMS) 框架 分布式编程 分布式文件系统 文件数据模型 Key -Map 数据模型 键-值数据模型 图形数据模型 NewSQL数据库 列式数据库 时间序列数据库 ...

  9. 史上最全大数据学习资源整理

    史上最全大数据学习资源整理 ----------------------------------------------------------------------------------- 转载 ...

最新文章

  1. poj1220:高精度进制转换模板题
  2. 开关电源怎么测试文波_示波器测试开关电源纹波的方法
  3. 开学季,如何用数据保证学生安全?这套方案值得一看
  4. Yes, Prime Minister 打表找规律-质数
  5. windows下部署oracle11,windows下配置oracle11g的dataguard
  6. Spring Cloud Security:Oauth2实现单点登录
  7. linux安装mysql(shell一键安装)
  8. 脑洞大开的插画师,每幅都戳到我诡异的笑点
  9. 确定数组是否包含值[重复]
  10. [Giveaway] 来自AnyBizSoft、4Media、EASEUS的限时免费软件
  11. 绚丽的javascript拾色器(不兼容IE8及以下)
  12. 再也不见,Itchat!
  13. activiti5 工作流
  14. JavaScript闭包理解
  15. 学完这些,能做出微信吗?国庆节7天不知道能否撸出来一个,我要试试!!!---酷课堂iOS交流群问答整理(201809期)
  16. 安川伺服驱动器软件SigmaWin
  17. windwos .bat脚本大全
  18. 《凡人修仙传》8.25正式上线链游玩家 | 修仙世界、天降神器
  19. 【语言模型系列】实践篇:ALBERT在房产领域的实践
  20. 【生产调度】基于Harmony Search (HSPMS) 和 Shuffled Complex Evolution (SCEPMS) 实现并行机器调度附matlab代码

热门文章

  1. shell脚本中变量一定要加双引号
  2. 用python画一幅美瞳,今日份来自程序员的浪漫
  3. js requestFullscreen实现全屏功能 浏览器兼容问题解决
  4. (二十四)解释器模式详解
  5. 《人生果实》经典语录
  6. 01JavaScript基础
  7. 快递查询方法,教你一次性查询全部单号物流并进行筛选
  8. Linux文件夹权限
  9. Magic Data入选艾瑞《中国面向人工智能的数据治理》行业研究报告
  10. win10 第一次开机卡死强制关闭第二次开机才正常