3

我是使用 Hadoop 的初学者。我只是想知道我是否可以在 Web 应用程序中使用 Hadoop 作为后端而不是使用关系数据库?

4

3 回答 3

6

首先,您无法将 Hadoop 与 RDBMS 进行比较,因为它不是数据库。它只是为您提供了一个文件系统(HDFS),它像任何其他 FS 一样缺乏随机读/写的能力。如果您真的想为您的 Web 应用程序提供分布式后端,您可以在 Hadoop 之上使用 HBase 之类的东西。它将为您提供实时、随机的读/写功能。而且,是的,最重要的是,正如@Abhinav 已经说过的那样,Hadoop 最适合批量处理。

于 2013-06-03T13:05:33.270 回答
0

在 1 行中...没有...hadoop 用于大数据的批处理...。

于 2013-06-03T11:26:59.627 回答
0

我认为答案是“不,你不应该”,但正如上面有人指出的那样,这不是全部答案。

Hadoop 并不是 RDBMS 的替代品——它既是分布式文件存储,又是分布式计算机制。这两件事本身对网站没有帮助。

现在,您可能拥有 Hadoop 中的大量“大数据”,如果它本质上是“键/值”查找,则可以通过 HBase 提供这些数据。但是有很多键值存储可能更合适。

如果您仍然需要 SQL,则可以使用诸如 Hive 或 Impala 之类的工具以及其他可以为您提供类似 SQL 的行为的工具。使用 Hive 的缺点是它使用 MapReduce - 这意味着每个查询可能需要一分钟!适用于大量报告,但不适用于其他任何事情。Impala 应该加快速度,但我没有这方面的实际经验。

于 2013-06-03T14:00:22.827 回答