【发布时间】:2013-06-24 12:13:05
【问题描述】:
我需要针对 10^6 到 10^9 条记录(MySQL 中的行)对 Oracle 11g、MySQL 和 Hadoop 进行基准测试。将有大量的数据挖掘查询全天候进行,并提供实时数据。我想知道哪个数据库会更好,尤其是在一些真实的统计数据方面。未来几个月的数据肯定会超出这个范围。
是否有任何开源基准测试工具可以做到这一点?或者谁有一些有用的数据?
提前致谢。
编辑:-
Hadoop 不是数据库。它是一个分布式文件系统。让我更详细地解释一下我的要求。这就是我现在所拥有的,我的所有数据都在 mysql 中,我计划将其导出到 hadoop 并在其上运行我的数据挖掘算法。算法结束后,最终结果将被发送到 mysql 以更新当前数据。我现在还不能具体说明。现在算法将是广泛的,不完全是实时的,但我将运行一个 cron 作业,以每小时或 2 小时左右将数据导出到 hadoop。我们将分析当前数据,如果需要更新,则更新旧数据。
算法将主要基于神经网络。
我正在查看的是:- 我应该在 MySQL 中运行我的数据挖掘查询,还是按照我上面解释的操作,或者通过将数据导出到 Oracle db 来做到这一点?
【问题讨论】:
-
您能否阐明您对 Oracle 的计划?您打算迁移到 Oracle 还是打算继续在 MySQL 中收集数据,而不是定期将数据导出到 Oracle,在那里进行处理,然后将结果拉回 MySQL?
-
@olaf,这正是我想要做的。我更喜欢 hadoop 作为它的开源,但如果 oracle 足以处理非常大的数据和复杂的挖掘算法,那么它也应该这样做。而且我们不是在谈论 TB 的数据,可能远不止这些(在某个时间点的 PB)。
-
@olaf,我打算将数据收集在mysql中并定期导出
-
那么,MySQL 数据库将只是存储数据的中间位置,而数据的最终存放位置将在 Oracle 中,对吗?对于中等到相当大量的数据,这应该是一个很好的方法。如果您已经为具有分区和分析功能的 Oracle 许可证付费,那么这将是一条阻力最小的途径。如果没有,您可能会以此类 Oracle 许可证的价格构建一个小型(6 节点?)Hadoop 集群。
-
@olaf,我还没有支付 oracle 许可证的费用。这就是我想设计我的系统的方式:- 所有前端数据都来自 MySQL,通过 sqoop 导出到 hadoop。说 10 节点 hadoop 集群。我将在这里运行我所有的数据挖掘算法。然后所需的结果集将存储在 MySQL 中。每隔 1 小时左右,我将导入数据(cron 作业),再次对这些数据运行算法。如果需要,也可以运行过去数据的算法。我希望我的系统在每次运行算法时都变得更智能。
标签: mysql hadoop oracle11g benchmarking bigdata