2011-09-06 20 views
0

我想重写一个现有网站,对于每天拥有100000多个访问者的客户端,我正在考虑使用Cassandra db,Couch Db或Mongo Db而不是使用Mysql并将它与Solr的。使用nosql数据库重写网站架构

我想问的是,如果切换到位于单个服务器上的网站(现在不会使用多个节点)的nosql是一个好主意?

长期可能出现哪些问题。我有点害怕使用nosql,因为这些数据库相对年轻。但考虑到查询的速度增益使其非常具有吸引力。

我使用PHP作为后端编程语言。

感谢

回答

1

尽管你提的很年轻相比,SQL平台,他们现在已经存在了足够长的时间,他们是有点成熟,你就没有多少使用他们,而不是SQL的,如果他们适合什么样的风险你正在努力去做。

但是,在这种情况下,坚持使用SQL可能会更好 - 您已经拥有了与SQL一起运行的所有代码,并且您可以通过添加搜索引擎或缓存组件而获得大部分性能改进,而不是重写整个系统。

如果重写是你打算做的任何事情,你可以使用任何你想要的数据存储 - 只需选择标准数据模型最接近你的数据和你需要支持的查询。

+0

我想我会考虑solandra :) 我需要重写网站,因为它有很多问题/错误和安全问题,这使得它很难维护 –

1

我怀疑最难的事情是将您的数据模型转换为nosql数据库。将不会有JOIN,对于联接的“解决方法”在nosql数据库中并不那么简单。

此外,性能不能保证开箱即用,您将不得不努力实现它。 Nosql数据库已经放宽了对数据的限制,从而为开发人员提供了更多关于如何使用这些数据的选项;从而实现更高性能的解决方案。

许多nosql数据库还很年轻。它们可能被用在许多成功的项目中,但是,一般来说它们并不像流行的关系数据库那样可靠。当然,他们不大可能会失败,但这里和那里的小错误的可能性更高。

也许与nosql相关的最知名的失败是foursquare's mongodb outage。但这对我来说并不重要。