mongodb schema design

数据模型的创建,相对于传统关系型数据库而言,mongodb没有严格的设计模式,这是因为模式设计或我们称之为数据建模的成败往往是取决于实际系统的需求,很多时候需求是不同的,所以反而使得数据模型的创建各有所不同,很难说存在一套标准的数据建模方法。

mongodb schema design 时需要考虑:

[b]问题1、数据模型最小单位是什么?[/b]
关系型数据库:数据存放在表中,以字段和行的形式存储。
mongoDB: 数据模型的最小单位是document对象。
[b]问题2、你将如何查询和更新数据?[/b]
关系型数据库:
查询数据:ad hoc和 联合查询的方式。
数据更新:使用SQL以及事务管理的方式来实现。
mongoDB:
查询数据:支持ad hoc查询方式,但是不支持联合查询方式。
数据更新:不支持事务管理方式。但是它支持基于一个任意复杂的document对象的
所有更新操作,可以这么理解:mongodb如果只是针对一个文档对象是可
以提供事务管理操作的。
综合来说:nosql数据模型的创建必须认真考虑到如何为文档型数据对象的查询和更新提供最好的支持。
[b]问题3:你所创建的系统的数据访问特点是什么?[/b]
数据的读/写概率是什么?系统需要的数据查询方式是什么?更新方式是什么?希望支持什么类型的并发处理?数据是否需要结构化支持?

[b]注:对于需要针对多个文档对象提供事务管理支持的场合[/b],mongodb提供:Two Phase Commits 的方式,具体参考:http://cookbook.mongodb.org/patterns/perform-two-phase-commits/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值