MongoDB Schema Design

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介:

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

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
5月前
|
存储 NoSQL MongoDB
【MongoDB】如何在MongoDB中设计Schema?
【4月更文挑战第2天】【MongoDB】如何在MongoDB中设计Schema?
|
2月前
|
JSON NoSQL MongoDB
MongoDB Schema设计实战指南:优化数据结构,提升查询性能与数据一致性
【8月更文挑战第24天】MongoDB是一款领先的NoSQL数据库,其灵活的文档模型突破了传统关系型数据库的限制。它允许自定义数据结构,适应多样化的数据需求。设计MongoDB的Schema时需考虑数据访问模式、一致性需求及性能因素。设计原则强调简洁性、查询优化与合理使用索引。例如,在构建博客系统时,可以通过精心设计文章和用户的集合结构来提高查询效率并确保数据一致性。正确设计能够充分发挥MongoDB的优势,实现高效的数据管理。
53 3
|
2月前
|
安全 C# 数据安全/隐私保护
WPF安全加固全攻略:从数据绑定到网络通信,多维度防范让你的应用固若金汤,抵御各类攻击
【8月更文挑战第31天】安全性是WPF应用程序开发中不可或缺的一部分。本文从技术角度探讨了WPF应用面临的多种安全威胁及防护措施。通过严格验证绑定数据、限制资源加载来源、实施基于角色的权限管理和使用加密技术保障网络通信安全,可有效提升应用安全性,增强用户信任。例如,使用HTML编码防止XSS攻击、检查资源签名确保其可信度、定义安全策略限制文件访问权限,以及采用HTTPS和加密算法保护数据传输。这些措施有助于全面保障WPF应用的安全性。
48 0
|
5月前
|
存储 NoSQL MongoDB
阿里云 Flink 原理分析与应用:深入探索 MongoDB Schema Inference
本文整理自阿里云 Flink 团队归源老师关于阿里云 Flink 原理分析与应用:深入探索 MongoDB Schema Inference 的研究。
47177 2
阿里云 Flink 原理分析与应用:深入探索 MongoDB Schema Inference
|
存储 NoSQL 关系型数据库
利用聚合概念指导MongoDB的Schema设计
利用聚合概念指导MongoDB的Schema设计
利用聚合概念指导MongoDB的Schema设计
|
1月前
|
存储 NoSQL 关系型数据库
非关系型数据库-MongoDB技术(二)
非关系型数据库-MongoDB技术(二)
|
1月前
|
NoSQL 关系型数据库 MongoDB
非关系型数据库-MongoDB技术(一)
非关系型数据库-MongoDB技术(一)
|
18天前
|
存储 关系型数据库 MySQL
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB区别,适用场景
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB——特点、性能、扩展性、安全性、适用场景比较
|
5天前
|
存储 NoSQL Shell
MongoDB 创建数据库
10月更文挑战第12天
26 4