我需要对大约100tb的网络数据进行分类和聚类,我计划使用Hadoop和Mahout以及AWS。您建议我使用什么数据库来存储数据? MySQL工作还是会像MongoDB那样快得多?一个数据库还是其他数据库还有其他优点吗?感谢。
答案 0 :(得分:2)
最简单和最直接的答案是将文件直接放在HDFS或S3中(因为您提到了AWS)并直接指向Hadoop / Mahout。其他数据库有不同的用途,但Hadoop / HDFS专为这种高容量,批量式分析而设计。如果你想要一个更加数据库风格的访问层,那么你可以添加Hive而不会有太多麻烦。底层存储层仍然是HDFS或S3,但Hive可以为您提供类似于SQL的访问存储在那里的数据,如果这就是您所追求的。
只是为了解决您提出的另外两个选项:MongoDB适用于低延迟读写,但您可能不需要。而且我没有掌握MySQL的所有高级功能,但我猜测100TB对它来说非常难以处理,特别是当你开始进入访问所有数据的大型查询时。它更适用于传统的交易访问。