基于clickhouse的湖仓一体(clickhouse docker)

基于clickhouse的湖仓一体(clickhouse docker)

技术教程gslnedu2025-02-01 13:43:4511A+A-

数据仓库、数据湖是什么?

数据仓库:英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。

数据湖:是一个以原始格式存储数据的存储库或系统。它按原样存储数据,而无需事先对数据进行结构化处理。一个数据湖可以存储结构化数据(如关系型数据库中的表),半结构化数据(如CSV、日志、XML、JSON),非结构化数据(如word文档、PDF文档)和二进制数据(如图形、音频、视频)。

如果说数据仓库里面是瓶装的水——它是清洁的、打包好的、摆放整齐方便取用的;那么数据湖里面就是原生态的水——它是未经处理的,原汁原味的。数据湖中的水从源头流入湖中,各种用户都可以来湖里获取、蒸馏提纯这些水(数据)。

数据湖+数据仓=湖仓一体?

湖仓一体是一种结合了数据湖和数据仓库优势的新范式,在用于数据湖的低成本存储上,实现与数据仓库中类似的数据结构和数据管理功能。湖仓一体是一种更开放的新型架构,有人把它做了一个比喻,就类似于在湖边搭建了很多小房子,有的负责数据分析,有的运转机器学习,有的来检索音视频等,至于那些数据源流,都可以从数据湖里轻松获取。

所以说,湖仓一体并不是简单的数据湖+数据仓库。

湖仓一体平台定位

所谓的湖仓一体平台,我们的理解是:Lakehouse既能将业务系统数据、设备数据实时流式写入湖仓一体平台,同时也要能够满足业务系统实时全量数据查询分析的需求,为业务提供智能化的数据服务,也可以支持设备的查询分析要求为智能化运营、预测性维护提供便利和保障。平台既保留了湖的灵活性,又能够接近或者尝试达到专门分布式OLAP引擎的查询效率和能力。


湖仓一体的关键特征

  • 在线化。
  • 数据治理可视化:
  • 数据治理可视化的关键在于业务人员和报表开发人员能够快速的完成数据核对。
  • 报表的数据不对,业务人员描述业务场景报表开发人员迅速根据需求调整SQL,当场与业务人员核对数据,节省了大量沟通时间。
  • 数据资产可视化:
  • Lakehouse另一个关键特征就是要做到数据资产可视化。
  • 端到端追溯:
  • Lakehouse支持端到端的流式读取,也要支持端到端追溯,从而能够满足日常报表需求。
  • 开放性:
  • Lakehouse在建设中通常会使一些开源开放的组件,比如Iceberg,Hudi,Delta Lake……,这些组件的运用使得Lakehouse具有很高的开放性。
  • 多数据类型支持:
  • Lakehouse同时具备数据仓库和数据湖的特征,所以除了支持结构化数据之外,Lakehouse结构还支持更多不同类型的数据,包括系统日志、文件、音频、视频、图片等。
  • 多任务负载:
  • Lakehous支持多个任务并行计算。
  • 存算分离:
  • 我们往往使用低成本硬件和集群化架构来实现数据湖,这样的架构提供了非常廉价的分离式存储。
  • Lakehouse是构建在数据湖之上的,因此自然也采用了存算分离的架构,数据存储在一个集群中,而在另一个集群中进行处理。


湖仓一体建设难点

目前,大家普遍认为湖仓一体的建设难点主要在于:

  • 平台架构复杂、技术组件多。
  • 缺乏足够的数据治理或数据管理经验。
  • 运行成本高。
  • 数据源分散、存在多种技术(如既有MySQL、Oracle、金仓等多种数据库,还有API接口等)。
  • 指标逻辑、报表逻辑、数据宽表的逻辑没有统一的地方可以看,依靠人工解释。
  • 业务系统数据冲突/不一致。
  • 上游业务系统数据结构变更、物理删除等操作导致数据仓库发生错误。
  • ……

湖仓一体为什么选择clickhouse

湖仓一体为什么选择clickhouse?原因有以下几点:

原因一:clickhouse本身具备了很多功能,应用简单,降低了平台架构的复杂度,减少技术组件的使用。

原因二:大大降低运行成本。clickhouse有极致的数据压缩能力,压缩比率达1:10。并且安全,运行稳定,在某国家部委平台运行3、4年,集群一直稳定运行。

原因三:Lakehouse要求多数据类型并存。DBH具备异构数据源同界面操作的能力,可以将MySql/MariaDB、PostgreSQL、GreenPlum、SQLServer、Oracle、人大金仓、通用等数据库一键接入clickhouse,实现统一的SQL操作。


原因四:clickhouse具备高扩展性。万山数据基于clickhouse的UDF功能开发的WSDCK能够实现系统日志、API接口、文本文件等快速接入,有效解决了数据源分散、存在多种技术的问题。

原因五:解决指标逻辑、报表逻辑、数据宽表的逻辑没有统一的地方可以看,依靠人工解释的问题。建立数据资源目录,统一管理企业指标逻辑、报表逻辑、数据宽表的逻辑,让指标、报表、数据宽表有地可查、有标可依。

原因六:解决业务系统数据冲突/不一致的问题。业务系统之间的数据冲突在所难免,可以将各个业务系统数据汇集在clickhouse中,借助ODGC在clickhouse中后置处理,实现业务系统数据统一。

原因七:对上游业务系统数据库进行实时日志监听,结合canal、Kafka将数据库日志文件写入clickhouse,借助物化视图实时结构化日志数据,避免上游业务系统数据结构变更、物理删除等操作导致数据仓库发生错误。

Clickhouse的高吞吐写入能力、极致的并行处理能力、完备的DBMS功能、支持标准的 SQL语法、支持文本检索……都是湖仓一体选择clickhouse的原因!

湖仓一体技术应用架构参考

湖仓一体的技术应用架构除了数据源层之外。还应包括数据集成、数据治理、数据应用。

数据集成将一切数据接入湖仓一体平台。DBH可以将数据库数据接入进来,MQ可以将消息引擎的数据接入进来,RDI可以将接口数据接入平台。

数据治理应当支持SQL规范的规则配置,门槛更低;支持实时的数据血缘分析;支持元数据自动发现;数据治理流程所见即得所。

数据应用包括DAM(数据资产管理)、DS、SA、BI、Cockpit、Portal等。

以下是万山数据的湖仓一体技术应用架构图,供参考。

点击这里复制本文地址 以上内容由朽木教程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

朽木教程网 © All Rights Reserved.  蜀ICP备2024111239号-8