选择SQL/NOSQL应该考虑什么? [关闭
-
19-09-2019 - |
题
Target应用程序是一个中型网站,旨在支持每小时数百到数千名用户,并可以选择扩展到它。数据模型相当简单,缓存电势很高(读取与编辑操作的比率约为10:1)。
在基于SQL的数据存储到NOSQL选项(例如HBase和Cassandra)之间进行选择时,应考虑什么?
解决方案
对我来说,您没有任何特别的问题要解决。如果需要酸度,请使用数据库;如果您不这样做,那没关系。最后,只需构建您的应用程序即可。让我引用 NOSQL:如果只是那么简单:
要指出的真正的事情是,如果您无法选择数据库,那么您就无法制作超棒的东西,那就做错了。如果您知道MySQL,那就使用它。优化您何时需要。像AK/V商店一样使用它,像RDBM一样使用它,但是为了上帝的缘故,请构建您的杀手级应用程序!这些对大多数应用都不重要。 Facebook仍然使用MySQL很多。 Wikipedia经常使用MySQL。 Friendfeed经常使用MySQL。 NOSQL是一个很棒的工具,但这肯定不会成为您的竞争优势,它不会使您的应用程序变得炙手可热,而且最重要的是,您的用户不会对此感到不满。
其他提示
我喜欢伊恩·埃尔(Ian Eure)的经验法则:“如果您要在数据库之上部署memcache,那么您正在发明自己的临时,难以维护NOSQL系统。”
http://www.rackspacecloud.com/blog/2010/02/25/should-you-switch-to-nosql-too/
当您说数据模型非常简单时,这可以说明NOSQL选项。
当您有很多属性可以进行选择,重型交易负载或复杂的桌子结构,这将说明传统的SQL表。
我建议找出使用一个或两个NOSQL数据库实现数据模型的困难。当这很困难时,您也可以制作一个经典的表格模式进行比较。
当您在NOSQL方面遇到困难时,这可能会说明SQL选项。但也可能是,NOSQL可以更好地处理重负荷 - 但也可能是一个很好的SQL数据库缩放量足够...
也可以使用简单的代理服务器进行缓冲...
在困难上,也可以考虑使用NOSQL和SQL的混合。