文档章节

mongodb 的一些设计思考

筱龙缘
 筱龙缘
发布于 2015/04/13 10:06
字数 291
阅读 46
收藏 0

有个疑问  系统的很多文档(例如说私信,动态,分享,以及它们的评论、回复)都需要使用到 User文档(此文档大量信息是此种情况根本不需要返回的)的 uid 和 nick(用户可以更改), 如何设计关系呢?

uid nick(不大会经常更新)

1 是在引用的文档直接加uid nick冗余?(优点速度最快,更新痛死)

2 是在其它文档直接用DBRef 到user文档?(优点是即使跟新其他文档也能立即获取到最新的用户名,缺点:大量冗余字段被取出,而且影响到文档的并发读写

3 新建一个只保存用户的uid和昵称的集合 例如 {uid:1000,nick:'筱龙缘'} ,然后其他文档使用DBRef引用此文档(优点是即使跟新其他文档也能立即获取到最新的用户名,可以减少去直接引用user,提升负载,缺点多了一个集合和查询)


哪种方案比较合适呢,应该还是看具体业务吧


未完待续

© 著作权归作者所有

共有 人打赏支持
筱龙缘
粉丝 20
博文 29
码字总数 13048
作品 1
南京
程序员
私信 提问
MongoDB 深圳用户组线下活动

MongoDB线下用户组是由全世界MongoDB爱好者发起的不定期线下交流活动。目前全球有100多个MongoDB用户组,3万5千多爱好者参与。用户组活动的形式通常会有一到两个MongoDB相关的技术分享。分享...

TJWORKS
2014/10/21
228
3
《阿里巴巴MongoDB4.0高级实战:基于Java Spring Boot 2.0》运维、监控、聚合、集群、监控等高级面试题

《阿里巴巴MongoDB4.0高级实战》阿里巴巴技术大牛 资深专家P9叶翔、专家徐雷. NoSQL排名第一!最流行的NoSQL数据库;谷歌、阿里巴巴、蚂蚁金服、腾讯、百度等一线互联网公司必备技能。 本系列...

徐雷frank
11/01
0
0
2017Mongoing中文社区用户组大会--武汉站

MongoDB是全球成长最快的 NoSQL 数据库。 MongoDB线下用户组是由全世界MongoDB爱好者发起的不定期线下交流活动。 目前全球有100多个MongoDB用户组,3万5千多爱好者参与。 用户组活动的形式通...

MongoDB中文社区
2017/10/20
1
0
SequoiaDB 关于 MongoDB 安全事件的一些思考

刚刚过去的这个周末,各位大数据和数据库从业者想必是被MongoDB的“安全事件”给刷屏了,MongoDB作为当前NoSQL在全球的领军人物,遭到这么大规模的黑客攻击,这也再次让我们对于新一代的开源...

巨杉数据库
2017/01/09
2.6K
5
MongoDB 4.0 RC 版本强势登陆

MongoDB 因其灵活的文档模型、可扩展分布式设计广受开发者喜爱,在此基础上,MongoDB 4.0 推出了更强大的功能支持,目前4.0第一个RC版本已经发布,本文将介绍 MongoDB 4.0 核心的一些新特性。...

张友东
05/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

TiQuery:All Diagnosis in SQL | TiDB Hackathon 优秀项目分享

本文作者是来自 TiNiuB 队的黄梦龙同学,他们的项目 TiQuery 在本届 TiDB Hackathon 2018 中获得了三等奖。 TiQuery 可以搜集诊断集群问题所需要的信息,包括集群拓扑,Region 分布,配置,各...

TiDB
12分钟前
2
0
git 分支创建合并流程图

gentlelions
20分钟前
2
0
Kali Linux常用服务配置教程DHCP服务原理

Kali Linux常用服务配置教程DHCP服务原理 动态主机配置协议(Dynamic Host Configuration Protocol,简称DHCP)是一个局域网的网络协议,基于UDP协议工作。它主要有两个用途:第一,给内部网...

大学霸
21分钟前
1
0
控制台打印图片

function dev(){ if (window.console){ console.log("%c\n ", "font-size:100px;background:url('http://gmcyzs.com/resources/images/logo.png') no-repeat"); console.log('%c 深务平台,\......

羊皮卷
28分钟前
0
0
MyBaties的二级缓存

二级缓存介绍 在上文中提到的一级缓存中,其最大的共享范围就是一个SqlSession内部,那么如何让多个SqlSession之间也可以共享缓存呢,答案是二级缓存。 当开启二级缓存后,会使用CachingExec...

嘴角轻扬30
29分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部