当前位置: 首页 > news >正文

数据集成-缝合一套数据仓库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,作为自然语言处理领域的一个里程碑,其发展历程不仅…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能&#xff0c;我们需要对它的功能特点进行分析&#xff1a; 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具&#xff1a; mysql&#xff1a;关系型数据库&am…...

无法与IP建立连接,未能下载VSCode服务器

如题&#xff0c;在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈&#xff0c;发现是VSCode版本自动更新惹的祸&#xff01;&#xff01;&#xff01; 在VSCode的帮助->关于这里发现前几天VSCode自动更新了&#xff0c;我的版本号变成了1.100.3 才导致了远程连接出…...

聊聊 Pulsar:Producer 源码解析

一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台&#xff0c;以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中&#xff0c;Producer&#xff08;生产者&#xff09; 是连接客户端应用与消息队列的第一步。生产者…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted&#xff08;&#xff09;是OpenCV库中用于图像处理的函数&#xff0c;主要功能是将两个输入图像&#xff08;尺寸和类型相同&#xff09;按照指定的权重进行加权叠加&#xff08;图像融合&#xff09;&#xff0c;并添加一个标量值&#x…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中&#xff0c;提示一个依赖外部头文件的cpp源文件需要同步&#xff0c;点…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点&#xff1a;传参类型必须是类对象 一、BigInteger 1. 作用&#xff1a;适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...