- 5
- 0
- 约 8页
- 2017-06-27 发布于天津
- 举报
数据集成进阶与深入
数据集成
进阶与深入
PB 级云数据库 PetaData/服务条款
进阶与深入
为构建云上四通八达的数据同步通道,CDP Job自身定义一套数据中间格式。针对不同的
数据通道,实现不同的读取插件完成从各类数据源抽取数据(CDP称之为Reader),以及不
同写入插件向各类数据源写入数据(CDP称之为Writer)。CDP的各类插件实际上是完成了
各类数据源对接CDP的适配器。如下:
CDP利用RDSReader(实际上是MysqlReader)完成数据从RDS抽取,并转换为
CDP的数据协议,投递给CDP传输中间层。
CDP利用ODPSWriter完成CDP的数据协议转换为ODPS的数据协议,并将转换后的
数据向ODPS写入。
通过上述CDP数据中间层,CDP可以为公有云上构建出四通八达的数据传输同步通道,让
数据不再是孤岛!
1
云数据库 Memcache 版/API使用文档
CDP在进行数据同步过程中,为了提升Job数据传输吞吐能力,CDP通常将对传输数
据集进行细粒度切分(CDP称之为Task),并启动多线程乃至于多进程运行容器运行
Task进行数据传输服务。单个Task运行容器CDP定义为传输单元。
CDP单个传输单元数据吞吐带宽为1MB/s,受限于源宿两端数据源的限制,CDP无法
保证单个传输单元一定维持在1MB/s。例如用户需要为单Job分配5MB/s的带宽
,CDP将启动5个数据传输单元,吞吐量维持在5MB/s左右。由于两端数据源负载压
力,该Job运行期间可能存在上下波动,无法一直维持在5MB/s,但能够保证最大流
量不超过5MB/s。
为最大化数据同步的Job传输吞吐量,CDP将对Job进行更细粒度的任务切分,并启动多个
数据传输单元进行并行数据同步。CDP的切分规则由CDP框架定义接口,具体切分规则交
由具体传输插件负责实现,例如:对于ODPS而言,数据切分根据ODPS表的Record偏移
2
密钥管理服务/API 文档
量计算数据分片。对于Mysql Reader插件而言,其切分算法按照Mysql数据表主键范围切
分。
以Mysql抽取数据为例,MysqlReader启动后将连接源数据端,计算数据表主键范围,如
[Min, Max],并根据用户带宽需求切分上述[Min, Max]区间范围,每个子区间将作为一个
Task提交给后续传输单元进行执行。例如,上述Mysql数据表主键范围在
[1,4],MysqlReader根据用户需要的吞吐量计算得出数据切分规则需要两个数据子集,因
此将数据区间区分为[1, 2]、[3, 4]两个数据子集,两个数据子集交由不同的同步传输单元
完成。
CDP数据同步面向是结构化、半结构化的数据同步,CDP对于源宿两端数据源均会抽象为
一张二维表进行传输和映射。CDP对于字段的映射是按照配置字段顺序进行一一映射,而
非依赖源宿两端字段名称。
CDP本身不对源宿两端字段做任何约束,视用户填写字段顺序一一传递。由于存在异构源
宿两端字段个数可能不一致情况,CDP做如下约定:
3
专有网络 VPC/API使用手册
• 源端字段和目标端字段个数一致
CDP推荐配置源宿两端数据字段个数一致,避免数据字段补空情况。
• 源端字段比目标端字段多
源端字段比目标端字段列数多意味着一定存在数据丢失情况,为避免
原创力文档

文档评论(0)