数据集成-缝合一套数据仓库Infra的臆想
一、数据集成当前困境
目前数据集成基础设施建设仅一个单一数据库,无法很好支持上层应用的建设步骤,继续采用当前设施跟随产品的策略,数据产品开发受限巨大,从目前实施的几个产品看,存在以下主要问题:
- 功能支持受限,新功能由于无 Infra 支持,大部分最终以比较畸形的形式存在。
- 开发成本难以预估,且都存在成本超预算的现象。
- 技术人力资源局限,使用激进的自主开发需要大量有丰厚大数据技术积累的人员,目前不具备这样的条件。
对于数据集成 “全平台数据打通,高效低代码开发” 的基本目标,迫切需要一个拥有较为完善基础设施(Infra)的“数据仓库”。
二、为什么需要数据仓库?
已经有了数据库,为什么还需要数据仓库?在宏观上,数据库通常是一种OLTP数据库,局限于单一的应用软件,构成数据库系统。虽然数据库的设计使事务型数据库运行得更有效率,但是事务型数据库不善于分析。也就是说,数据库的组织结构决定它的分析能力并不好,相对地,数据仓库的组织结构,能够让它快速简单地处理分析的请求,帮助决策者优化流程、节省成本和保障质量。
数据仓库(Data Warehouse,DW)是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合。细节对比如下:
同时数据仓库也是数据中台的基石,是必不可少的一个重要因子。
三、数据仓库基础架构
事务型数据库保存数据的瞬态信息,分析型数据仓库保存大量的历史数据。在实际业务处理中,除了事务型业务和分析型业务,还存在介于事务型和分析型之间的需求,即快速地分析短期的历史数据。这种分析需求无法在保存瞬态数据的事务型数据库中完成,也不能在保存大量历史数据的数据仓库中完成,形成 DB-ODS-DW 的三层体系结构。
四、技术选型
目前市面上关于数仓的技术已经非常成熟,类型也是五花八门。但是考虑开发人员所掌握的技术等原因,我们应当快速以成熟技术完成数据仓库的 Infra 设施部署和相关开发秩序的建立。选定成熟的大数据技术堆栈包含数据存储、数据开发、BI 服务、元数据服务,且各方面都需要有十分成熟的开源产品支持。
这样基于成熟的大数据开发栈,开发人员不需要了解各组件的部署、实现,可以以近似低代码(数据集成能力)形式接入各数据业务、完成数仓数据积累。比如七巧低代码通过预构建的连接器与多种数据源连接,拖拽组件设计ETL流程,对原始数据进行标准化处理与实时传输,将数据整合到数据仓库中。
- 数据积累
通过整套设施,快速完成各平台事实数据、Meta 数据的集中收纳,为数据开发业务提供真实可靠基础。同时基于整套设施,即使非开发人员,内部产品也可以快速低成本进行数据价值探索,快速验证数据业务。
- 商业 BI 产品
商业 BI 产品是体现当前数据集成的商业化价值的最有效手段之一。可以完成 MetaBase 这类开源商业化的成熟产品上靠拢。
五、设施列表
1. 基础设施
基础设施包含 3 种主要类型:统一数据存储、数据 ETL、数据 OLAP。
设施组件 | 作用范围 | 说明 |
Hadoop - HDFS | 数据存储(ODS、DWD) | HDP 平台提供 |
Hadoop - Hive | HDFS 数据查询(低速) | HDP 平台提供 |
Hadoop - Yarn | 容器编排平台 | HDP 平台提供 |
Flink | ETL 数据物化视图计算(On Yarn) | On Yarn 部署 |
Kafka | 流式存储(Real-Time ODS) | HDP 平台提供 |
TiDB(TiKV/TiFlash) | OLAP 计算(DWS)、Real-Time 存储 | 沿用旧设施 |
ClickHouse(可选) | OLAP 计算 | 可选,作为 TiFlash 算力不足的补充 |
Presto | BI Ad-Hoc 快速集成数据源 |
2. 应用设施
测试环境语义下,应用设施可灵活变更,用于演示数仓最终应有形态,提供快速开发辅助,鼓励灵活采用新组件。
主要围绕 3 大设施:元数据管理、ETL 调度平台、BI 服务。每个类型设施至少需要选择一种。
设施应用 | 作用范围 | 说明 |
StreamX | Flink SQL 实时 ETL 快速开发 | https://github.com/streamxhub/streamx |
DolphinScheduler | 离线 ETL 调度,沿用旧设施 | https://github.com/apache/dolphinscheduler |
DataHub | 元数据平台,提供对全领域元数据的快速集成 | https://github.com/linkedin/datahub |
Superset | 自由 BI | https://github.com/apache/superset |
MetaBase | 自由 BI,相比 Superset 产品成熟度更高,但 AGPL LICENSE 存在风险,可作为BI 产品形态参考 | https://github.com/metabase/metabase |
3. 功能流程
- 数据源通过数据同步将数据存储至Hive/Hbase形成数仓基石ODS层;
- DataHub:收集数据源、ODS、DWS元数据信息,做元数据管理;
- Streamx & Dolphinschedule:Flink SQL 实时 ETL 快速开发及调度平台;
- 数据集成:提供图形化的操作,客户可以低门槛形成主题数据,供BI层做数据展示;
相关文章:

