在我们的(当前MySQL)数据库中有超过1.2亿条记录,并且我们经常使用PHP中的复杂JOIN查询和应用程序级逻辑来触摸数据库。我们是一家以数据挖掘为主要关注点的营销公司,因此我们有许多大型报告需要每天,每周或每月运行。对于大型数据集,mongoDB或Cassandra比MySQL更好吗?
同时,客户服务在相同数据库的复制从服务器上运行。
我们希望能够在网络上实时发布这些报告,而不必为他们手动生成电子表格。但是,我们的许多报告都需要大量时间来提取数据(有些情况下超过一小时)。
我们不在云中运行,而是选择在我们的服务器机房中使用两台物理服务器进行操作。
考虑到这一切,我们最好的数据库选择是什么?
NoSQL系统在连接数据方面通常很薄弱。除非您对数据进行不同的建模,否则我会坚持使用RDBMS。它可能会给你最好的运行查询。 – Sam 2011-12-15 14:40:52
您可能最终会遇到更多麻烦,例如使用Cassandra,因为您的数据已建模为确认关系结构。基本上你必须重新编码一切,然后尝试优化NOSQL解决方案。考虑到你已经有了一些MySQL的专业知识,你可能会更容易地优化它。与MySQL相比,Cassandra也有点儿bug。所以请尝试优化您的查询作为其他答案提及,绝对是SSD而不是板驱动器。将大部分数据集保存在RAM中也将极大地帮助您,因此可以考虑使用InnoDB引擎来为您提供帮助。 – PSIXO 2014-07-17 11:25:23