原文链接:离线数仓建设,企业大数据的业务驱动与技术实现丨 03 期直播回顾
视频回顾:点击这里
课件获取:点击这里
一、离线数仓建设背景
离线数据是绝对实时数据而言的数据产出,不同于实时数据,离线数据个别是 T + 1 天解决,也就是说昨天产生的数据至多要明天能力看到计算结果。离线数据个别利用于对数据时效要求不高,须要基于一段时间的历史数据计算能力失去后果的场景,咱们大抵能够分为离线数据分析及数据利用两类,离线数据计算具备:数据准确度高、吞吐量大、计算成本低等特点。
离线数据利用的场景十分宽泛,企业的数据迎来了爆发式的增长,目前企业数据规模微小、数据类型多样、生成及处理速度极快、数据价值微小但密度却较低,这些数据增长的场景,带来的是是咱们传统的一些数据基础设施建设裸露进去的缺点,比方自建数仓投入高、周期长、无奈弹性扩缩容导致资金和人力老本投入越来越大;传统数仓在存储、搜寻和剖析开掘等能力上的瓶颈也越来越突出。传统离线数据建设无奈满足数据增长需要,数字化转型火烧眉毛,许多企业曾经在转型或者在转型的路上。
但企业在数字化转型过程中并非一帆风顺,还面临着许多问题:
● 数据生产效率低
企业外部数据孤岛景象比较严重,不同部门自行搭建数据仓库,数据反复开发、难以共享,跨部门的数据需要响应周期长。
● 计算存储老本高
数据量增长后计算和存储的资源耗费也越来越大,此时资源利用不合理导致的数据提早等问题也愈发突出。
● 数据品质问题频繁产生
因开发人员程度参差不齐,数据研发标准不对立等起因导致的品质问题频发且溯源艰难。
● 数据安全难以保障
因为数据权限治理粒度粗、数据拜访认证欠缺等一系列的问题导致重要数据泄露,数据安全难以保障。
因而在离线数仓数字化转型过程中,咱们须要实现以下指标:
● 晋升数据生成效率
● 晋升数据品质
● 升高计算存储老本
● 保障数据安全
二、离线数仓建设方法论
如何帮忙企业建设离线数仓,咱们次要从以下五步骤动手:
1、业务调研
企业进行离线数仓建设的第一步是进行业务调研,业务调研的指标是梳理外围的业务流程,包含这个业务流程中波及到的环节及次要人员,关注的重点数据指标是什么,以及数据起源,和数据量。从企业整体的角度探查数据需要能够帮忙架构师进行数据计算存储底座和开发工具的选型。
2、技术选型
第二步技术选型阶段,首先是底座选型,底座选型的指标是确定咱们须要把不同起源的数据对立会集到哪个存储介质里,用什么样的形式进行计算。在工具方面,离线开发比拟关注数据同步、数据开发、任务调度相干的一些工具,这些方面无论是开源还是商业版目前市面上都有很多类型的产品可供选择。
3、数仓域划分
第三步是数仓主题域和主题划分,一个主题域对应一个宏观的剖析畛域,能够了解为一个业务数据大类。主题域的划分形式依据企业外部须要能够按业务零碎、需要、部门甚至是行业案例划分。主题域划分实现后能够持续往下划分一级主题二级主题,也就是数据大类上面的小类,直到划分到实体为止,那么整个主题域主题就划分实现了。
4、逻辑建模
第四步是逻辑建模,逻辑建模可分为指标体系梳理、实体关系调研、维度梳理及数仓分层这 4 个局部。
5、物理建模
在下面的四个步骤中咱们曾经把数仓框架搭建实现了,那么物理建模阶段就是依据业务需要进行数据开发代码编写和上线的过程。
三、离线开发施行流程
分享完离线数仓的建设方法论,接下来来为大家分享离线开发的施行流程。
● 第一步:数据集成(多源异构数据双向读写)
流程中的第一步数据集成,实质上是把来自一些数据库的数据通过数据的解析、转换后写入到雷同或者异构的数据库这样一个过程,咱们须要重点关注:
1、数据读写性能,关注工具是否能满足数据同步要求的速率;
2、异样复原,当同步工作呈现各种起因的异常中断时,是否从断点处持续进行数据读写,而不用每次出现异常都全副从新开始;
3、同步形式,关注同步工具是否反对全量、增量、批量的同步形式;
4、脏数据监控,如果源头或数据转换过程出现异常,这些异样数据是否进行记录和剖析,帮忙数据开发追溯数据品质问题起源。
● 第二步:数据开发
1、SQL 数据加工
通过 SQL 代码实现数据加工逻辑,产出表的过程。须要关注的点是工具对于开发工作类型是否满足要求,开发界面是否敌对,工作的调试,数据日志下载等基本功能是否满足。
图片
2、调度配置:编排工作有序按需执行
上一步实现代码开发后,还须要为开发工作进行调度属性配置,让工作依据设置的依赖关系和打算工夫有序地运行。须要关注的重点是:稳定性与兼容性、工作依赖、周期调度。
● 第三步:工作公布
实现代码开发调试和调度配置后,咱们就能够把数据开发工作从开发环境公布,也就是拷贝到生产环境中,由生产环境工作周期运行产生的数据就能够给业务方应用了。
个别数据开发会有三种环境模式。
1、单我的项目模式, 也就是开发测试都在一个我的项目内实现,通过测试的工作间接跑生产数据,这种模式开发流程短,需要响应快,适宜对数据稳定性和要求不高的场景,但大部分状况下咱们不倡议这么操作;
2、双我的项目模式, 数据开发在开发我的项目中实现工作开发和测试,通过运维公布到生产环境中运行,开发我的项目和生产我的项目存在数据隔离,这种模式对数据安全比拟有保障;
3、三我的项目模式, 用户有两套网络互相隔离的集群,第一个集群用于数据开发和测试,数据开发在开发环境进行编码和自测,公布到测试环境由测试人员进行用例测试,测试实现的工作打包下载至本地,人工拷贝或传输到生产集群的我的项目下进行运行,这种模式尽管操作流程上多了一个环节,看起来比拟麻烦,但因为网络隔离也最大水平上保障了生产数据的平安和稳固。
● 第四步:运维监控
工作运维就是全局掌控工作的运行,对于一些异样或紧急情况进行解决的过程。
● 第五步:数据安全
最初的数据安全其实贯通在数据开发的整个流程中,数据安全蕴含数据权限治理、数据生命周期治理和数据拜访认证等内容。
以上就是离线开发建设落地的全过程,那么是否有一款产品能满足上述需要呢?袋鼠云自研的数栈离线开发平台就完满合乎这个情景。
云原生一站式离线数据开发平台(BatchWorks), 具备灵便的多集群、多引擎对接能力,笼罩数据采集、数据开发、周期调度、监控告警等全链路性能。上线 5 年已服务 500+ 客户,专一于提供数据开发解决方案,帮忙企业疾速实现数据中台离线数仓建设,减速开释数据价值。
同时产品具备以下特点:
● 一站式可视化智能数据开发
一个平台笼罩残缺数据开发流程,缩小组件运维老本与流程连接操作,让用户专一于业务自身。全流程可视化操作附带语法提醒,智能调度与监控等多种辅助性能,缩小上手老本,让更多用户参加数据应用。
● 多集群多引擎弹性兼容
反对输入自研 Hadoop 集群,同时可对接 CDH、HDP、TDH 等多集群及 Oracle、TiDB 等多引擎;节点资源可依据计算存储需要疾速弹性伸缩,业务需要稳固响应。
● 全流程多维平安保障
多租户多我的项目组织构造实现数据权限隔离的同时反对灵便的申请受权;多角色内置权限点实现性能隔离;数据权限全流程校验,要害操作细粒度审计,最大限度缩小生产安全事故。
四、离线数仓建设案例
接下来咱们分享两个应用数栈离线开发平台实现数仓建设的理论案例,让大家切实感触产品给客户带来的理论价值。
● 某银行客户
● 某高校客户
原文起源:VX 公众号“数栈研习社”
袋鼠云开源框架钉钉技术交换群(30537511),欢送对大数据开源我的项目有趣味的同学退出交换最新技术信息,开源我的项目库地址:https://github.com/DTStack