我需要对oracle11g、mysql和hadoop的10^6到10^9记录(mysql中的行)进行基准测试。将有大量的数据挖掘查询24小时不间断地进行实时数据挖掘。我想知道哪个数据库会更好,特别是在一些真实的数据方面。未来几个月的数据肯定会超出这个范围。
有没有开源的基准测试工具?或者任何人有一些有用的数据?
提前谢谢。
edit:-
hadoop不是db。它是一个分布式文件系统。让我更详细地解释一下我的要求。这就是我现在拥有的,我所有的数据都在mysql中,我计划将其导出到hadoop并在其上运行我的数据挖掘算法。算法完成后,最终结果将发送到mysql更新当前数据。我现在还不能说具体的细节。现在的算法将是广泛的,不完全是实时的,但我将有一个cron作业运行导出数据到hadoop每小时或2小时左右。我们将分析当前数据,如果需要更新,那么也更新旧数据。
算法将主要基于神经网络。
我所看到的是:-我应该在mysql中运行我的数据挖掘查询,还是做我上面解释过的,或者通过将数据导出到oracledb来完成?
2条答案
按热度按时间cig3rfwq1#
我有两件事要说:
你不能用hadoop代替rdbms。它不是为实时的东西而开发的。hadoop最适合离线批处理的需求。正如@olaf所说的,你试图把苹果和橙子作比较。但你为什么需要这个?我的意思是,通过查看你的用例,我觉得haddop对你没有用处。
针对您的编辑:
最好的办法是在mysql本身上运行查询。原因:
1-导入/导出时间。
2-对于mr程序来说,实现所需的算法并不总是很容易的。
3-1小时的数据量不足以成为bigdata,imho(我假设您只处理最新的数据,而不是整个数据集)。
v1l68za42#
tpc-h基准将是一个良好的开端:http://www.tpc.org/tpch/default.asp. 但是比较oracle和hadoop就相当于比较苹果和橙子。我可以想象,对于关系数据库基准测试,oracle将击败hadoop集群,而如果您的查询可以表示为map/reduce作业,那么hadoop将在perfrance/$和可伸缩性方面击败oracle。