我想重写一个现有的网站,对于一个每天有100000多名访问者的客户,我正在考虑使用Cassandra db,Couch Db或Mongo Db,而不是使用Mysql并将其与Solr结合使用。
我想问的是,为一个位于单个服务器上的网站切换到nosql是否是一个好主意(现在不会用于多个节点)?
从长远来看可能会出现什么问题。我有点害怕使用nosql,因为这些db相对年轻。但考虑到查询的速度提升,它真的很有吸引力。
我使用php作为后端编程语言。
由于
答案 0 :(得分:1)
虽然你提到的平台与SQL相比非常年轻,但它们已经存在很长时间以至于它们已经有些成熟了,如果它们适合你想做的事情,那么使用它们而不是SQL就不会有太大风险。
然而,在这种情况下,坚持使用SQL可能更好 - 您已经拥有了所有适用于SQL的代码,并且您可以通过添加搜索引擎或缓存组件而不是重写来获得所需的大部分性能改进整个系统。
如果重写是你计划要做的事情,你可以使用你想要的任何数据存储 - 只需选择标准数据模型最接近你的数据和你需要支持的查询。
答案 1 :(得分:1)
我怀疑最困难的事情是转换nosql DB的数据模型。对于连接,没有JOIN
和'变通办法'在nosql数据库中并不那么简单。
此外,开箱即用的性能无法保证,您必须努力实现它。 Nosql数据库放宽了对数据的限制,从而为开发人员提供了更多关于如何处理数据的选项;这反过来又可以实现更高性能的解决方案。
许多nosql数据库还很年轻。它们可以用在许多成功的项目中,但是,一般来说它们不如流行的关系数据库那么可靠。当然,它们不太可能在很大程度上失败,但是这里和那里的小错误的可能性更高。
与nosql相关的最常见故障可能是foursquare's mongodb outage。但它对我来说看起来并不是那么重要。