1

我需要针对 10^6 到 10^9 条记录(MySQL 中的行)对 Oracle 11g、MySQL 和 Hadoop 进行基准测试。将有大量的数据挖掘查询全天候进行,并提供实时数据。我想知道哪个数据库会更好,尤其是在一些真实的统计数据方面。在接下来的几个月里,数据肯定会超出这个范围。

是否有任何开源基准测试工具?或者任何人都有一些有用的数据?

提前致谢。

编辑:-

Hadoop 不是数据库。它是一个分布式文件系统。让我更详细地解释一下我的要求。这就是我现在所拥有的,我的所有数据都在 mysql 中,我计划将其导出到 hadoop 并在其上运行我的数据挖掘算法。算法结束后,最终结果将被发送到 mysql 以更新当前数据。我现在还不能具体说明。现在算法将是广泛的,不完全是实时的,但我将运行一个 cron 作业,以每小时或 2 小时左右将数据导出到 hadoop。我们将分析当前数据,如果需要更新,则更新旧数据。

算法将主要基于神经网络。

我正在看的是:-我应该在 MySQL 中运行我的数据挖掘查询,还是按照我上面解释的操作,或者通过将数据导出到 Oracle db 来做到这一点?

4

2 回答 2

1

TPC-H 基准测试将是一个好的开始:http ://www.tpc.org/tpch/default.asp 。但是比较 Oracle 和 Hadoop 几乎就是比较苹果和橘子。我可以想象,对于关系数据库基准测试,Oracle 将击败 Hadoop 集群,而如果您的查询可以表示为 Map/Reduce 作业,则 Hadoop 将在性能/成本和可扩展性方面击败 Oracle。

于 2013-06-24T18:22:11.080 回答
1

我有两件事要说:

Hadoop is "not" a DB.
Comparing un-comparable things is useless, IMHO.

您不能使用 Hadoop 作为 RDBMS 的替代品。它不是为实时的东西而开发的。Hadoop 最适合离线批处理的要求。正如@Olaf 所说,您正在尝试将苹果与橙子进行比较。但是你为什么需要这个?我的意思是通过查看你的用例,我觉得 Haddop 对你没有用处。


回应您的编辑:

最好的办法是在 MySQL 本身上运行查询。原因:

1- 导入/导出时间。

2- 就 MR 程序而言,实现所需的算法并不总是很容易。

3- 1 小时的数据量不足以成为大数据,恕我直言。(我假设您打算只处理最新数据而不是整个数据集)。

于 2013-06-25T01:11:17.657 回答