超越传统数据仓库

简介: 数据仓库的架构当前数据仓库的主流架构:分为两个方向一个是 hadoop 体系,一个是 MPP 数据库

数据仓库的架构

当前数据仓库的主流架构:分为两个方向一个是 hadoop 体系,一个是 MPP 数据库

1、hadoop + hive

Hive是建立在Hadoop HDFS基础之上的数据仓库基础框架,数据是保存在HDFS上的,它可以将结构化的数据文件映射为一张表,并提供类 SQL 查询功能。它将SQL语句转化成 MapReduce 的 Job,然后在 Hadoop上执行,把执行的结果最终反映给用户。因为 Hadoop 可以部署在一批家用或服务器级别的硬件机器上,因此硬件成本较低,并能提高水平扩的能力。

优点:

1. 提供 sql 语法避免了去写 MapReduce,减少开发人员的学习成本。

2. Hive 支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。

3. 经过多年发展,成熟度高,应用广泛

缺点:

1. 不支持事务,一般用于读多写少的情况,最好不改动数据,因为数据存储在HDFS中,而HDFS的文件不支持修改;

2. Hive 调优比较困难,粒度较粗

3. 不支持索引效率低

4. HQL 表达能力有限:迭代式算法无法表达。数据挖掘方面不擅长,由于 MapReduce 数据处理流程的限制,效率更高的算法却无法实现。

5. 不支持非结构化查询。

hadoop + hive 在实际的使用过程中,为了提高查询的速度,往往会构建大宽表。而构建这个大宽表,需要从其它表或者NoSql 中获取数据,在形成一个大宽表。曾经我见过团队,为了让一条 Sql 语句就能出报表,形成了一个2千多个列的大款表,光是维护这个大宽表都需要一个团队。

2、hadoop + spark

Spark 是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。提供一种既可以极大批量地处理分布式的数据,又有足够的容错能力,且上手容易,速度快,可以让人实现实时交互分析的解决方案。既支持作业任务处理,又支持流处理(SparkStreaming)和SQL(SparkSQL),以及机器学习(SparkMLlib)和图处理(SparkGraphX)。

Hadoop MapReduce 由于其设计初衷并不是为了满足循环迭代式数据流处理,因此在多 并行运行的数据可复用场景(如:机器学习、图挖掘算法、交互式数据挖掘算法)中存 在诸多计算效率等问题。所以 Spark 应运而生,Spark 就是在传统的 MapReduce 计算框 架的基础上,利用其计算过程的优化,从而大大加快了数据分析、挖掘的运行和读写速度,并将计算单元缩小到更适合并行计算和重复使用的 RDD 计算模型。

Spark 是一个分布式数据快速分析项目。它的核心技术是弹性分布式数据集(Resilient Distributed Datasets),提供了比 MapReduce 丰富的模型,可以快速在内存中对数据集进行多次迭代,来支持复杂的数据挖掘算法和图形计算算法。

Spark 和 Hadoop 的根本差异是多个作业之间的数据通信问题 : Spark 多个作业之间数据通信是基于内存,而 Hadoop 是基于磁盘。Spark只有在shuffle的时候将数据写入磁盘,而Hadoop中多个MR作业之间的数据交互都要依赖于磁盘交互。

优点:

1. 相对于 Hive,Spark性能优异

2. Spark 提供 SQL、Spark Streaming、MLlib、GraphX 生态比 Hive 要强,节约了开发的人力和时间

缺点:

1. 稳定性,Spark 中大量的数据在内存中计算,对程序员的要求很高不然很容易出现 OutOfMemoryError

2. 受内存大小的限制,无法处理海量数据,因为它要在内存中生成 RDD,如果业务

3. Spark sql 能力有限:迭代式算法无法表达。数据挖掘方面不擅长,由于 MapReduce 数据处理流程的限制,效率更高的算法却无法实现。

3、MPP (greenplum, doris )

