mysql - 适合在 100 TB 数据上进行机器学习的数据库

标签 mysql mongodb hadoop machine-learning

我需要对大约 100tb 的网络数据进行分类和聚类,我计划使用 Hadoop、Mahout 和 AWS。你推荐我使用什么数据库来存储数据? MySQL 会工作还是像 MongoDB 这样的东西会明显更快?一个数据库或另一个数据库还有其他优势吗?谢谢。

最佳答案

最简单和最直接的答案是将文件直接放在 HDFS 或 S3 中(因为您提到了 AWS)并直接将 Hadoop/Mahout 指向它们。其他数据库有不同的用途,但 Hadoop/HDFS 正是为这种大容量、批处理式分析而设计的。如果你想要一个更像数据库风格的访问层,那么你可以毫不费力地添加 Hive。底层存储层仍然是 HDFS 或 S3,但 Hive 可以让您对存储在那里的数据进行类似 SQL 的访问,如果您需要的话。

只是为了解决您提出的其他两个选项:MongoDB 非常适合低延迟读写,但您可能不需要它。我不了解 MySQL 的所有高级功能,但我猜 100TB 将很难处理,尤其是当您开始进行访问所有数据的大型查询时。它更适合传统的事务性访问。

关于mysql - 适合在 100 TB 数据上进行机器学习的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18744826/

相关文章:

node.js - 如果抓取数百万个 URL 并将数据更新到 mongodb,那么 cron 作业服务器是否密集?

hadoop - hive 是否为每条记录实例化一个新的 UDF 对象?

php - 对于非常简单的数据,平面文件与 MySQL

mysql - SQL 触发器仅影响第一条记录

具有相同ID的mysql sum列

mysql - MySQL 中的分组

c++ - Mongodb Cxx Driver Test 在 Release Build 中崩溃 [在 Debug 中工作正常]

python - 无法提交使用 pymongo 插入到 MongoDB

sql - 在 Hive 中查找 ASCII 值的总和

database - 将 CSV 加载到表格时出错