Man*_*tis 25 sql couchdb document-based cassandra nosql
我听说过很多像CouchDB这样的面向文档的数据存储.我理解BigTable的用途,比如Cassandra等商店.在阅读完这个问题之后,我想知道使用文档存储的条件是什么?
Nie*_*est 30
像Bigtable和Cassandra这样的列式存储库具有非常有限的查询功能.应用程序负责维护索引以查询更复杂的数据模型.
文档数据库允许您查询内容,而不仅仅是密钥.它还将为您管理索引,从而降低应用程序的复杂性.
领域驱动的设计传播聚合和价值对象的使用.随着Ayende指出,(复)骨料是很自然的候选人将被存储为单个文件,而不是多个表或列族归他们.这将降低持久层的复杂性.相关数据分散在多个节点上的可能性也较小,因为所有数据都包含在单个文档中.
如果您的应用程序需要存储多态对象,那么文档数据库也是一个很好的选择.当然,这也可以存储在Cassandra中,但是你没有那么多的查询功能.至少没有开箱即用.
将文档数据库视为豪华跑车.它不需要专业的驱动程序(阅读:复杂的应用程序)让你从A到B,它具有空调和舒适的座椅等功能,它将在可接受的时间内完成高可扩展性的轨道.但是,如果您想在高可扩展性轨道上设置单圈记录,您将需要专业的驾驶员和高度优化的汽车(例如Cassandra),它缺乏空调等功能.
| 归档时间: |
|
| 查看次数: |
5451 次 |
| 最近记录: |