数据集成-缝合一套数据仓库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,作为自然语言处理领域的一个里程碑,其发展历程不仅…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...
STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
MySQL 部分重点知识篇
一、数据库对象 1. 主键 定义 :主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 :确保数据的完整性,便于数据的查询和管理。 示例 :在学生信息表中,学号可以作为主键ÿ…...