数据集成-缝合一套数据仓库Infra的臆想
一、数据集成当前困境 目前数据集成基础设施建设仅一个单一数据库,无法很好支持上层应用的建设步骤,继续采用当前设施跟随产品的策略,数据产品开发受限巨大,从目前实施的几个产品看,存在以下主要问题: 功能…...

运营有哪几种?
运营又有很多类,分为:内容运营、用户运营、活动运营、产品运营、新媒体运营、社群运营、电商运营、短视频运营 1.内容运营: 做内容提升各类数据,比如内容的数量/浏览数量/互动数传播数等。 适合人群:适合喜欢看文章热…...

Android视频编辑:利用FFmpeg实现高级功能
在移动设备上进行视频编辑的需求日益增长,用户期望能够在智能手机或平板电脑上轻松地编辑视频,以满足社交媒体分享或个人存档的需求。Android平台因其广泛的用户基础和开放的生态系统,成为视频编辑应用的理想选择。FFmpeg,作为一个…...

图片无损缩放PhotoZoom Pro 9.0.2绿色版 +免费赠送PhotoZoom激活优惠代码
PhotoZoom Pro 9.0.2 是一款专业的图片无损缩放软件,该软件采用了 benvista s-spline 独特技术,增强了对图像格式的支持,多处理器支持,GPU 加速,win10和 Photoshop CC 支持。带来一流的数字图形扩展与缩减技术。该软件…...

tekton pipelineresources
PipelineResource 代表着一系列的资源,主要承担作为 Task 的输入或者输出的作用。它有以下几种类型: git:代表一个 git 仓库,包含了需要被构建的源代码。将 git 资源作为 Task 的 Input,会自动 clone 此 git 仓库。pu…...

OFDM系统PAPR算法的MATLAB仿真,对比SLM,PTS以及CAF,对比不同傅里叶变换长度
目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1、选择映射(SLM) 4.2 相位截断星座图(PTS) 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 mat…...

常见概念 -- 光回波损耗
什么是回波损耗 回波损耗,又称为反射损耗,当高速信号进入或退出光纤的某个部分(例如光纤连接器),不连续和阻抗不匹配会引起反射,这就是光纤回波损耗。器件的回波损耗Return Loss(RL)是光信号的输入端口的反…...

uni-app环境搭建
目录 一、下载HBuilder X: 二、创建项目 1、通过HBuliderX创建 2、通过vue-cli命令行创建 三、app真机运行 1、真机运行: 2、打包发行 四、微信小程序调试 1、下载微信小程序开发者工具 2、运行项目:运行---> 运行到小程序模拟器----> 微信开发者工…...

数据结构 栈 队列
系统栈: 保护局部变量 函数的形参和返回值 函数的调用关系(保护现场,恢复现场操作,遵循先进后出,后进先出) 数据结构栈(顺序栈,链式栈): 同样遵遵循先进…...

嵌入式学习路线+嵌入式校招建议 嵌入式学习面试规划
随着物联网、人工智能以及5G等技术的迅猛发展,嵌入式系统的需求逐渐增多。作为毕业生,如何制定一个合理的学习路线,以确保在找工作、参加校招时有足够的竞争力,是非常重要的。我会为你提供一个更加详细、系统的学习路线建议&#…...

服务器深度学习环境配置
学校提供的服务器,参考意见比较低 目录 公有云操作云主机操作系统修改: xshell连接深度学习环境配置显卡驱动检查安装检查 CUDA检查CUDA下载配置环境变量检查 conda 公有云操作 打开控制中心 节点选择 山东-青岛20 打开弹性云主机 云主机 系统已经默认…...

使用 Parallel 类进行多线程编码(下)
2.Parallel.ForEach() 的使用 从 ForEach() 这个名字可以看出该方法是用来遍历泛型集合的,新建一个 ASP.NET Core Web应用的项目,如下: 在 Index.cshtml.cs 文件中增加一个 UserInfo.cs 的类,代码如下: public class U…...

基于微信小程序+Java+SSM+Vue+MySQL的药店管理系统
作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 基于微信小程序JavaSSMVueMySQL的药店管理系统【附源码文档…...

C#使用MQTT(一):MQTT服务端
MQTT(Message Queuing Telemetry Transport) 即时通讯协议, 开发商 IBM MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状…...

AD原理图update为pcb
首先,要在自己的项目下面创建好原理图和PCB,记得保存!!! 点击设计>update 更新成功!...

