从零到一建设数据中台 - 关键技术汇总

2024-06-01 06:04

本文主要是介绍从零到一建设数据中台 - 关键技术汇总,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、数据中台关键技术汇总

语言框架JavaMavenSpring Boot

数据分布式采集FlumeSqoopkettle

数据分布式存储Hadoop HDFS

离线批处理计算MapReduceSparkFlink

实时流式计算Storm/Spark StreamingFlink

批处理消息队列Kafka

查询分析HbaseHiveClickHousePresto

搜索引擎Elasticsearch

数据库MySQLRedisMongoDBOraclePostgreSQLMariaDBSQL Server达梦

数据挖掘、机器学习Spark MLLibTensorFlowNLP(AI大模型)

二、OLAT与OLTP

OLAP(联机分析处理):

全称为 Online Analytical Processing,它强调对大量历史数据的分析与处理。OLAP系统通常用来查询多维数据库,以便观察数据的多个维度之间的关系,并进行复杂的计算和汇总。

它的主要功能包括查询、分析、预测、数据挖掘等,为用户提供灵活的数据分析和快速决策支持。

OLTP(联机事务处理):

全称为 Online Transaction Processing,它强调对数据的实时处理。

OLTP系统通常用于处理企业的日常交易数据,例如订单处理、库存管理、银行交易等。它的主要功能是支持事务和实时数据处理,为用户提供高效的交易处理服务。

二者区别:

(1)功能区别OLAP聚焦于数据分析和预测,为使用者提供数据挖掘和多维分析等功能,通过复杂的计算和统计分析来发现数据背后的规律。而 OLTP 更注重交易数据的实时处理,支持并发的事务处理和数据插入、更新、删除等操作。

(2)数据处理区别OLAP通常处理大规模的历史数据,它需要快速的数据查询和复杂的统计计算,以满足用户对数据多维分析的需求。OLTP则处理实时的事务数据,它需要高效的事务处理和快速的数据录入,以保证日常交易的正常运行。

(3)数据结构区别OLAP采用多维数据库结构,通过维度、度量、层次等数据元素来组织和管理数据,以便进行复杂的查询和分析。而OLTP通常采用关系数据库结构,通过表和关系来存储和管理交易数据,以支持事务的正确处理。

(4)应用场景区别OLAP 适用于需要进行复杂数据分析和决策的场景,例如市场营销分析、销售业绩分析、客户关系管理等。而 OLTP 适用于需要进行实时数据处理和高并发事务处理的场景,例如在线交易管理、订单处理、支付结算等。

三、数据湖三剑客

Hudi:

过分布式文件系统(HDFS或者云存储)来摄取(Ingests)、管理(Manages)大型分析型数据集,Hudi 是一种针对分析型业务的、扫描优化的数据存储抽象,它能够使HDFS数据集在分钟级的时延内支持变更,也支持下游系统对这个数据集的增量处理。

Hudi是在大数据存储上的一个数据集,可以将 Change Logs 通过 upsert 的方式合并进 Hudi

Hudi 对上可以暴露成一个普通的 HiveSpark 的表,通过 API 或命令行可以获取到增量修改的信息,继续供下游消费;

Hudi 还保管了修改历史,支持回滚;

Hudi 内部有主键到文件级的索引,默认是记录到文件的布隆过滤器,高级的有存储到 HBase 索引提供更高的效率。

Delta Lake:

流批一体的Data Lake存储层,支持 update/delete/merge

在数据写入方面,DeltaSpark 是强绑定的;在查询方面,开源 Delta 目前支持 SparkPresto,但是,Spark 是不可或缺的,因为 delta log 的处理需要用到 Spark

Iceberg:

是一种可伸缩的表存储格式,内置了许多最佳实践。

允许我们在一个文件里面修改或者过滤数据;当然多个文件也支持这些操作。

在查询方面,Iceberg 支持 SparkPresto,提供了建表的 API,用户可以使用该 API 指定表名、schemapartition 信息等,然后在 Hive catalog 中完成建表。

四、开源技术探索

Apache Doris:

是一个现代化的基于MPP(大规模并行处理)技术的分析型数据库产品。

简单来说,MPP是将任务并行的分散到多个服务器和节点上,在每个节点上计算完成后,将各自部分的结果汇总在一起得到最终的结果(与Hadoop相似)。

仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。

Apache Doris可以满足多种数据分析需求,例如固定历史报表,实时数据分析,交互式数据分析和探索式数据分析等。

Open Metadata:

使用端到端元数据管理解决方案释放数据资产的价值,该解决方案包括数据发现、治理、数据质量、可观察性和人员协作。

Apache Atlas:

Apache Hadoop的数据和元数据治理的框架,是为解决Hadoop生态系统的元数据治理问题而产生的开源项目。

它为Hadoop集群提供了包括数据分类、集中策略引擎、数据血缘、安全和生命周期管理在内的元数据治理核心登能力。

完结

九位数之极,本合集到现在已经到达第九篇,虽然还有很多内容想说,但是整体的架构脉络已基本上描述完毕。

接下来计划再出几篇番外,对其中的某些要点进行单项解析、功能 UI 赏析、物联网与中台、以及实际应用案例等内容。

大家也可以提提建议,对哪些板块比较感兴趣,将会优先考虑这些板块进行单项解析。

– 欢迎点赞、关注、转发、收藏【我码玄黄】,gonghao同名

这篇关于从零到一建设数据中台 - 关键技术汇总的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1020176

相关文章

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

SpringBoot使用GZIP压缩反回数据问题

《SpringBoot使用GZIP压缩反回数据问题》:本文主要介绍SpringBoot使用GZIP压缩反回数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot使用GZIP压缩反回数据1、初识gzip2、gzip是什么,可以干什么?3、Spr

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

SpringValidation数据校验之约束注解与分组校验方式

《SpringValidation数据校验之约束注解与分组校验方式》本文将深入探讨SpringValidation的核心功能,帮助开发者掌握约束注解的使用技巧和分组校验的高级应用,从而构建更加健壮和可... 目录引言一、Spring Validation基础架构1.1 jsR-380标准与Spring整合1

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

SpringBatch数据写入实现

《SpringBatch数据写入实现》SpringBatch通过ItemWriter接口及其丰富的实现,提供了强大的数据写入能力,本文主要介绍了SpringBatch数据写入实现,具有一定的参考价值,... 目录python引言一、ItemWriter核心概念二、数据库写入实现三、文件写入实现四、多目标写入

使用Python将JSON,XML和YAML数据写入Excel文件

《使用Python将JSON,XML和YAML数据写入Excel文件》JSON、XML和YAML作为主流结构化数据格式,因其层次化表达能力和跨平台兼容性,已成为系统间数据交换的通用载体,本文将介绍如何... 目录如何使用python写入数据到Excel工作表用Python导入jsON数据到Excel工作表用

Mysql如何将数据按照年月分组的统计

《Mysql如何将数据按照年月分组的统计》:本文主要介绍Mysql如何将数据按照年月分组的统计方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql将数据按照年月分组的统计要的效果方案总结Mysql将数据按照年月分组的统计要的效果方案① 使用 DA

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,