我将启动一个大型Web应用程序,该应用程序将由PHP(YiiFramework)提供支持,我希望在启动应用程序之前构建一个强大且高度可扩展的架构,能够处理大量流量。
app SQL查询大约(80%读取,20%在update和amp; insert之间),我实际上在数据库中有15个表,以及许多中等文本列,它将是通过文本搜索的许多查询,例如(WHERE {{1 LIKE'%VARS%')
我将使用PHP APC来提高性能,以及从Memcached服务器开始,并使用Nginx作为保留代理。
对于数据库: NoSQL数据库可以取代像MySQL这样的RDBMS吗?
NoSQL数据库是否比MySQL更有效?
对于我的案例,最好的NoSQL数据库解决方案是什么(80%读取,更新和插入之间为20%),为什么?
答案 0 :(得分:4)
LIKE'%term%'不会缩放。查询将始终为O(N),基于表中的行数。在添加行时,查询会变慢。
您将需要使用文本索引。看看使用Sphinx还是SOLR。
答案 1 :(得分:1)
很多问题。
nosql DB可能会替换RDBMS。这取决于您的基础架构和组织需求。但技术上没问题。我不知道很多你不能用map做的查询,你可以用sql做。
如果效率更高取决于您的需求。如果您正在使用大量文本搜索,请尝试使用lucene(solr)之类的索引来提高两种情况下的性能。但也有nosql和索引的解决方案。因此,一个有经验的程序员使用rdbms肯定会超过一个没有经验的nosql程序员,反之亦然。
我对couchdb有一些经验,对我的应用来说速度很快。但这取决于。而且大多数稳定的nosql数据库都很快,而且rdbms也很快。这在很大程度上取决于确切的查询和设置。