不知不觉中,大家已经陪伴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常见问题回答的更多相关文章

  1. HTTP/2 常见问题回答

    常见问题 为什么修订HTTP? HTTP/1.1已经很好的服务Web超过15个年头,但它的劣势开始显现. 载入一个Web页面比之前占用更多的资源(详情可见HTTP压缩页大小统计),有效的载入这些资源很 ...

  2. arcgis for android常见问题回答

    Q:arcgis for android最新版本是多少?(2014-7-18) Arcgis for android 10.2.3 sdk 百度盘下载地址:http://pan.baidu.com/s ...

  3. Nexus5如何手动OTA更新系统到4.4.3、4.4.4及常见问题回答

    这里将记录一套行之有效的Nexus5手动升级方法,以帮助看见这篇文章的朋友成功将手头的Nexus5升级到4.4.4. 因为谷歌服务器的事,我的这次OTA更新起来走了很多弯路.我试过挂VPN等待系统来更 ...

  4. Q:关于栈的常见问题

     对于栈,一个常见的问题是:给定一个序列a0,a1,a2,a3...an依次顺序入栈,在元素顺序入栈的过程中,栈中任意一个元素可以选择是否出栈,则其共有几种出栈的可能,给定的出栈序列中,哪种是不可能的 ...

  5. Docker入门系列5:常见问题小结

    重启容器 再次运行容器: docker start container_id 然后 docker attach container_id 就可以继续下命令了. [编辑]命名 --name [编辑]端口 ...

  6. linux系列之-—03 常见问题

    问题1 描述:Linux如何查看JDK的安装路径 问题2 描述:执行shell脚本时报错,错误信息为:bash: line 19: jar: command not found 原因:因为在系统环境变 ...

  7. ENS中文文档系列之三 [ ENS常见问题 ]

    原文地址:https://ensuser.com/docs/frequently-asked-questions.html更多最新信息,请前往 ENS 中文服务站点:ENSUser 关于 ENS 注册 ...

  8. 转移iOS App常见问题和回答

    打算转移公司的app,做下转移的记录 怎样转移app官方的一个视频:http://v.youku.com/v_show/id_XNjI0MjQxMzI0.html 以下是apple官方转移常见问题回答 ...

  9. DataPipeline CTO陈肃:从ETL到ELT,AI时代数据集成的问题与解决方案

    引言:2018年7月25日,DataPipeline CTO陈肃在第一期公开课上作了题为<从ETL到ELT,AI时代数据集成的问题与解决方案>的分享,本文根据陈肃分享内容整理而成. 大家好 ...

随机推荐

  1. less的引入和使用

    文章地址:https://www.cnblogs.com/sandraryan/ 之前就了解过less,但项目一直用的是css,所以,重新做一次系统的了解,顺便写个博客Orz 简介 less和sass ...

  2. hdu 5656 CA Loves GCD

    CA Loves GCD Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)To ...

  3. 谈谈数据库的 ACID(转)

    一.事务 定义:所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位. 准备工作:为了说明事务的ACID原理,我们使用银行账户及资金管理的案例进行分析. 二.ACI ...

  4. React与Vue的相同与不同点

    我们知道JavaScript是世界上最流行的语言之一,React和Vue是JS最流行的两个框架.所以要想前端的开发那么必须掌握好这两个框架. 那么这两个框架有什么不同呢? React 和 Vue 相同 ...

  5. SQL,范式,事务

    数据库范式: 构造数据库必须遵循一定的规则.在关系数据库中,这种规则就是范式. 范式是符合某一种级别的关系模式的集合.数据库中的关系必须满足一定的要求,即满足不同的范式. 满足最低要求的范式是第一范式 ...

  6. Python--day62--Django安装,配置,web请求流程,views.py总结

    1,安装Django 2,创建Django项目: 3,配置Django项目 1.settinngs.py文件 1.templates文件夹的位置 2.静态文件 1,STATIC_URL   ----- ...

  7. UVA 437 "The Tower of Babylon" (DAG上的动态规划)

    传送门 题意 有 n 种立方体,每种都有无穷多个. 要求选一些立方体摞成一根尽量高的柱子(在摞的时候可以自行选择哪一条边作为高): 立方体 a 可以放在立方体 b 上方的前提条件是立方体 a 的底面长 ...

  8. 【u105】路径计数2

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 一个N×N的网格,你一开始在(1, 1),即左上角.每次只能移动到下方相邻的格子或者右方相邻的格子,问 ...

  9. Java动态编译优化——提升编译速度(N倍)

    一.前言 最近一直在研究Java8 的动态编译, 并且也被ZipFileIndex$Entry 内存泄漏所困扰,在无意中,看到一个第三方插件的动态编译.并且编译速度是原来的2-3倍.原本打算直接用这个 ...

  10. H3C配置Trunk端口