精华帖 (0) :: 良好帖 (3) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2013-08-27
andye 写道 请问Otter与你们的Datax有多大区别?Datax不也做同步的吗?
定位不同,datax主要是解决全量同步,通过select语句或者dump指令提取数据,然后同步到目标,数据仓库典型用法 canal&otter,主要是解决准实时同步,通过解析数据库日志,然后同步到目标,网站前台的典型用法 |
|
返回顶楼 | |
发表时间:2013-08-27
ray_linn 写道 这个你有胆子用吗???
使用开源产品最怕的是反馈问题无人跟进,版本不发展. 如果你有兴趣,可以进开源沟通群了解下其他使用人员的想法,目前群人数已超过200+. |
|
返回顶楼 | |
发表时间:2013-08-27
andye 写道 请问Otter与你们的Datax有多大区别?Datax不也做同步的吗?
datax做离线同步. |
|
返回顶楼 | |
发表时间:2013-08-27
otter在数据量更新频繁时会不会吃掉所有带宽,对普通用户来讲。
|
|
返回顶楼 | |
发表时间:2013-08-27
最后修改:2013-08-27
whzhaha 写道 otter在数据量更新频繁时会不会吃掉所有带宽,对普通用户来讲。
有这个可能,为了提升传输效率,会加大并发数,建立更多的tcp链接. 当然你也可以限制并发数,限制传输速度,不过这个限制只针对一个同步任务有效,非全局控制,多个同步任务之间的总流量的流控目前无法做。 |
|
返回顶楼 | |
发表时间:2013-08-27
agapple 写道 whzhaha 写道 otter在数据量更新频繁时会不会吃掉所有带宽,对普通用户来讲。
有这个可能,为了提升传输效率,会加大并发数,建立更多的tcp链接. 当然你也可以限制并发数,限制传输速度,不过这个限制只针对一个同步任务有效,非全局控制,多个同步任务之间的总流量的流控目前无法做。 是的,我现在也在写些数据交换组件,网络这块一直是个双韧剑,你网络处理很好,线程用的很好有可能也是灾难,耗尽所有资源对优化来说也是灾难,otter是否可以在双网双线层面去实施。 |
|
返回顶楼 | |
发表时间:2013-08-27
最后修改:2013-08-27
whzhaha 写道 agapple 写道 whzhaha 写道 otter在数据量更新频繁时会不会吃掉所有带宽,对普通用户来讲。
有这个可能,为了提升传输效率,会加大并发数,建立更多的tcp链接. 当然你也可以限制并发数,限制传输速度,不过这个限制只针对一个同步任务有效,非全局控制,多个同步任务之间的总流量的流控目前无法做。 是的,我现在也在写些数据交换组件,网络这块一直是个双韧剑,你网络处理很好,线程用的很好有可能也是灾难,耗尽所有资源对优化来说也是灾难,otter是否可以在双网双线层面去实施。 支持几种网络结构. 1. 单机双网卡. 通过绑定ip到网卡,通讯的时候指定ip进行访问 2. 单机多网络:专线 or 公网. 通讯的时候可以选择是否使用公网传输(需要有公网IP,这ip资源是1对1机器的,ip资源消耗会比较大) |
|
返回顶楼 | |
发表时间:2013-08-28
这个跟国外的SymmetricDS比, 侧重点在哪里? 功能都差不多
|
|
返回顶楼 | |
发表时间:2013-08-28
最后修改:2013-08-28
darkjune 写道 这个跟国外的SymmetricDS比, 侧重点在哪里? 功能都差不多
比较识货,两者功能是差不多。 说一下和它的渊源,otter的第三个版本是基于SymmetricDS 2.x版本发展出来,正是因为有了这层关系,两者才有一些相似。 这次开源的为otter的第四个版本,从2011年开始开发,和SymmetricDS几个不同点: 1. 数据capture方式:otter4目前支持log-based,otter3和SymmetricDS一样,是基于trigger. 2. 双向同步冲突处理:otter4目前已经有比较成熟的方案, 而从SymmetricDS 3.x的文档中看,还处于planing中 3. 调度模型:otter4相比于SymmetricDS,在数据传输的模型上,引入了并行化调度,提升同步tps. 而在SymmetricDS 3.x文档中暂没看到相关的描述,基本还是串行的处理,只不过多了push的功能,这点是otter4没有的 基于log-based的方案,对于数据库的影响相对较少,同时可精确提取具体变更的字段,做到按需同步,而SymmetricDS基于trigger的方式,只能提取到变更的pk,每次同步时基于pk反查源库提取到行记录。从性能上来说,按字段同步传输量和数据库载入上都有很大的优势,从数据冲突上来说,冲突粒度更小了,有利于冲突处理方案的执行。 可以说下,otter3和otter4的性能对比,基本上是一个数量级上的提升,otter3的基于trigger,然后根据pk反查的,处理tps基本只在500~1000tps,而基于log-based,基于字段同步的可以达到5000~10000tps. SymmetricDS有一个比较大的优势就是支持的数据库的比较多,这也是基于log-based所无法超越的,因为完成一个log-based不是那么简单的,代价很高,也就是最近1,2年才陆续有mysql的log-based出现,而oracle的log-based基本上的价格就是一个oracle的价格。 |
|
返回顶楼 | |
发表时间:2013-08-29
agapple 写道 darkjune 写道 这个跟国外的SymmetricDS比, 侧重点在哪里? 功能都差不多
比较识货,两者功能是差不多。 说一下和它的渊源,otter的第三个版本是基于SymmetricDS 2.x版本发展出来,正是因为有了这层关系,两者才有一些相似。 这次开源的为otter的第四个版本,从2011年开始开发,和SymmetricDS几个不同点: 1. 数据capture方式:otter4目前支持log-based,otter3和SymmetricDS一样,是基于trigger. 2. 双向同步冲突处理:otter4目前已经有比较成熟的方案, 而从SymmetricDS 3.x的文档中看,还处于planing中 3. 调度模型:otter4相比于SymmetricDS,在数据传输的模型上,引入了并行化调度,提升同步tps. 而在SymmetricDS 3.x文档中暂没看到相关的描述,基本还是串行的处理,只不过多了push的功能,这点是otter4没有的 基于log-based的方案,对于数据库的影响相对较少,同时可精确提取具体变更的字段,做到按需同步,而SymmetricDS基于trigger的方式,只能提取到变更的pk,每次同步时基于pk反查源库提取到行记录。从性能上来说,按字段同步传输量和数据库载入上都有很大的优势,从数据冲突上来说,冲突粒度更小了,有利于冲突处理方案的执行。 可以说下,otter3和otter4的性能对比,基本上是一个数量级上的提升,otter3的基于trigger,然后根据pk反查的,处理tps基本只在500~1000tps,而基于log-based,基于字段同步的可以达到5000~10000tps. SymmetricDS有一个比较大的优势就是支持的数据库的比较多,这也是基于log-based所无法超越的,因为完成一个log-based不是那么简单的,代价很高,也就是最近1,2年才陆续有mysql的log-based出现,而oracle的log-based基本上的价格就是一个oracle的价格。 基于bin log这种形式,那还需要自己实现分析各种数据库二进制log的代码? 这个似乎比较麻烦,尤其是异构数据库之间的处理,因为你提到双向同步在otter4是可以的,那么你们目前应该也是只支持公司常用的1,2种数据库专门对bin log的数据进行抽取吧。 就我了解,SymmetricDS 的trigger提取到的不只是pk,而是吧所有变动的数据都插入了他的sym_data及对应的sym_outgoing_batch表里,是一个csv格式的, 同步时全发到对方node上, 比你们的字段同步确实粒度大了点。 |
|
返回顶楼 | |