【云计算与大数据技术】文件存储格式行式、列式、GFS、HDFS的讲解(图文解释 超详细)

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 【云计算与大数据技术】文件存储格式行式、列式、GFS、HDFS的讲解(图文解释 超详细)

一、分布式文件系统

文件系统最后都需要以一定的格式存储数据文件,常见的文件存储布局有行式存储、列式存储以及混合式存储三种,不同的类别各有其优缺点和适用的场景,在目前的大数据分析系统中,列式存储和混合式存储方案因其特殊优点被广泛采用

1:行式存储

在传统关系型数据库中,行式存储被主流关系型数据库广泛采用,HDFS文件系统也采用行式存储,在行式存储中,每条记录的各个字段连续的存储在一起,而对于文件中的各个记录也是连续存储在数据块中。

行式存储对于大数据系统的需求已经不能很好的满足,主要体现在以下几个方面

快速访问海量数据的能力被束缚

行的值由响应列的值来定位,这种访问模型会影响快速访问的能力,因为在数据访问的过程中引入了耗时的输入与输出,在行式存储中,为了提高数据处理能力,一般通过分区技术来减少查询过程中数据输入与输出的次数,从而缩短响应时间,但是这种分区技术对海量数据规模下的性能改善效果并不明显

扩展性差

在海量规模下,扩展性差式传统数据存储的一个致命的弱点。一般通过向上扩展和向外扩展来解决数据库扩展的问题。向上扩展是通过升级硬件来提升速度,从而缓解压力,向外扩展则是按照一定的规则将海量数据进行划分,再将原来集中存储的数据分散到不同的数据服务器上,但由于数据被表示成关系模型,从而难以被划分到不同的分片中等原因,这种解决方案仍有有局限性

2:列式存储

列式存储 - 与行式存储布局对应,列式存储布局实际存储数据时按照列队所有记录进行垂直划分,将同一列的内容连续存放在一起

将经常联合使用的列存储在一个数据块中,避免通过不必要的网络传输来获取多列数据,采用列组方式存储布局可以在一定程度上缓解这个问题,也就是将记录的列进行分组,将经常使用的列分为一组,这样即使是按照列式来存储数据,也可以将经常联合使用的列存储在一个数据块中,避免通过不必要的网络传输来获取多列数据,对于某些场景而言会较大的提升系统性能

3:混合式存储

混合式存储- 融合了行式和列式存储布局的优点

首先将记录表按照行进行分组,若干行划分为一组

对于每组内的所有记录,在实际存储时按照列将同一列内容连续存储在一起

二、Google文件系统(GFS)

GFS(Google文件系统)是Google为了存储百亿计的海量网页信息而专门开发的文 件系统

数据冗余备份、故障自动检测、故障机器自动恢复等都列在GFS的设计目标里

GFS中存储的文件绝大多数是大文件

系统中存在大量的“追加”写操作,即在已有文件的末尾追加内容,已经写入的 内容不做更改

对于数据读取操作来说,绝大多数操作都是“顺序”读,少量的操作是“随机” 读  

三、HDFS

Hadoop 分布式文件系统 (HDFS)被设计成适合运行在通用硬件 (commodity hardware)上的分布式文件系统,HDFS是一个高度容错性的系统,适合部署在廉价的机器上,HDFS能够提供高吞吐的数据访问,非常适合大规模数据集上的应用,HDFS在最开始是在Apache Nutch搜索引擎项目的基础架构开发的。HDFS是Apache Hadoop Core项目的一部分

HDFS 采用 master/slave 架构。一个 HDFS 集群由一个namenode 和一定数目的 datanode 组成

HDFS采用Java语言开发,因此任何支持Java的机器都可以部署NameNode或者DataNode,由于采用了可移植性极强的Java语言,使得HDFS可以部署到多种类型的机器上

创作不易 觉得有帮助请点赞关注收藏~~~

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
3月前
|
存储 机器学习/深度学习 SQL
大数据处理与分析技术
大数据处理与分析技术
230 2
|
3月前
|
存储 分布式计算 NoSQL
【赵渝强老师】大数据技术的理论基础
本文介绍了大数据平台的核心思想,包括Google的三篇重要论文:Google文件系统(GFS)、MapReduce分布式计算模型和BigTable大表。这些论文奠定了大数据生态圈的技术基础,进而发展出了Hadoop、Spark和Flink等生态系统。文章详细解释了GFS的架构、MapReduce的计算过程以及BigTable的思想和HBase的实现。
213 0
|
2月前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
111 2
|
2月前
|
SQL 运维 大数据
轻量级的大数据处理技术
现代大数据应用架构中,数据中心作为核心,连接数据源与应用,承担着数据处理与服务的重要角色。然而,随着数据量的激增,数据中心面临运维复杂、体系封闭及应用间耦合性高等挑战。为缓解这些问题,一种轻量级的解决方案——esProc SPL应运而生。esProc SPL通过集成性、开放性、高性能、数据路由和敏捷性等特性,有效解决了现有架构的不足,实现了灵活高效的数据处理,特别适用于应用端的前置计算,降低了整体成本和复杂度。
|
3月前
|
机器学习/深度学习 存储 大数据
在大数据时代,高维数据处理成为难题,主成分分析(PCA)作为一种有效的数据降维技术,通过线性变换将数据投影到新的坐标系
在大数据时代,高维数据处理成为难题,主成分分析(PCA)作为一种有效的数据降维技术,通过线性变换将数据投影到新的坐标系,保留最大方差信息,实现数据压缩、去噪及可视化。本文详解PCA原理、步骤及其Python实现,探讨其在图像压缩、特征提取等领域的应用,并指出使用时的注意事项,旨在帮助读者掌握这一强大工具。
174 4
|
3月前
|
机器学习/深度学习 存储 大数据
云计算与大数据技术的融合应用
云计算与大数据技术的融合应用
|
3月前
|
存储 弹性计算 分布式计算
云计算在大数据处理中的优势与挑战
云计算在大数据处理中的优势与挑战
|
3月前
|
SQL 存储 大数据
单机顶集群的大数据技术来了
大数据时代,分布式数仓如MPP成为热门技术,但其高昂的成本让人望而却步。对于多数任务,数据量并未达到PB级,单体数据库即可胜任。然而,由于SQL语法的局限性和计算任务的复杂性,分布式解决方案显得更为必要。esProc SPL作为一种开源轻量级计算引擎,通过高效的算法和存储机制,实现了单机性能超越集群的效果,为低成本、高效能的数据处理提供了新选择。
|
3月前
|
SQL 存储 算法
比 SQL 快出数量级的大数据计算技术
SQL 是大数据计算中最常用的工具,但在实际应用中,SQL 经常跑得很慢,浪费大量硬件资源。例如,某银行的反洗钱计算在 11 节点的 Vertica 集群上跑了 1.5 小时,而用 SPL 重写后,单机只需 26 秒。类似地,电商漏斗运算和时空碰撞任务在使用 SPL 后,性能也大幅提升。这是因为 SQL 无法写出低复杂度的算法,而 SPL 提供了更强大的数据类型和基础运算,能够实现高效计算。
|
3月前
|
存储 大数据 定位技术
大数据 数据索引技术
【10月更文挑战第26天】
105 3

热门文章

最新文章