Databus 深入学习

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一、关于databus

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

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

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

Databus 深入学习

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 深入学习

 

上图中介绍了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.是用来将数据库数据同步到缓存中,这样主要是为了减轻数据库读压力。

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183412.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【深度学习】R-CNN 论文解读及个人理解[通俗易懂]

    背景本篇论文的题目是《Richfeaturehierarchiesforaccurateojectdetectionandsemanticsegmentation》,翻译过来就是针对高准确度的目标检测与语义分割的多特征层级,通俗地来讲就是一个用来做目标检测和语义分割的神经网络。本文作者:RossGirshick,JeffDonahue,TrevorDarrell,Ji…

    2022年4月18日
    67
  • 用混淆矩阵计算kappa系数「建议收藏」

    用混淆矩阵计算kappa系数「建议收藏」从一篇论文——融合注意力机制和高效网络的糖尿病视网膜病变识别与分类,看到人家除了特异性、敏感性、准确率、混淆矩阵以外,还用了加权kappa系数,所以了解一下kapp系数的知识,加权kappa还没找到更好的资料。。。资料来源于百度百科词条——kappa系数Kappa系数用于一致性检验,也可以用于衡量分类精度,但kappa系数的计算是基于混淆矩阵的.kappa系数是一种衡量分类精度的指标。它是通过把所有地表真实分类中的像元总数(N)乘以混淆矩阵对角线(Xkk)的和,再减去某一类地表真实像元总数与该类中被

    2022年6月28日
    31
  • dirmap + dirsearch 安装和使用教程「建议收藏」

    dirmap + dirsearch 安装和使用教程「建议收藏」0x00安装运行报错一个一个模块安装很麻烦,看看dirmap给的requirement.txtgeventrequestsprogressbar2lxml直接pip3install-rrequirement.txt愉快的开始0x01使用

    2022年9月28日
    0
  • python爬虫实例大全

    python爬虫实例大全WechatSogou [1]- 微信公众号爬虫。基于搜狗微信搜索的微信公众号爬虫接口,可以扩展成基于搜狗搜索的爬虫,返回结果是列表,每一项均是公众号具体信息字典。DouBanS

    2022年7月3日
    32
  • python导入鸢尾花数据集_python数据挖掘学习笔记】十九.鸢尾花数据集可视化、线性回归、决策树花样分析…

    #2018-04-0516:57:26AprilThursdaythe14week,the095daySZSSMRpython数据挖掘学习笔记】十九.鸢尾花数据集可视化、线性回归、决策树花样分析1.鸢尾花数据集可视化分析2.线性回归分析鸢尾花花瓣长度和宽度的关系3.决策树分析鸢尾花数据集4.Kmeans聚类分析鸢尾花数据集一.鸢尾花数据集介绍本章采用Python的Sklea…

    2022年4月16日
    126
  • Java学习之IDEA调试快捷键

    Java学习之IDEA调试快捷键1、F7单步调试,进入函数内部2、F8单步调试,不进入函数内部3、Shift+F7选择要进入的函数4、Shift+F8跳出函数5、Alt+F9运行到

    2021年12月12日
    76

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号