The Quantcast File System——论文泛读

news2024/11/20 10:44:51

VLDB 2013 Paper 分布式元数据论文阅读笔记整理

问题

在2013年之前,由于网络链路带宽有限,数据在集群中移动速度慢,因此Hadoop尽量将数据留在原来的位置,并将处理代码发送给它。随着网络链路的发展,可以之前更高的数据传输。

且HDFS采用三副本的方法容错,产生大量的存储开销。

本文工作

Quantcast文件系统(QFS)是Hadoop分布式文件系统(HDFS)的有效替代方案。QFS是用C++编写的,与Hadoop MapReduce插件兼容,并提供了相对于HDFS的几个效率改进:

  • 通过Reed-Solomon擦除编码而不是三副本复制,默认采用6+3配置,节省50%的磁盘空间,使写入吞吐量翻倍。

  • 更快的名称节点

  • 通过并发附加功能支持更快的排序和日志记录

  • 比HDFS更快的本地命令行客户端

  • 全局反馈导向的I/O设备管理

  • 通过直接I/O确定I/O设备行为

开源代码:GitHub - quantcast/qfs: Quantcast File System

QFS与Hadoop兼容,将数据从HDFS迁移到QFS只需执行Hadoop-distcp。

元数据服务器

负责块创建、维持空间平衡、保持冗余、块驱逐、节点休眠

使用B+树表示文件系统元数据以最小化随机存储器访问,树有四种类型的节点:内部、文件或目录属性、目录条目、区块信息。树中的所有密钥都是16字节整数:4位节点类型、4位密钥保存节点号(目录id)、60位子密钥保存文件内块位置或目录名哈希。

设计为目录条目节点紧跟在目录属性节点之后以优化目录列表,块信息节点紧跟在文件属性节点之后,以优化打开和读取文件。

总结

设计了QFS文件系统,与HDFS兼容。设计了几个优化点:采用RS编码存储数据,不使用三副本,节省50%存储空间;使用B+树存储元数据,将目录条目节点紧跟在目录属性节点之后以优化目录查询,块信息节点紧跟在文件属性节点之后,以优化打开和读取文件。

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

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

相关文章

【多人协作】场景模拟(一)

文章目录 实现多人协作场景:操作流程1开发人员a和b克隆仓库到本地2在本地仓库建立分支并与远程分支建立链接3开发人员工作并提交代码4将合并dev分支与master分支 实现多人协作 多人协作开发是git的最核心也是最重要的操作。多人协作也就意味着同一时间里&#xff0…

快速传输大文件:手机电脑互传文件的最佳解决方案

无论是工作还是生活,我们都可能需要将照片、视频、音乐或其他类型的文件从一台设备发送到另一台设备。然而,由于网络速度的限制,传统的文件传输方法可能会非常耗时。那么,有没有一种快速传输大文件的解决方案呢?答案是…

基于IDEA快速创建一个SpringMVC项目并且配置Tomcat

1,打开IDEA,新建Maven项目【使用web模板创建】 使用社区版的同学创建普通的maven项目,并配置项目的webapp,详情可参考 快速创建一个SpringMVC项目(IDEA) 2,在main目录下创建Java和resource目录…

YOLOv9独家原创改进: 特征融合创新 | 一种基于内容引导注意力(CGA)的混合融合 | IEEE TIP 2024 浙大

💡💡💡创新点:提出了一种基于内容引导注意力(CGA)的混合融合方案,将编码器部分的低级特征与相应的高级特征有效融合。 💡💡💡在多个数据集实现暴力涨点,适用于小目标,低对比度场景 💡💡💡如何跟YOLOv9结合:将backbone和neck的特征融合,改进结构图如下…

强化训练:day9(添加逗号、跳台阶、扑克牌顺子)

文章目录 前言1. 添加逗号1.1 题目描述2.2 解题思路2.3 代码实现 2. 跳台阶2.1 题目描述2.2 解题思路2.3 代码实现 3. 扑克牌顺子3.1 题目描述3.2 解题思路3.3 代码实现 总结 前言 1. 添加逗号   2. 跳台阶   3. 扑克牌顺子 1. 添加逗号 1.1 题目描述 2.2 解题思路 我的写…

短视频最后的慢动作怎么做:成都鼎茂宏升文化传媒公司

短视频最后的慢动作怎么做:技巧与创意实践指南 在短视频创作的浩瀚宇宙中,慢动作特效如同一颗璀璨的星辰,为作品增添无限魅力与情感深度。它不仅能够放大细节之美,还能延长关键瞬间,引发观众强烈的情感共鸣。短视频最…

五丰黎红针对主厨开展精准营销,“星厨俱乐部”平台助力调味品快速动销。

以“质量”为核心,以“绿色发展”为引领,致力于打造中国味道的调味品企业五丰黎红,长期以来不断改革生产设备及创新工艺,已发展成为国家农(林)业产业化龙头企业、省卓越绩效模式先进企业、省服务业企业50强…

