BOB(中国)官方入口-BOB平台在线入口

栏目分类
热点资讯
BOB电竞平台
你的位置:BOB(中国)官方入口-BOB平台在线入口 > BOB电竞平台 > BOB电竞平台 数仓|几栽常见的数据同步手段
BOB电竞平台 数仓|几栽常见的数据同步手段

发布日期:2021-11-20 07:40    点击次数:147

BOB电竞平台

本文转载自微信公多号「大数据技术与数仓」,作者西贝。转载本文请有关大数据技术与数仓公多号。

BOB电竞平台写在前线 BOB电竞平台

数据仓库的特性之一是集成,即最先把未经过添工处理的、分歧的、分歧形势的数据同步到ODS层,清淡情况下,这些ODS层数据包括日志数据和营业DB数据。对于营业DB数据而言是专门主要的一个环节。

BOB电竞平台

那么,该如何将营业DB数据高效实在地同步到数仓中呢?清淡企业会操纵两栽方案:直连同步与实时添量同步。其中直连同步的基本思路是直连数据库进走SELECT,然后将查询的数据存储到本地文件行为中间存储,末了把文件Load到数仓中。这栽手段专门的简片面便,但是随着营业的发展,会遇到一些瓶颈,详细见下文分析。

BOB电竞平台

为晓畅决这些题目,清淡会操纵实时添量的手段进走数据同步,其基本原理是CDC+Merge,即实时Binlog采集+离线处理Binlog还原营业数据云云一套解决方案。

BOB电竞平台

本文主要包括以下内容,期待对你有所协助

BOB电竞平台 BOB电竞平台常见数据同步手段 BOB电竞平台流式数据集成 BOB电竞平台 BOB电竞平台数据同步的手段 BOB电竞平台直连同步 BOB电竞平台

直连同步是指经过定义益的规范接口API和基于动态链接库的手段直一连接营业库,比如ODBC/JDBC等规定了同一的标准接口,分歧的数据库基于这套标准挑供规范的驱动,从而声援十足相通的函数调用和SQL实现。比如频繁操纵的Sqoop就是采取这栽手段进走批量数据同步的。

BOB电竞平台

直连同步的手段配置相等浅易BOB电竞平台,很容易上手操作,比较正当操作型营业编制的数据同步,但是会存在以下题目:

BOB电竞平台 BOB电竞平台数据同步时间:随着营业周围的添长,数据同步消耗的时间会越越长,无法已足下游数仓生产的时间请求。 BOB电竞平台性能瓶颈:直连数据库查询数据,对数据库影响专门大,容易造成慢查询,倘若营业库异国采取主备策略,则会影响营业线上的平常服务,倘若采取了主备策略,固然能够避免对营业编制的性能影响,但当数据量较大时,性能照样会很差。 BOB电竞平台 BOB电竞平台

BOB电竞平台日志解析 BOB电竞平台

所谓日志解析,即解析数据库的变更日志,比如MySQL的Binlog日志,Oracle的归档日志文件。经过读取这些日志新闻,搜集转折的数据并将其解析到现在的存储中即可完善数据的实时同步。这栽读操作是在操作编制层面完善的,不必要经过数据库,所以不会给源数据库带性能上的瓶颈。

BOB电竞平台

数据库日志解析的同步手段能够实现实时与准实时的同步,耽延能够限制在毫秒级别的,其最大的上风就是性能益、效果高,不会对源数据库造成影响,现在,从营业编制到数据仓库中的实时添量同步,普及采取这栽手段。自然,这栽手段也会存在一些题目,比如批量补数时造成大量数据更新,日志解析会处理较慢,造成数据耽延。除此之外,BOB电竞平台这栽手段比较复杂投入也较大由于必要一个实时的抽取编制往抽取并解析日志下文会对此进走详细注释。

BOB电竞平台

BOB电竞平台

如上图所示架构在直连同步基础之上增补了流式同步的链路经过流式计算引擎把响答的Binlog采集到Kafka同时会经过一个Kafka2Hive的程序把它导入到原起数据再经过一层Merge产出下游必要的ODS数据。

BOB电竞平台

上述的数据集成手段上风是专门清晰的把数据传输的时间放到了T+0这镇日往做在第二天的时候只必要往做一次merge就能够了。专门撙节时间和计算资源。

BOB电竞平台流式数据集成实现 BOB电竞平台实现思路 BOB电竞平台

BOB电竞平台

最先采用Flink负责把Kafka上的Binlog数据拉取到HDFS上生成添量外。

BOB电竞平台

然后对每张ODS外最先必要一次性制作快照把MySQL里的存量数据读取到Hive上这一过程底层采用直连MySQL往Select数据的手段能够操纵Sqoop进走一次性全量导入生成一张全量外。

BOB电竞平台

末了对每张ODS外每天基于存量数据和当天添量产生的Binlog做Merge从而还原出营业数据。

BOB电竞平台

Binlog是流式产生的经过对Binlog的实时采集把片面数据处理需求由每天一次的批处理分摊到实时流上。不论从性能上照样对MySQL的访问压力上都会有清晰地改善。Binlog自己记录了数据变更的类型经过一些语义方面的处理十足能够做到精准的数据还原。

BOB电竞平台

关于Binlog解析片面能够操纵canal工具采集到Kafka之后能够操纵Flink解析kafka数据并写入到HDFS上解析kafka的数据能够操纵Flink的DataStreamAPI也能够操纵FlinkSQL的canal-json数据源格式进走解析操纵FlinkSQL相对说是比较浅易的。下面是canal-json格式的kafka数据源。

BOB电竞平台
CREATE TABLE region ; 
BOB电竞平台

数据解析完善之后下面的就是相符并还原完善数据的过程关于相符并还原数据一栽比较常见的手段就是全外连接。详细如下:

BOB电竞平台

生成添量外与全量外的Merge义务当天的添量数据与昨天的全量数据进走全外连接该Merge义务的基本逻辑是:

BOB电竞平台
INSERT OVERWRITE TABLE user_order PARTITION o ON      o.id = n.id AND     o.user_id = n.user_id ; 
BOB电竞平台

经过上述步骤即可将数据还原完善。

BOB电竞平台总结 BOB电竞平台

本文最先介绍了数据仓库构建ODS层常见的数据同步手段并对每栽手段进走晓畅释给出了相对答的暗示图。接着给出了CDC+Merge的数据同步方案。值得仔细的是Flink1.11引入了CDC的connector比如MySQLCDC和PostgresCDC同时对Kafka的Connector声援canal-json和debezium-json以及changelog-json的format经过这栽手段能够很方便地捕获转折的数据大大简化了数据处理的流程和数据同步的复杂度。

BOB电竞平台

BOB电竞平台 BOB电竞平台 BOB电竞平台前端通用SEO技术优化指南 BOB电竞平台2022年的十大机器人技术趋势展望 BOB电竞平台人脸识别技术被套上“枷锁”?技术还需等一等制度 BOB电竞平台对于企业至关主要的人造智能技术趋势 BOB电竞平台Facebook崩了6幼时!老外炸了..._IT技术周刊第693期 BOB电竞平台 BOB电竞平台 BOB电竞平台

BOB电竞平台 BOB体育首页 BOB综合体育在线