databus 支持oracle么,Databus[通俗易懂]
系统如果要应付大规模的请求,一条必经之路就是数据库的分割,单服务器的性能早晚都会成为负载的短板。而数据库分割,通常有Master/Salve或者集群Cluster的方式,这些方式通常都是基于同种类型的数据。对于一个庞大的多类型数据库的系统,在不同的数据库之间(甚至是不同地理位置的机房间)保持数据的同步,需要更复杂的解决方案。LinkedIn良心开源了内部的一个项目Databus,正是解决这个问题的一套实时低延迟数据同步系统。
Databus采用的是数据库日志挖掘的方式,这种方式最大的好处是能最大限度的保持一致性,而且具有最有的性能,但是缺点就是实现起来极为困难。因为Oracle和MySQL这样的数据库有自己特有的私有交易日志格式以及复制冗余解决方案,每次版本升级之后可能都会导致日志挖掘的代码失败,需要持续的保持升级。
当然以LinkedIn的技术实力,他们还是解决了那些问题。Databus的传输层端到端延迟是微秒级的,每台服务器每秒可以处理数千次数据吞吐变更事件,同时还支持无限回溯能力和丰富的变更订阅功能。
Databus具有如下特性:
来源独立:Databus支持多种数据来源的变更抓取,包括Oracle和MySQL。
可扩展、高度可用:Databus能扩展到支持数千消费者和事务数据来源,同时保持高度可用性。
事务按序提交:Databus能保持来源数据库中的事务完整性,并按照事务分组和来源的提交顺寻交付变更事件。
低延迟、支持多种订阅机制:数据源变更完成后,Databus能在微秒级内将事务提交给消费者。同时,消费者使用Databus中的服务器端过滤功能,可以只获取自己需要的特定数据。
无限回溯:这是Databus最具创新性的组件之一,对消费者支持无限回溯能力。当消费者需要产生数据的完整拷贝时(比如新的搜索索引),它不会对主OLTP数据库产生任何额外负担,就可以达成目的。当消费者的数据大大落后于来源数据库时,也可以使用该功能。
Databus的系统构成
Databus由Databus Relays(中继)和Databus Client(客户端):
Databus Relay中继的功能主要包括:
从Databus来源读取变更行,并在内存缓存内将其序列化为Databus变更事件;
监听来自Databus客户端(包括Bootstrap Producer)的请求,并传输新的Databus数据变更事件。
Databus客户端的功能主要包括:
检查Relay上新的数据变更事件,并执行特定业务逻辑的回调;
如果落后Relay太多,向Bootstrap Server发起查询;
新Databus客户端会向Bootstrap Server发起bootstrap启动查询,然后切换到向中继发起查询,以完成最新的数据变更事件;
单一客户端可以处理整个Databus数据流,或者可以成为消费者集群的一部分,其中每个消费者只处理一部分流数据。
最近一直在研究这个项目,希望能应用在整个系统的架构中,对于重要数据在跨系统中保持自动同步,这样可以大大减少代码层面不同系统中的数据API的调用,简化IT的工作量。
对Databus项目感兴趣的同学,可以去Databus在Github上的页面查看更多信息。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/181023.html原文链接:https://javaforall.cn
相关文章
- oracle split 分割字符串,Oracle字符串分割Split[通俗易懂]
- 查oracle的tps,Oracle TPS指标[通俗易懂]
- ORA-26059: Data is too large for column string ORACLE 报错 故障修复 远程处理
- Oracle中参数化编程优势揭秘(oraclein参数化)
- 分割Oracle数据库块、区、段分割技术(oracle块区段)
- 支持Oracle社区:强大的技术支持力量(oracle社区)
- Oracle实现动态输入变量的方法(oracle输入变量)
- 轻松操作:Oracle导入导出数据指南(oracle导入导出数据)
- 考试感受写下我的Oracle考试回忆(oracle上一年)
- 深入浅出Oracle数据库算法(oracle数据库算法)
- Oracle 数据库是否支持等式判断?(oracle是否相等)
- Oracle升级:如何应对潜在的风险?(oracle升级风险)
- Oracle 助力中文发展(oracle支持中文)
- 实现数据整形转换:Oracle对整型的支持与应用(oracle转换整型)
- 深入解析Oracle内存管理的四大进程(oracle内存四大进程)
- Oracle如何关闭账户密码策略(oracle关闭密码策略)
- Oracle全外连接使用技巧精讲(oracle全外连接写法)
- cxOracle官网最贴心的Oracle支持服务(cx oracle 官网)
- 提升系统效能CPU并行加速Oracle运行(cpu并行oracle)
- 服务AIX上关闭Oracle服务的步骤(AIX关掉oracle)
- DR ORACLE中国专业支持服务之旅(dr.oracle.cn)
- Oracle职位职责支持企业数据服务器的稳定运行(oracle主要工作职责)
- Oracle中空格不被支持(oracle中空格不匹配)
- Oracle大战人才岂止于此(oracle人才哄抢)
- Oracle数据库支持IPv6环境(oracle使用ipv6)
- Oracle推出降低作业成本新方案(oracle作业成本)
- 类型Oracle中对小数的数据类型支持(oracle中小数用什么)
- Oracle中快速创建表格(oracle中创建表格)
- Oracle不支持分号未来还有变动吗(oracle不支持分号)
- Oracle采用Iconv实现跨平台编码支持(oracle iconv)