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

news2025/1/20 11:00:25

一、分布式文件系统

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

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可以部署到多种类型的机器上

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/84624.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mysql 数据库设计三大范式

1. 什么是设计范式 设计表的依据,按照范式设计出来的表,不会出现数据的冗余 数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构清晰的;反之则是乱七八糟,不仅会给开发人员制造麻烦&a…

大数据面试之Hive常见题目

大数据面试之Hive常见题目 1. Hive的架构 1、重点四个器:解释器(SQL Parser)、Driver:编译器(Compiler),优化器(Optimizer),执行器(Executor&…

基于Python+Django的在线学习交流平台

在各学校的教学过程中,直播授课管理是一项非常重要的事情。随着计算机多媒体技术的发展和网络的普及,“基于网络的学习模式”正悄无声息的改变着传统的直播学习模式,“基于网络的直播教学平台”的研究和设计也成为教育技术领域的热点课题。采…

BEPUphysicsint定点数3D物理引擎介绍

帧同步的游戏中如果用物理引擎,为了保证不同设备上的结果一致,需要采用定点数来计算迭代游戏过程中的物理运算。也就是我们通常说的定点数物理引擎(确定性物理引擎)。本系列教程给大家详细的讲解如何在你的项目中内置一个确定性物理引擎。确定性物理引擎我们使用git…

es入门(中)

目录 6.Java api 实现es中的文档管理(增删改) 6.1 java 客户端简单获取数据 6.2结合spring-boot测试文档查询 配置环境 配置类 测试代码结构 简单的查询 对查询的请求设置参数 异步查询 6.4 结合spring-boot测试文档新增 6.5结合spring-boot…

C语言的预处理器无法先展开宏再拼接符号?可以!

背景 最近接到一个需求,要实现一个脚本,能提取.h文件里定义的所有全局变量的值,这些全局变量都是结构体变量,名字是结构体类型名加场景后缀——每个.h对应的场景都是唯一的,所以.h内所有变量名的后缀一致。 我的解决…

线段树详解(包含加法线段树、乘法线段树及区间根号线段树,简单易懂)

同步发表于洛谷梦回江南 这一篇文章我们将对线段树中的常规操作进行详细的讨论。 以下所提到的复杂度如无特殊说明均为时间复杂度。log⁡\loglog 的底数均为 222。 不开 long long 见祖宗! 文章目录第一部 普通线段树一、引入二、优化方案三、懒标记(l…

[附源码]Python计算机毕业设计电影网站系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

什么是编程的设计模式,史上最全面Java设计模式总结,看完再也不会忘记

文章目录**9.1 工厂方法模式与抽象工厂模式对比#****9.2 简单工厂模式与单例模式对比#****9.3 简单工厂模式与建造者模式对比#****10.1 装饰器模式与代理模式对比#****10.2 装饰器模式与门面模式对比#****10.3 装饰器模式与适配器模式对比#****10.4 适配器模式与代理模式…

人事管理系统--低代码课程的教学实验/实训教学 (①招聘管理)

人事管理系统是信息系统课程中最为常见的教学场景,对于非计算机专业的学生来说,如何使用低代码,甚至是零代码的方式搭建该系统呢?简道云「人事OA管理」应用包含招聘管理、人员入离职管理、考勤管理、会议室预约、物资进销存管理等…

#3文献学习总结--边缘计算资源分配与任务调度优化

文献:“边缘计算资源分配与任务调度优化综述 ” 1、系统模型“云-边-端” 第 1 层是物联网层,传感器、处理器根据应用需求感知、测量和收集原始数据,在本地处理大量数据或将其上传至计算节点。 第 2 层是边缘计算层,位于互联网边…

rollup打包vue组件

rollup安装与使用 npm i rollup -g # 全局安装 npm i rollup -D # 项目本地安装rollup配置 import vue from rollup-plugin-vue import typescript from rollup-plugin-typescript2 import postcss from rollup-plugin-postcss; import cssnano from cssnano i…

2022华为全球校园AI算法精英赛:季军方案!

Datawhale干货 作者:鲤鱼,西安交通大学,人工智能学院笔者鲤鱼,是西安交通大学人工智能学院的一名研究生,在2022华为全球校园AI算法精英赛的赛道二取得了季军的成绩。初赛阶段一直名列A榜的榜首,复赛前几天也…

zabbix6.0安装教程(二):Zabbix6.0安装最佳实践

zabbix6.0安装教程(二):Zabbix6.0安装最佳实践 目录概述一、Access control1.Zabbix agent 的安全用户2.UTF-8 编码二、Zabbix Security Advisories and CVE database1.为 Zabbix 前端设置 SSL三、Web server hardening1.在 URL 的根目录上启…

[附源码]Python计算机毕业设计SSM基于的开放式实验室预约系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

人家这才叫软件测试工程师,你那只是混口饭吃

前些天和大学室友小聚了一下,喝酒喝大发了,谈天谈地谈人生理想,也谈到了我们各自的发展,感触颇多。曾经找工作我迷茫过、徘徊不,毕业那会我屡屡面试失败,处处碰壁;工作两年后我一度想要升职加薪…

[附源码]Python计算机毕业设计SSM基于的二手车商城(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

第五款!美创数据水印溯源系统通过中国信通院数据安全能力评测

近期,中国信息通信研究院安全研究所发布“数据安全产品能力验证计划”第六期通过企业名单。美创科技数据水印溯源系统顺利通过测试,成为美创第五款通过权威检验测评的数据安全产品! 此前,中国信息通信研究院安全所开展数据安全类产…

分布式系统中的数据复制

什么是数据复制 数据复制是制作数据的多个副本并将其存储在不同位置的过程,用于备份目的、容错和提高它们在网络中的整体可访问性。与数据镜像类似,数据复制可以应用于单个计算机和服务器。复制的数据可以存储在同一系统、现场和非现场主机以及基于云的…

FT 在图形渲染中的应用:基于 FFT 的海浪模拟

接上文:FT 在图像处理中的应用 五、一个大型案例:基于 FFT 的海浪模拟 前置:​​​​​ 傅里叶级数与傅里叶变换离散傅里叶变换(DFT)​​​​​​​​FT 在图像处理中的应用​5.1 FFT 海洋公式:二维 IDFT https://tore.tuhh.de…