首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >资料来源: HDFS对HBase。每个人的好处?

资料来源: HDFS对HBase。每个人的好处?
EN

Stack Overflow用户
提问于 2010-09-22 23:06:43
回答 2查看 3.1K关注 0票数 8

如果我正确理解Hadoop生态系统,我可以从HDFS或HBase运行我的HBase作业源数据。假设前面的假设是正确的,我为什么要选择一个而另一个呢?使用HBase作为MR源是否有性能、可靠性、成本或易用性的好处?

我能找到的最好的一句话是:"HBase是在需要实时读写随机访问非常大的数据集时使用的Hadoop应用程序。“- this (2009) Hadoop:权威指南,第1版。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-23 13:29:06

使用HDFS上的直通式Hadoop /Reduce,您的输入和输出通常存储为平面文本文件或Hadoop SequenceFiles,它们只是串行化的对象流到磁盘。这些数据存储或多或少是不变的。这使得Hadoop适合于批处理任务。

HBase是一个成熟的数据库(尽管不是关系数据库),它使用HDFS作为存储。这意味着您可以在数据集中运行交互式查询和更新。

HBase的好处在于它能很好地处理Hadoop生态系统,因此如果您需要对大型数据集执行批处理以及交互、粒度、记录级别的操作,那么HBase将两者都做得很好。

票数 6
EN

Stack Overflow用户

发布于 2016-12-04 11:25:17

中发现了HDFS的一些相关限制(这是Google的一个开源的孪生体)。

关于目标用例,我们读到:

第三,大多数文件是通过附加新数据而不是覆盖现有数据而发生变异的。文件中的随机写入实际上是不存在的。..。鉴于对大型文件的这种访问模式,附加成为性能优化和原子性保证的重点。

因此:

..。我们放宽了GFS的一致性模型,大大简化了文件系统,而不给应用程序带来沉重的负担。我们还引入了原子追加操作,以便多个客户端可以并发地附加到文件中,而不需要在它们之间进行额外的同步。 记录附加会导致数据(“记录”)至少原子地附加一次,即使存在并发突变,.

如果我正确地阅读了文件,那么每个文件的几个副本(在HDFS意义上)并不一定完全相同。如果客户端只使用原子操作,则可以将每个文件视为记录的连接(每个记录来自其中的一个操作),但在某些副本中可能会出现重复,并且它们的顺序可能与副本不同。(虽然很明显,也有一些填充插入,所以它甚至没有那么干净-读报纸。)这取决于用户管理记录边界、唯一标识符、校验和等。

因此,这与我们在桌面机器上习惯的文件系统完全不一样。

请注意,HDFS对许多小文件没有好处,因为:

  1. 每个模块通常分配一个64 MB的块(来源)。
  2. 它的体系结构不擅长管理大量的文件名称(源:与条目1相同)。只有一个主机维护所有的文件名(希望它适合它的RAM)。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3774259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档