当前位置: 首页 > news >正文

MooseFS和Hadoop两个分布式文件系统各有什么优缺点?

MooseFS是一家波兰公司开发的分布式文件系统,相对于Google体系,Apache支持的Hadoop HDFS来说,小众了许多。

一、从分布式架构的角度看

两者都属于中心结构,这点上是区别于GlusterFS这种去中心化的分布式文件系统架构。

MooseFS的元数据管理主服务叫做MasterServer,而HDFS是NameNode。它们都是在管理着元数据目录树以及负责不同数据节点的分布式协作。

因此从分布式架构角度看,两者的中心化特性所带来的分布式优劣是不分伯仲的。

这种中心化的特征我以前提到过,那就是存在一个主服务,对元数据的管理维护所形成的逻辑操作,就能让整个分布式系统的文件目录的管理维护成本变得很低,这是优势。

劣势就在于主服务往往承担着巨大的风险,这种风险来自于内存需要缓存大量元数据,那么一个数据文件块的存储就不能太小,分布式文件系统不适合存储小文件这是通病。

但是中心化架构非常关键的一环就是主服务的高可用,如果没有高可用,主服务宕机就会出现集群不可用的巨大风险,因此两者都必然具有高可用架构设计。

然而MooseFS在高可用服务上是闭源收费的,但HDFS是一套复杂、开源、成熟的设计(QJM+ZKFC+主备)机制,因此HDFS在生产环境方面是占优势的。

但是MooseFS在免费开源上也提供了MetaLogger方案,至少能让元数据实时地同步到备用服务器,主节点出现故障,至少运维手动启动备选节点不用考虑元数据的维护问题。

二、从易用性上看

MooseFS具有与GlusterFS一样出色的本地目录融合机制,原理上都是基于Linux/BSD系统的内核机制FUSE(用户空间文件系统),让分布式文件系统目录可以Mount成普通文件目录来使用,这样就保证程序无关了。

但是HDFS主要利用JAVA接口或者HDFS命令行来访问,对于程序接口是友好的,但是对于非程序员使用就带来了很多不方便。

三、从大数据生态角度考虑

MooseFS更像一个工具,而HDFS则是一个数据底座。

HDFS的存储格式与物理存储是策略与机制分离设计。

也就是说存储后都会转换成统一的128M Block(块),但是上层调用端可以设计出各自不同的格式,例如Avro、Parquet、CSV等,这就非常有利于上层的数据解析设计。

常见的分布式数据库HBase就是设计了自己的HFile格式,让不同的数据库节点进行存储、索引和查询。

HFile作为一种HDFS的格式策略,底层依然是HDFS的Block统一存储、副本复制和块分布。

尽管MooseFS也具备差不多的设计思想,不过它 并不像Hadoop生态那样,在HDFS之上有Hive、HBase这样的重量级数据系统。

而且MooseFS基于C++开发,并没有像HDFS那样更容易提供Java接口的支持和扩展,也就缺少了很大的Java社区支持。

四、对比总结

因此MooseFS比较适合作为文件资料的仓库。更倾向于普通意义上的文件存储,只不过文件也作为数据块,存在不同的分布式节点位置,

HDFS的应用设计思路继承自Google GFS,主要是针对应用系统的海量碎片数据的归拢聚合、存储,基于Java设计实现,更适合作为企业级数据底座,也更适合作为数据仓库的基础设施。
 

相关文章:

  • wordpress 调用avatar/郑州网络营销推广机构
  • 网站上传为什么大小限制/产品线上营销推广方案
  • wordpress 主题地址/百度客户端电脑版
  • 怎么做微信钓鱼网站/企业网络营销策划方案范文
  • 哪个网站做自媒体比较好/最佳磁力吧ciliba搜索引擎
  • 做网站实际尺寸是多少/百度怎么提交收录
  • 初识C++ - 类与对象(中篇·上半)
  • (附源码)计算机毕业设计高校学生宿舍管理信息系统
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • matlab梯形法求解微分方程和simulink对比
  • (附源码)计算机毕业设计SSM基于Java的新冠疫苗预约系统
  • OpenCV实战案例——车道线识别
  • 《LeetCode刷题》—121. 买卖股票的最佳时机
  • Redis安装教程
  • python如何实现字符串替代replace函数的用法和实例
  • MFC如何实现new出来的非模态窗口关闭时自动释放资源
  • Docker 详解及安装
  • 笔试强训48天——day3