应用海外仓系统后,可以改善哪些海外仓的核心业务流程?
随着跨境电商的快速发展,海外仓作为物流的重要环节,其运营效率直接影响到企业的市场竞争力。应用海外仓系统(WMS)可以有效改善海外仓的核心业务流程,以下将详细介绍四大核心流程的优化措施。 一、货物接收入库流程的改…...

SQL进阶技巧:截止当前批次前的批次量与订单量 | 移动窗口问题
目录 0 场景描述 1 数据准备 2 问题分析 3 小结 0 场景描述 表A有如下字段,user id(用户ID),batch id(批次ID),order id(订单ID),create time(创建时间),同一个用户ID下有多个批次,同一个批次下有多个订单ID,相同批次ID的创建时间是相同的,创建时间精确到了秒。 统计,截…...

C#中的Graphics类和SetQuality()自定义方法
在 C# 中,Graphics 类是 System.Drawing 命名空间的一部分,它提供了一组方法和属性,用于在 Windows Forms 应用程序中进行二维绘图。Graphics 对象可以绘制文本、线条、曲线、形状和图像,并可以对它们进行变换和剪辑。 Graphics …...

圣诞节:白酒与西式料理的异国风情
随着冬日的脚步渐近,圣诞的钟声即将敲响。在这个充满异国情调和温馨氛围的节日里,一场中西合璧的美食盛宴悄然上演。豪迈白酒(HOMANLISM)与西式料理的碰撞,不仅为圣诞餐桌增添了几分不同的韵味,更让人们在这…...

2.ChatGPT的发展历程:从GPT-1到GPT-4(2/10)
引言 在人工智能领域,自然语言处理(NLP)是连接人类与机器的重要桥梁。随着技术的不断进步,我们见证了从简单的文本分析到复杂的语言理解的转变。ChatGPT,作为自然语言处理领域的一个里程碑,其发展历程不仅…...

yjs01——机器学习的过程
ps:换了阿婆主重新看机器学习 机器学习的过程: 1.获取数据——2.数据基本处理——>3.特征工程——>4.机器学习(模型训练)—>模型评估 获取数据: 1.专有名词: 1.样本:一行数据是一个样本…...

Git工作流程
git 工作流程 克隆或同步远程仓库 使用git clone命令将本仓库完全镜像一份至本地 使用git pull命令将远程仓库代码同步到本地新建或修改代码文件后,将代码提交到暂存区;(git add filename)将暂存区域的文件提交到本地git仓库。(git commit filename -m …...

Qt-QWidget的font属性(18)
目录 描述 相关API 使用 使用Qt Designer设置字体 使用纯代码设置字体 描述 这个是用来设置字体样式的 相关API 使用 我们创建一个新的项目 使用Qt Designer设置字体 使用纯代码设置字体 相比于上面使用Qt Designer,用代码来实现就要灵活的多,主…...

Go语言概述
1.Go语言的特点 1)从语言层面支持并发,实现简单 2)goroutine,轻量级线程,可实现大并发处理,高效利用多核 3)垃圾回收机制,内存自动回收,不需要开发人员管理 4࿰…...

P6627 [省选联考 2020 B 卷] 幸运数字
*原题链接* 并不是非常难的题,不过细节非常多。 首先大题思路很明确,把所有条件储存下来,把这些l,r,x啥的离散化,然后区间异或,最后查询最大值。至于区间异或用差分就好了,因为异或…...

活动|华院计算宣晓华受邀出席“AI引领新工业革命”大会,探讨全球科技的最新趋势
8月31日,“AI引领新工业革命”大会于上海图书馆圆满落幕。本次大会由TAA校联会和台协科创工委会联合主办,得到上海市台办、上海市台联、康师傅的大力支持。大会邀请了NVIDIA全球副总裁、亚太区企业营销负责人刘念宁,元禾厚望资本创始合伙人潘…...

k8s配置
一、前期准备 1、修改主机的/etc/hosts文件挟持域名 [rootk8s-master ~]# vim /etc/hosts 192.168.8.199 k8s-master 192.168.8.200 k8s-node1 192.168.8.201 k8s-node2 2、配置yum源 [rootk8s-master ~]# cd /etc/yum.repos.d/ [rootk8s-master yum.repos.d]# vim kubernetes…...

力扣第79题 单词搜索
前言 记录一下刷题历程 力扣第79题 单词搜索 单词搜索 原题目:给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻…...

【系统架构设计师】抽象工厂设计模式
抽象工厂(Abstract Factory)模式是一种创建型设计模式,它提供了一种创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。在抽象工厂模式中,客户端不依赖于产品类实例的如何被创建、组合和表达的细节,这对于产品族(即一组相互关联或相互依赖的产品)的创建尤其…...

海外云手机有哪些推荐?
随着云手机的发展,越来越多的企业和个人开始使用云手机来满足他们的海外业务需求。用户可以通过云手机实现方便、快捷的海外访问,一般用来进行tiktok运营、亚马逊电商运营、海外社媒运营等操作。海外云手机平台有很多,以下是一些比较好的云手…...