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

image image

image

Advantages of doc-oriented schema

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

image

 

一对多问题

image

image

image

image

image

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

 

多对多问题

image

image

image

image 

第二种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

目录
相关文章
|
存储 NoSQL MongoDB
【MongoDB】如何在MongoDB中设计Schema?
【4月更文挑战第2天】【MongoDB】如何在MongoDB中设计Schema?
|
JSON NoSQL MongoDB
MongoDB Schema设计实战指南:优化数据结构,提升查询性能与数据一致性
【8月更文挑战第24天】MongoDB是一款领先的NoSQL数据库,其灵活的文档模型突破了传统关系型数据库的限制。它允许自定义数据结构,适应多样化的数据需求。设计MongoDB的Schema时需考虑数据访问模式、一致性需求及性能因素。设计原则强调简洁性、查询优化与合理使用索引。例如,在构建博客系统时,可以通过精心设计文章和用户的集合结构来提高查询效率并确保数据一致性。正确设计能够充分发挥MongoDB的优势,实现高效的数据管理。
879 3
|
存储 NoSQL MongoDB
阿里云 Flink 原理分析与应用:深入探索 MongoDB Schema Inference
本文整理自阿里云 Flink 团队归源老师关于阿里云 Flink 原理分析与应用:深入探索 MongoDB Schema Inference 的研究。
47630 2
阿里云 Flink 原理分析与应用:深入探索 MongoDB Schema Inference
|
安全 C# 数据安全/隐私保护
WPF安全加固全攻略:从数据绑定到网络通信,多维度防范让你的应用固若金汤,抵御各类攻击
【8月更文挑战第31天】安全性是WPF应用程序开发中不可或缺的一部分。本文从技术角度探讨了WPF应用面临的多种安全威胁及防护措施。通过严格验证绑定数据、限制资源加载来源、实施基于角色的权限管理和使用加密技术保障网络通信安全,可有效提升应用安全性,增强用户信任。例如,使用HTML编码防止XSS攻击、检查资源签名确保其可信度、定义安全策略限制文件访问权限,以及采用HTTPS和加密算法保护数据传输。这些措施有助于全面保障WPF应用的安全性。
501 0
|
存储 NoSQL 关系型数据库
利用聚合概念指导MongoDB的Schema设计
利用聚合概念指导MongoDB的Schema设计
利用聚合概念指导MongoDB的Schema设计
|
NoSQL MongoDB 数据库
数据库数据恢复—MongoDB数据库数据恢复案例
MongoDB数据库数据恢复环境: 一台操作系统为Windows Server的虚拟机上部署MongoDB数据库。 MongoDB数据库故障: 工作人员在MongoDB服务仍然开启的情况下将MongoDB数据库文件拷贝到其他分区,数据复制完成后将MongoDB数据库原先所在的分区进行了格式化操作。 结果发现拷贝过去的数据无法使用。管理员又将数据拷贝回原始分区,MongoDB服务仍然无法使用,报错“Windows无法启动MongoDB服务(位于 本地计算机 上)错误1067:进程意外终止。”
|
缓存 NoSQL Linux
在CentOS 7系统中彻底移除MongoDB数据库的步骤
以上步骤完成后,MongoDB应该会从您的CentOS 7系统中被彻底移除。在执行上述操作前,请确保已经备份好所有重要数据以防丢失。这些步骤操作需要一些基本的Linux系统管理知识,若您对某一步骤不是非常清楚,请先进行必要的学习或咨询专业人士。在执行系统级操作时,推荐在实施前创建系统快照或备份,以便在出现问题时能够恢复到原先的状态。
1495 79
|
存储 NoSQL MongoDB
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
575 8
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
|
运维 NoSQL 容灾
告别运维噩梦:手把手教你将自建 MongoDB 平滑迁移至云数据库
程序员为何逃离自建MongoDB?扩容困难、运维复杂、高可用性差成痛点。阿里云MongoDB提供分钟级扩容、自动诊断与高可用保障,助力企业高效运维、降本增效,实现数据库“无感运维”。

推荐镜像

更多