我有兴趣知道最近发布的(http://mirror.facebook.com/facebook/hive/hadoop-0.17/)蜂巢在性能方面与HBase相比如何。Hive使用的类似SQL的接口比我们实现的HBase应用程序接口要好得多。
发布于 2008-08-30 22:16:14
很难找到更多关于Hive的信息,但我在Hive网站上找到了这个snippet,它严重倾向于HBase (粗体补充):
Hive基于Hadoop,这是一个批处理系统。因此,该系统不能也不能保证查询的低延迟。这里的范例严格地是提交作业并在作业完成时得到通知,而不是实时查询。因此,它不应该与Oracle这样的系统进行比较,在Oracle中,分析是在数量小得多的数据上进行的,但分析进行的迭代更多,迭代之间的响应时间少于几分钟。配置单元查询的即使是最小的作业,响应时间也可能是5-10分钟,而对于较大的作业,这甚至可能需要几个小时。
由于HBase和HyperTable都与性能有关(模仿谷歌的BigTable),它们听起来肯定会比Hive快得多,但代价是功能和更高的学习曲线(例如,它们没有joins或类似SQL的语法)。
发布于 2010-06-04 12:38:53
从一个角度来看,Hive由五个主要组件组成:类似SQL的语法和解析器、查询规划器、查询执行引擎、元数据存储库和列式存储布局。它的主要关注点是数据仓库风格的分析工作负载,因此不需要通过键低延迟检索值。
HBase有自己的元数据存储库和列式存储布局。可以在HiveQL表上编写HBase查询,从而允许HBase利用Hive的语法和解析器、查询规划器和查询执行引擎。有关更多详细信息,请参阅http://wiki.apache.org/hadoop/Hive/HBaseIntegration。
发布于 2009-06-25 21:38:07
Hive是一个分析工具。就像pig一样,它是为利用map reduce对潜在的海量数据进行临时批处理而设计的。以terrabytes为例。想象一下,在关系数据库中尝试这样做...
HBase是基于BigTable的基于列的键值存储。虽然可以通过HBase运行map reduce作业,但不能执行查询本身。它的主要用例是按键读取行,或扫描行的范围。一个主要的特征是当扫描列的‘族’的行键范围时,能够具有数据局部性。
https://stackoverflow.com/questions/24179
复制相似问题