Mysql 包含相关数据的非常大的表。什么样的DBMS是最佳的,以及如何对其建模?

Mysql 包含相关数据的非常大的表。什么样的DBMS是最佳的,以及如何对其建模?,mysql,mongodb,hadoop,cassandra,scalability,Mysql,Mongodb,Hadoop,Cassandra,Scalability,我有一个脚本,在一个表中插入每个用户的职位公告的相关系数。这个表现在有9300万行,并且在未来将以指数级的速度增长。该表只有三个字段:作业id、用户id和相关性。目前大约有6500名用户和45000个工作岗位。我需要重新考虑数据建模吗 这种设置的最佳DBMS是什么 我需要能够排序的相关性和容易做的事情,如 从jobpostrelevance中选择相关性,其中job_id=1和user_id=2根据我的经验,如果您正在寻找最佳性能的写作,您可以尝试MongoDB或Cassandra,两者都非常好。

我有一个脚本,在一个表中插入每个用户的职位公告的相关系数。这个表现在有9300万行,并且在未来将以指数级的速度增长。该表只有三个字段:作业id、用户id和相关性。目前大约有6500名用户和45000个工作岗位。我需要重新考虑数据建模吗

这种设置的最佳DBMS是什么

我需要能够排序的相关性和容易做的事情,如
从jobpostrelevance中选择相关性,其中job_id=1和user_id=2

根据我的经验,如果您正在寻找最佳性能的写作,您可以尝试MongoDB或Cassandra,两者都非常好。尽管您的问题似乎适合于键值DB(比如Cassandra)

但我将根据“硬件”回答您的问题:

如果整个数据库(will)适合内存,我会选择MongoDB,因为您会得到更好的结果。模型:一个文档(MongoDB是面向文档的),每个“列”作为一个属性

如果整个数据库不适合存储,我毫不怀疑:卡桑德拉是最好的选择。如果MongoDB无法将整个数据存储在内存中,那么它的性能会变得更差(正如您可以读入的)。模型:一个ColumnFamily,每个属性有一列

使用Cassandra,您将能够使用Hadoop(在其上使用Pig/Hive)对数据进行排序(我尝试过),但我不知道您是否可以将MongoDB“连接”到Hadoop。
我的las建议:MongoDB有一个非常好的文档(由10gen提供),而Cassandra的文档不如MongoDB好。但是如果您需要Cassandra文档,您可以访问datastax文档:

这对于问答来说太主观了。任何DB都可以,这取决于您个人的喜好。您的服务器/网络设置可能会出现问题,但我们不知道,即使如此,我认为这仍然过于主观。您是否遇到任何问题?只要你有正确的索引,并且它们实际上正在被使用,你就可以了。通过在测试数据库或本地数据库中插入数亿条记录,您可以看到表的未来,并查看性能是否会下降。