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

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

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

使用SpringBoot整合Sharding Sphere实现数据脱敏的示例

《使用SpringBoot整合ShardingSphere实现数据脱敏的示例》ApacheShardingSphere数据脱敏模块,通过SQL拦截与改写实现敏感信息加密存储,解决手动处理繁琐及系统改... 目录痛点一:痛点二:脱敏配置Quick Start——Spring 显示配置:1.引入依赖2.创建脱敏

Linux实现线程同步的多种方式汇总

《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python数据分析与可视化的全面指南(从数据清洗到图表呈现)

《Python数据分析与可视化的全面指南(从数据清洗到图表呈现)》Python是数据分析与可视化领域中最受欢迎的编程语言之一,凭借其丰富的库和工具,Python能够帮助我们快速处理、分析数据并生成高质... 目录一、数据采集与初步探索二、数据清洗的七种武器1. 缺失值处理策略2. 异常值检测与修正3. 数据

pandas实现数据concat拼接的示例代码

《pandas实现数据concat拼接的示例代码》pandas.concat用于合并DataFrame或Series,本文主要介绍了pandas实现数据concat拼接的示例代码,具有一定的参考价值,... 目录语法示例:使用pandas.concat合并数据默认的concat:参数axis=0,join=

C#代码实现解析WTGPS和BD数据

《C#代码实现解析WTGPS和BD数据》在现代的导航与定位应用中,准确解析GPS和北斗(BD)等卫星定位数据至关重要,本文将使用C#语言实现解析WTGPS和BD数据,需要的可以了解下... 目录一、代码结构概览1. 核心解析方法2. 位置信息解析3. 经纬度转换方法4. 日期和时间戳解析5. 辅助方法二、L

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键

解决mysql插入数据锁等待超时报错:Lock wait timeout exceeded;try restarting transaction

《解决mysql插入数据锁等待超时报错:Lockwaittimeoutexceeded;tryrestartingtransaction》:本文主要介绍解决mysql插入数据锁等待超时报... 目录报错信息解决办法1、数据库中执行如下sql2、再到 INNODB_TRX 事务表中查看总结报错信息Lock