知识卡片
NoSQL不是银弹
内容
NoSQL 解决了部分水平扩展问题,却没有自动消除数据系统的本质复杂度。只把关系库换成键值库或列族库,仍可能保留全增量读写、难恢复、难调试的问题。工具选择应服从架构属性,而不是反过来。
参考来源
- 位置:《大数据系统构建:可扩展实时数据系统构建原理与最佳实践》第1章《大数据的新范式》"1.3 NoSQL不是万能的"一节(源文件:_epub-src/OEBPS/Text/010.xhtml)
- 结论依据:原文明确"这些工具单独使用时并不是万能的。但如果智能地结合使用,那么就可以生成能处理容忍人为错误和最低复杂性的任意数据问题的可扩展系统",并指出Hadoop高延迟、Cassandra因可变性无法容忍人为错误,说明单一工具各有局限,需要组合才能形成完整方案。
- 原始内容:比如Hadoop可以在非常大量的数据上并行化大规模批量计算,但计算具有较高的延迟……又如Cassandra这样的NoSQL数据库……因为数据库是可变的,所以它们不能容忍人为错误。这些工具单独使用时并不是万能的。但如果智能地结合使用,那么就可以生成能处理容忍人为错误和最低复杂性的任意数据问题的可扩展系统。