列族商店与文档商店

Kai*_*ash 8 mongodb cassandra nosql redis

我读了几篇帖子,比如这篇文章,将MongoDb,CouchDb和CouchBase等文档库与C​​assandra等列族商店进行比较.

一个比较是文档存储以更高的粒度级别工作,而不是列系列存储,它允许您处理文档的各个部分.我发现这简直是不真实的,因为Redis通过hset操作支持这一点,mongodb也是如此.

那么这个论点是,尽管两种类型的解决方案都允许更新/读取文档的某些部分,但是列文件库存储只比文档存储更有效吗?

这是否也意味着我应该采用文档存储路径来插入和读取繁重的应用程序,但列系列路由是否更新并读取繁重的应用程序?

还有哪些其他差异可以帮助我选择一种解决方案而不是另一种?

谢谢!

rs_*_*atl 8

我建议主要区别在于查询模型.它们都可以存储类似的数据结构(例如,您可以将JSON文档放入CF存储中),但文档存储通常会为您提供按值分析的功能,而CF存储通常不会.然而,线条变得模糊,似乎随着每个数据库项目的成熟,这种概括变得越来越不适用.例如,Cassandra(一种流行的CF商店)确实提供了一些二级索引的按值查询功能.但是,大多数CF商店都要求您按照打算读取数据的方式编写数据,这意味着您必须根据查询来考虑数据模型.

在我看来,各种数据库技术之间还存在其他同样重要的区别,例如一致性模型,数据中心复制功能,扩展模型,易管理性,缓存功能等.