Q&A系列一:DataPipeline常见问题回答
不知不觉中,大家已经陪伴DataPipeline走过了3年时间。在这期间,得益于客户们的积极反馈和沟通,我们总结了一些日常工作中比较常见的问题,并基于这些问题进行了总结。
为避免突兀,我们会先从比较基础且通用的问题开始,进而陆续放出一些稍加复杂的问答,希望大家在接下来的日子里持续关注我们的更新~
Q1: DataPipeline支持的读取方式
A:DataPipeline在成立之初只有一种模式,只支持实时流同步,在我们看来这是未来的一种趋势。
但在后来发现,很多客户实际上有批量同步的需求。比如,银行在每天晚上可能会有一些月结、日结,证券公司也有类似的结算服务。基于一些历史原因,或出于对性能、数据库配置的考虑,可能有的数据库本身不能开change log。所以实际上并不是所有情况下都能从源端获取实时的流数据。
考虑到上述问题,我们认为一个产品在支撑数据融合过程中,必须能同时支撑批量和流式两种处理模式,且在产品里面出于性能和稳定性考虑提供不同的处理策略,这才是一个相对来说比较合理的基础架构。
详情参见:DataPipeline CTO陈肃:构建批流一体数据融合平台的一致性语义保证
Q2:目标端的连接方式是什么
A:对于关系型数据库,写入方式为JDBC,未来版本将通过文件加载的方式提高吞吐率。其它类型的目的地,根据具体类型各不相同。例如FTP目的地用的是FTP Client,Kafka目的地用的是Kafka Producer。
Q3:采集和写入能否对数据进行加密
A:如果是要对数据内容加密可以使用高级清洗。
Q4:DataPipeline安装部署模式
A:DataPipeline 产品是采用Docker容器的部署方式,支持Docker集群;支持虚拟环境(VMW)部署,但不推荐,DataPipeline正在研发支持非Docker部署。
Q5:DataPipeline是否支持图形化监控
A:DataPipeline支持读写速率、数据量、任务进度、错误队列、操作记录、表结构等图形化监控。
Q6:数据库日志保留策略多久合适
A:如,MySQL Binlog保留策略,建议保留日志策略>=3天。
Q7: 后续增量导入数据如何保证一致性
A:DataPipeline默认支持at least once同步机制,保证数据不会在同步过程中丢失。这适合源端有主键、目的地有主键去重能力的场景,例如关系型数据库到关系型数据库的同步。
如果类似Hive这样没有主键去重能力的目的地,DataPipeline支持开启任务级别的端到端一致性选项,通过多阶段提交协议来保证数据一致性。
Q8:监控报警一般在项目上如何使用
A:DataPipeline的数据任务有监控看板和报警两种方式,报警会发送到指定的邮箱,根据错误类型,可以选择重启或通知技术支持,DataPipeline会有工程师协助客户排查错误。
Q9:是否方便扩容
A:DataPipeline支持动态扩容,当集群资源紧张时,无需暂停现有任务,增加新节点后,即可以实现集群的扩容。
Q10:如果一条数据多次、频繁变化,DataPipeline如何保证数据的并行和顺序?
A:DataPipeline源端会将任务按照一定原则拆分为多个互不干扰的子任务进行并行执行。例如:在JDBC源读取场景下,如果任务包括多张表,每个表是由一个独立线程进行顺序读取的,线程并行度可以在任务属性中进行设置。
为了保证顺序写入和读取,默认每个单独子任务会创建一个独立的topic,设置一个分区,这样目标端消费的时候,同一个topic只有一个consumer在进行消费,从而保证消费的顺序性。如果可以接受非顺序消费,也可以为一个topic创建多个分区,这样目的端可以更好地利用Kafka的并行能力提高吞吐量。
本篇集中介绍了10种问题答疑,如果你在工作中遇到了类似的问题,或者对一些答疑心存疑惑,欢迎与我们交流。
Q&A系列一:DataPipeline常见问题回答的更多相关文章
- HTTP/2 常见问题回答
常见问题 为什么修订HTTP? HTTP/1.1已经很好的服务Web超过15个年头,但它的劣势开始显现. 载入一个Web页面比之前占用更多的资源(详情可见HTTP压缩页大小统计),有效的载入这些资源很 ...
- arcgis for android常见问题回答
Q:arcgis for android最新版本是多少?(2014-7-18) Arcgis for android 10.2.3 sdk 百度盘下载地址:http://pan.baidu.com/s ...
- Nexus5如何手动OTA更新系统到4.4.3、4.4.4及常见问题回答
这里将记录一套行之有效的Nexus5手动升级方法,以帮助看见这篇文章的朋友成功将手头的Nexus5升级到4.4.4. 因为谷歌服务器的事,我的这次OTA更新起来走了很多弯路.我试过挂VPN等待系统来更 ...
- Q:关于栈的常见问题
对于栈,一个常见的问题是:给定一个序列a0,a1,a2,a3...an依次顺序入栈,在元素顺序入栈的过程中,栈中任意一个元素可以选择是否出栈,则其共有几种出栈的可能,给定的出栈序列中,哪种是不可能的 ...
- Docker入门系列5:常见问题小结
重启容器 再次运行容器: docker start container_id 然后 docker attach container_id 就可以继续下命令了. [编辑]命名 --name [编辑]端口 ...
- linux系列之-—03 常见问题
问题1 描述:Linux如何查看JDK的安装路径 问题2 描述:执行shell脚本时报错,错误信息为:bash: line 19: jar: command not found 原因:因为在系统环境变 ...
- ENS中文文档系列之三 [ ENS常见问题 ]
原文地址:https://ensuser.com/docs/frequently-asked-questions.html更多最新信息,请前往 ENS 中文服务站点:ENSUser 关于 ENS 注册 ...
- 转移iOS App常见问题和回答
打算转移公司的app,做下转移的记录 怎样转移app官方的一个视频:http://v.youku.com/v_show/id_XNjI0MjQxMzI0.html 以下是apple官方转移常见问题回答 ...
- DataPipeline CTO陈肃:从ETL到ELT,AI时代数据集成的问题与解决方案
引言:2018年7月25日,DataPipeline CTO陈肃在第一期公开课上作了题为<从ETL到ELT,AI时代数据集成的问题与解决方案>的分享,本文根据陈肃分享内容整理而成. 大家好 ...
随机推荐
- 第三期 预测——Frenet 坐标
Frenet坐标 在讨论过程模型之前,我们应该提到“Frenet Coordinates”,它是一种以比传统x,y笛卡尔坐标更直观的方式表示道路位置的方式. 用Frenet坐标,我们使用变量 s和d描 ...
- 详解TableStore模糊查询——以订单场景为例
背景 订单系统在各行各业中广泛应用,为消费者.商家后台.促销系统等第三方提供用户.产品.订单等多维度的管理和查询服务.为了挖掘出海量订单数据的潜能,丰富高效的查询必不可少.然而很多时候并不能给出完整准 ...
- laravel 中使用tinker注入数据到数据库
- 建立一个Web项目及一些错误解决办法
培训之前,先自学一波,写一个从Hello World,然后记录一下每天学习Java Web的过程:东西很多,有用的会写大量解释,希望能最终学完 然后搞定这门语言吧. 1.配置tomacat:点击win ...
- Logback设置SQL参数打印
一.hibernate中设置SQL参数打印: (主要是第一句) <logger name="org.hibernate.type.descriptor.sql.BasicBinder& ...
- H3C 传输层
- H3C ISDN功能组和参考点
- JavaScript 字符串转为数字
js中字符串转为数字主要4种,分别为转换函数,强制转换,js变量弱类型转换,正则表达式. 1.转换函数 JS中提供了两个转换函数parseInt()和parseFloat(),parseInt()将值 ...
- [转]Java多线程学习(总结很详细!!!)
Java多线程学习(总结很详细!!!) 此文只能说是java多线程的一个入门,其实Java里头线程完全可以写一本书了,但是如果最基本的你都学掌握好,又怎么能更上一个台阶呢? 本文主要讲java中多线程 ...
- 用复制方式创建表 Create Table tbname as select * from user.tab where ...
用复制方式创建表 Create Table tbname as select * from user.tab where ...