Hadoop不提供任何内置数据库。这只是两件事:
我假设由于您正在处理Web服务,因此您需要非常快速的响应。在这种情况下,恕我直言,Hadoop(准确地说是HDFS)或任何其他FS将不是合适的选择。原因是HDFS缺乏随机/读取功能,这对于任何Web项目都是非常重要的。
Hive也是如此。尽管它以类似于RDBMS的方式管理数据,但实际上它不是RDBMS。底层存储机制仍然是HDFS文件。此外,当您发出Hive查询以获取结果时,该查询首先被转换为MR作业,然后生成结果,从而导致响应缓慢。
最安全的选择是使用HBase。当您需要对数据进行随机,实时的读/写访问时,绝对是一个更好的选择。尽管它不是Hadoop平台的一部分,但它是为与Hadoop一起使用而构建的。可在现有HDFS群集上运行,并可通过不同的HBase API(适合您的情况)或通过MR(不适用于实时数据。适用于需要批量处理大量数据的情况)直接操作。易于设置和使用,无需其他基础架构。
这里要注意的重要一件事是HBase是NoSQL DB,并且不遵循RDBMS约定和术语。因此,您可能必须在开始时对设计进行一些工作。
除了HBase,您还有其他选择,例如Cassandra,它也是一个NoSQL DB。
高温超导