我想开发一个应用程序来学习如何使用HBase。我可以使用什么技术来使用HBase开发一个好的学习项目?例如,我想使用Ruby on Rails或Java或Spring之类的东西。我能做什么架构?
发布于 2012-02-25 13:05:11
正如您可能知道的,HBase构建在HDFS (Hadoop分布式文件系统)之上,预计它将用于存储非常大的(TB或PB)数据集。因此,从普通应用程序(控制台、桌面或Web应用程序)使用HBase不是一个好主意,因为它能够并行地处理数据集,这是我们想要在如此大的数据集上具有良好的性能和可扩展性所需的。如果没有并行处理,在如此庞大的数据上完成单个作业可能需要数天时间。Hadoop的MapReduce框架正是为这个问题提供了解决方案。您可以使用MapReduce对HBase进行读写。这将使应用程序具有高性能(作业将从几天减少到几分钟或几小时)。
所以,IMO,最好从在HBase中使用MapReduce框架开始。为此,您可以使用Java或RoR。虽然MapReduce框架是用Java语言开发的,但它也可以通过流API在其他语言中使用。RoR与Hadoop也有更好的集成。
发布于 2012-02-26 05:09:45
我认为这不是使用HBase的应用程序的技术问题。主要的学习曲线(除了Hadoop和HBase管理)是理解关系数据库和HBase之间的范式转换。
因此,作为一个主要的优势,我建议采用一些现有的RDBMS设计并将其映射到HBASE中。您必须通过的主要测试-查看您用于在RDMS上执行的所有查询是否都能以合理的效率执行。这样做,您将理解HBase和关系数据库之间的概念差异。
https://stackoverflow.com/questions/9439334
复制相似问题