MPP 指处于不同部分的多个处理器对程序进行协同处理的过程,每个处理器使用自己的操作系统、内存、总线 和磁盘等,通常 MPP 处理器使用某些消息传递接口进行通信。MPP 数据库通常具有无共享架构,因为每个系统都有自己的CPU、内存和磁盘。这种架构的数据库特征是任务并行执行、数据分布式存储( 本 地 化 )、分布式计算 、资源私有、可横向扩展等。 Greenplum 为例:它主要由Master节点、Segment节点、interconnect三大部分组成 1. 专职的Master 节点: 它的主要功能是作为系统访问入口,对存储在系统中的元数据进行管理,以及实 现 SQL Parser,生成执行计划和任务调度等。Master 有两 个节点,会进行数据同步,在出现故障时可切换。 2. interconnect负责不同PostgreSQL实例之间的通信 3. segment是独立的PostgreSQL数据库,每个segment存储一部分数据。读写数据的时候通过Master

优点:

1. 支持标准的 sql 语法

2. 支持 PKG

3. 支持事务

4. 性能优秀,远超 hadoop, hive, spark

缺点:

1. 对硬件的要求高,远超 hadoop, hive, spark

2. 不支持 NoSql

3. 不能根据具体业务来设置相应的 key ,让相同的 key 落在同一台机器上,在实际应用中可能导致大量数据跨节点传输, 性能会有所下降。

4. 系统并发能力受单节点处理能力影响,因为它任何一个任务都要发到每个节点并行执行

5. 需要一支专业的运维团队,因为 greenplum 的应用不是那么普及,所以这部分往往需要厂商支持。

4、DawnSql 构建数仓

DawnSql 是一款同时支持在线事务处理与在线分析处理的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数据库、 它不仅完全支持标准 SQL语句,还支持 NoSql 这种类似 json 的数据格式,因此可以读写比较复杂的数据类型。此外它还拥有一种全新的脚本语言,用该语言可以简化业务代码,并生成自定义的 sql 方法。 DawnSql 是基于 JVM 体系的,所以它拥有良好的扩展性,用户可以自己扩展 SQL 的方法,让 DawnSql 兼容各种系统。

优点

1. 支持标准 SQL 和 NoSql

2. 支持分布式缓存(其它数仓不支持)

3. 拥有新的脚本语言。用该语言可以简化业务代码,并生成自定义的 sql 方法。

4. 支持在集群中计算服务的故障转移

5. 支持分布式事务

6. 支持机器学习的算法

7. 能够快速灵活的和工程做融合

相关实践学习
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
10月前
|
人工智能 Java 语音技术
【最佳实践系列】零基础上手阿里云百炼语音AI模型
阿里云百炼语音AI服务提供了丰富的功能,包括语音识别、语音合成、实时翻译等。通过`alibabacloud-bailian-speech-demo`项目,可以一键调用这些服务,体验语音及大模型的魅力,降低接入门槛。该项目支持Python和Java,涵盖从简单的一句话合成到复杂的同声传译等多个示例,助力开发者快速上手并进行二次开发。
3010 5
|
存储 数据采集 DataWorks
2万字揭秘阿里巴巴数据治理平台DataWorks建设实践
阿里巴巴一直将数据作为自己的核心资产与能力之一,从最早的淘宝、天猫等电商业务,到后续的优酷、高德、菜鸟等板块,DataWorks、MaxCompute、Hologres等产品用一套技术体系来支持不同业务的发展与创新,为企业带来整体的“数据繁荣”。 数据繁荣为我们带来了红利,同时也带动了各类数据治理需求的井喷,特别是降本等需求的不断出现,阿里云DataWorks团队将13年的产品建设经验整理成最佳实践,从数据生产规范性治理、数据生产稳定性治理、数据生产质量治理、数据应用提效治理、数据安全管控治理、数据成本治理、数据治理组织架构及文化建设等7个方面为大家揭秘数据治理平台建设实践
32548 15
2万字揭秘阿里巴巴数据治理平台DataWorks建设实践
|
2天前
|
数据采集 人工智能 安全
|
12天前
|
云安全 监控 安全
|
3天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1033 151
|
3天前
|
编解码 人工智能 机器人
通义万相2.6,模型使用指南
智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话
|
17天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1726 9
|
9天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
675 152
|
11天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
634 12