MongoDB Schema Design

http://www.blogjava.net/czihong/archive/2012/02/18/370250.html, Schema Design for MongoDB

http://docs.mongodb.org/manual/core/data-modeling/, Data Modeling Considerations for MongoDB Applications

 

http://www.slideshare.net/kbanker/mongodb-schema-design, MongoDB Schema Design

http://www.slideshare.net/jetlore/mongodb-schema-design-insights-and-tradeoffs-jetlore-mongosf-2012?ref=http://www.10gen.com/presentations/mongodb-schema-design-insights-and-tradeoffs, MongoDB Schema Design: Insights and Tradeoffs (Jetlore's talk at MongoSF 2012)

http://www.slideshare.net/mongodb/schema-design-short?from=ss_embed, MongoDB Schema Design Basic

 

关于MongoDB的schema设计, 上面3篇ppt讲的比较清晰 
其实本身也比较简单.

Relational vs. Documentoriented

 

Advantages of doc-oriented schema

•Avoid joins 
•Disk locality when fetching relations (everything is stored within a doc record) 
•Schema-less design

 

一对多问题

本质上讲, 1和2是同一种设计, 只不过2中增加了嵌套, 从而是原来的array结构变成tree结构 
3, 其实是类似RDB的设计, 应该不常采用, 虽然flexible, 但读效率应该比较低

 

多对多问题

 

第二种alternative的方案, 减少了存储空间, 因为在category中没有存储相应的products_id 
作为tradeoff, 当查询category对应的products时, 就非常麻烦需要去product里面去遍历.

 

MongoDB Schema Design Vs. HBase Schema Design(HBase-TDG Schema Design)

MongoDB Schema设计和HBase的相比, 主题还是Denormalization, 避免join 
但是MongoDB的更为简单, 
Document的表达能力更强, 设计的时候更为方便. 
MongoDB的index和MySQL没啥区别, 都是使用B树, 所以使用起来更熟悉. 而对于HBase索引机制是LSM-tree, 尤其当需要secondary index的比较麻烦


本文章摘自博客园,原文发布日期:2013-04-28

时间: 2024-08-02 05:35:26

MongoDB Schema Design的相关文章

HBase-TDG Schema Design

这章主要描述怎样设计HBase schema. 关于这个主题, 强烈推荐下面这个presentation, 写的非常清晰.  首先再次强调的是, Nosql无法替代SQL, 对于非bigdata, 毫无疑问SQL更加好用. 对于系统或场景, 我们不应该执着的想着用Nosql去替代SQL, 而是仅仅将SQL无法handle那部分big data(往往关系性不强)放到Nosql上.  比如在设计嵌套关系(多层一对多关系), 用sql就非常的麻烦, 查询的时候需要多表join, 而用HBase或者Co

Dynamic , Static or Seperate Schema Design (Convert No-SQL to ORDBMS)

昨天和我们单位的一位开发人员聊天,关于一个项目,原来程序后端用的数据库是mongoDB sharding,准备迁到PostgreSQL.迁移过来的话涉及到从非结构化转结构化的过程. 首先说说原来mongoDB里面存储的内容 :  document1: {用户标识(带字符串数字),用户的消费情况(如业务a,消费多少,业务b消费多少,业务z消费多少)}  document2: {用户标识(带字符串数字),用户的消费情况(如业务d,消费多少,业务f消费多少)}  documentn: {....} 

MongoDB资料大全

MongoDB是一个开源的.基于分布式的.面向文档存储的非关系型数据库.是非关系型数据库当中功能最丰富.最像关系数据库的.MongoDB由C++编写, MongoDB可以运行在Windows.unix.OSX.Solaris系统上,支持32位和64位应用,提供多种编程语言的驱动程序.旨在为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB高性能.易部署.易使用,存储数据非常方便.MongoDB最大的特点是支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数

MongoDB资料汇总

与大家共勉~ 1.MongoDB是什么 MongoDB介绍PPT分享 MongoDB GridFS介绍PPT两则 初识 MongoDB GridFS MongoDB GridFS 介绍 一个NoSQL与MongoDB的介绍PPT MongoDB:下一代MySQL? 写给Python程序员的MongoDB介绍 又一篇给Python程序员的MongoDB教程 MongoDB源码研究系列文章 白话MongoDB系列文章 MongoDB Tailable Cursors 特性介绍 MongoDB 文档阅

转 MongoDB数据库关系表示和设计:(1)嵌套文档和引用链接

使用数据的时候,一个数据项常常和另外的一个或多个数据项产生关系,比如一个"人"对象,有一个名字,可能有多个电话号码,以及多个子女,等等.   在传统的SQL数据库中,关系被分为一个个表(table),在表中,每个数据项以主键(primary key)标识,而一个表的主键又作为另一个表的外键(reference key),在两个表之间引用.当遇上多对多关系的时候,还需要一个额外的关联表(reference table),将多对多关系转化成两个一对多关系.   而在MongoDB中,表示关

MongoDB World 2017 参会全记录

作者简介 张友东,阿里云数据库技术专家,Mongoing中文社区联合发起人,主要关注分布式存储.NoSQL数据库等技术领域,目前主要从事MongoDB云数据库的研发工作,致力于让开发者用上最好的MongoDB云服务,本次给大家分享上周(6.19-6.21)在芝加哥参加 MongoDB Wolrd 2017 的一些收获. MongoDB云数据库包年5折,包月6折活动火热进行中,猛击了解详情 云数据库 MongoDB 版 基于飞天分布式系统和高性能存储,提供三节点副本集的高可用架构,容灾切换,故障迁

Percona Live 2016 PPT整理

前言 PS1: 写在前面:最近比较忙,这篇参会总结一直拖到现在才完成,主要大概把感兴趣的slide按照不同的公司做了个分门别类,方便自己有空再深入的学习阅读. PS2: 有极个别PPT的链接挂了,过一段时间再刷刷看 一年一度的Percona Live会议如期在美国Santa Clara会展中心举行,这里聚集了最全面的MySQL社区最前沿的Topic,大量MySQL社区的大神参与该会议.与往年不同,本年度的Percona Live会议全名为"Percona Live Data Performanc

NoSQL Databases技术资料整理汇总

0 Reference NoSQL论文 在 Stuttgart Media 大学的 Christof Strauch 历时8个月(2010年6月-2011年2月)完成了一篇150页长的NoSQL相关的论文, 对NoSQL的各个方面做了探讨 http://www.christof-strauch.de/nosqldbs.pdf 分布式系统领域经典论文翻译集 http://duanple.blog.163.com/blog/static/709717672011330101333271/ 2010

MongoDB核心贡献者:不是MongoDB不行,而是你不懂!

近期MongoDB在Hack News上是频繁中枪.许多人更是声称恨上了MongoDB,David mytton就在他的博客中揭露了MongoDB许多现存问题.然而恨的人有之偏爱的也同样很多,作为回击:Russell Smith带来了多年工作经验的总结.Russell Smith曾担任Ops和大型网站缩放顾问并且帮助过Guardian.Experian等多家公司,MongoDB London User Group的联合创始人.作为MongoDB Master(MongoDB官方认可的MongoD