百度云防护设置UA拦截和测试是否生效

最近,有位同学反馈网站遭遇UA为“Go-http-client/1.1”恶意请求 然后设置防护模板 自定义访问策略,把UA包含Go-http-client的进行拦截。 然后我们再进入17测进行测试 点高级,user-agent栏中输入Go-http-client 测试结果反馈状态403&#xff…

【java-数据结构15-模拟实现栈的方法】

上篇文章中,我们已经手动实现了栈,下面,我们将继续手动实现栈的方法~ 1.在栈中存放元素 1.定义一个usedsize,用来临时存放下标 2.当存放一个元素后,下标加一 3.不要忘记判满 如图 代码如下 判满方法 public boolea…

linux 网络管理 实验

目录 网络管理主机名管理网络管理 网络管理 主机名管理 执行如下命令查看主机名。 [rootopenEuler ~]# hostname openEuler [rootopenEuler ~]# cat /etc/hostname #这个文件是主机名的配置文件 openEuler执行如下命令临时修改主机名。 [rootopenEuler ~]# hostname huawe…

【机器学习300问】81、什么是动量梯度下降算法?

动量梯度下降算法(Momentum)是利用指数加权移动平均的思想来实现梯度下降的算法。让我们先来回顾一下基础的梯度下降方法以及看看它有哪些不足之处。接着引出动量梯度下降算法,在理解了它的原理后看看它是如何规避之前方法的不足的。 如果不知…

AI如何推动科学的变革:AlphaFold的发展历程与科学范式的转变

之前我们的文章介绍了DeepMind最新的研究成果AlphaFold3,在近期的访谈中,DeepMind的科学副总裁普什梅特科利(Pushmeet Kohli)与斯坦福大学教授维杰潘德(Vijay Pande)深入讨论了人工智能(AI&…

Vue入门到关门之Vue3学习

一、常用API 注意:本文项目均使用脚手架为 Vite 1、setup函数 (1)介绍 如果在项目中使用配置项API,那么写起来就和vue2的写法是一样的;但是如果在项目中写的是组合式API,那么组件中所用到的&#xff1a…

【c++】全面理解C++多态:虚函数表深度剖析与实践应用

🔥个人主页:Quitecoder 🔥专栏:c笔记仓 朋友们大家好,通过本篇文章,来详细理解多态的内容 目录 1.多态的定义及实现1.1多态的构成条件1.2虚函数的重写1.3 C11 override 和 final1.4重载、覆盖(重写)、隐藏…

Docker 部署 Nginx 实现一个极简的 负载均衡

背景: Nginx是异步框架的网页服务器,其常用作反向代理(负载均衡器)。在一般的小项目中, 服务器不多, 如果不考虑使用服务注册与发现, 使用Nginx 可以容易实现负载均衡。 在特此写一个快速入门 Nginx 的技术贴, 使用 Docker 部署 Nginx, 实现一个极简的加权轮询负载均…

信息与未来2017真题笔记

T1. 龟兔赛跑 题目描述 兔子又来找乌龟赛跑啦!同样的错误兔子不会犯两次,所以兔子提出赛跑的时候,乌龟就觉得这场比赛很不公平。于是兔子进一步放宽了条件,表示他可以在比赛开始以后先睡 t t t 分钟再开始追乌龟。 乌龟这下没…

瑞_Docker安装教程(超详细图文步骤,含卸载、离线安装)

文章目录 1 CentOS 在线安装 Docker1.1 卸载旧版Docker1.2 安装Docker1.2.1 安装Docker的yum库1.2.2 配置Docker的yum源1.2.3 安装Docker-CE1.2.4 启动和校验(开机自启)1.2.5 配置镜像加速 1.3 安装 Docker Compose1.4 启动和校验(开机自启&a…

神级框架!!不要再封装各种 Util 工具类了【送源码】

这个工具类就比较厉害了,不过我在 Halo 当中用得最多的还是 HtmlUtil.encode,可以将一些字符转化为安全字符,防止 xss 注入和 SQL 注入,比如下面的评论提交。 comment.setCommentAuthor(HtmlUtil.encode(comment.getCommentAutho…

MQTT学习(一)

MQTT是一种与HTTP类似的应用层协议。 在某些物联网应用中,MQTT优于HTTP。 首先,HTTP是用于客户端服务器计算的以文档为中心的请求-响应协议。 HTTP是万维网的基础,但它不是专门为机器之间通信而设计的。 MQTT是一种机器对机器、以数据为中…

栅格地图、障碍物地图与膨胀地图(障碍物地图(三)写一张障碍物地图)

花了不少时间看完了障碍物地图的大致思路,这里简单根据前面的思路来写一个简易版的障碍物地图。 1.订阅一张地图 首先,我们需要一张静态地图作为原始数据,这个我们可以订阅当前的map来获取: void map_test1::MapCallback(const…