与大多数新技术一样,一段时间后出现了一个标准.
NoSQL有什么烹饪方法吗?
在整点的NoSQL的是,有没有标准的解决方案.每个数据存储问题都不同,您需要选择适合您特定问题的数据存储技术,而不是 "标准"问题.
这就是" 不仅仅是SQL " 的整个前提.
以ACID为例(这里有一些您从未想过会在StackOverflow上获得的建议,或者实际上是1987年之后的任何地方:-)).存在许多不需要ACID保证的问题.对于这些问题,ACID是矫枉过正的.过度杀伤会转化为浪费的I/O,浪费CPU周期,浪费性能.这意味着浪费热量和浪费能源,这反过来又意味着浪费电费和水电费.
有些问题只需要较弱的形式.例如,对于各种各样的Web应用程序,所谓的最终一致性就足够了.其他问题需要比SQL风格的ACID提供更高的保证.
因此,一些NoSQL数据库没有ACID保证或只有较弱的形式.有些可以在每个数据库的基础上打开和关闭它们.有些可以在每个数据库的基础上单独打开和关闭A,C,I和D. 有的不仅可以把A,C,I和d 和关闭独立,他们可以微调他们递加.有些人甚至可以在每个查询的基础上做到这一点.
如果您有分层数据,请将其存储在分层数据库中.如果您有图形数据,请将其存储在图形数据库中.如果您有键值数据,请将其存储在键值数据库中.如果您有半结构化文档数据,请将其存储在文档数据库中.如果您有语义RDF数据,请将其存储在三重数据库中.如果构建数据仓库,请将其存储在列数据库中.如果你有关系数据,那么,无论如何都要将它存储在关系数据库中.(但只有你真的有关系数据!)