`
shuofenglxy
  • 浏览: 189990 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MongoDB小经验

阅读更多

 

转载请著明作者与出处。franciscolv  http://shuofenglxy.iteye.com/admin/blogs/1330539

 

第一条:划分shard,使用replSet,保证服务不会全部失效,存储容灾很关键。

第二条:大表要分表,划分ReplSet之后,表还是只存在于一个shard中。小表看需要。

第三条:良好的键值设计,字段名称要短,不要用传统的数据库方式思考。一切能key-value的就不要考虑条件查询神马。索引再好也是比较,能定位到就不要比较,可以通过限制一些功能的方式来满足。

第三条:关于写可靠性问题。尽量不要开启获取写结果,MongoDB是锁库写,同步获取结果会对全库的其他操作有影响。

第四条:索引很好,但还是要减少它的使用,不要为了一些低频度非关键功能设计额外索引。海量数据下,索引占用空间也是非常可观的,更主要的是它占的是内存空间。这本身会造成热点数据的减少。

第五条:MongoDB总连接数的控制,Linux下一个连接大约堆栈开10M空间,这里如果连接数很多的话,建议把堆栈大小设小。

第六条:MongoDB能嵌套的地方尽量不要整引用,完全杜绝跨库引用。简单是数据可靠高效的前提。海量背景下,简单就会意味着高效、可靠。

第七条:MongoDB java client端每个应用服务器一个Mongo实例就足够,其内置了连接池,只需要对其进行配置即可满足并发场景支持,单机一般不超过100,其实多实例场景50-70绰绰有余。池化的思想到哪都不会错,只要不用错。

第八条:读写配置可分开,老版本slaveOk就可以,新版本的话有个ReadPreference.SECONDARY,配置后即可简单的读写分流了。

第九条:数据库统计数据很重要,MongoDB支持的非常好,java client端通过mongo实例获得全库的数据描述,也可以获得某个collection的数据描述,时时关注比le it alone要好很多。

第十条: 不要怕手工方案麻烦,演练好预案,任何未经严格验证+线上复杂场景的自动化方案都是不靠谱的,多做容灾,异常备案比神马都好。

1
3
分享到:
评论

相关推荐

    MongoDB实战-班克

    MongoDB实战,是国外图灵程序设计丛书中经典,主要介绍MongoDB的实战经验

    MongoDB基础入门到高级进阶

    视频详细讲解,需要的小伙伴自行网盘下载,链接见附件,永久有效。 MongoDB是一个开源、高性能、无模式的文档型数据库,是NoSQL数据库产品中的一种。它的出现主要应对“三高”等问题,它可以解决需要存储数据量大、...

    Windows上安装MongoDB:完整步骤详解.pdf

    《Windows上安装MongoDB:完整步骤详解.pdf》是一份适用于Windows操作系统的MongoDB安装教程,适用于初学者和有经验的开发人员。本教程包括完整的步骤详解,可帮助您快速掌握MongoDB的安装配置,包括环境变量设置,...

    MongoDB入门经典

    作者简介:Brad Dayley是一名资深软件工程师,拥有20多年企业级应用程序开发经验;设计并开发过大型商业应用程序,包括后端为NoSQL数据库、 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    mongoDB集群实战.pdf

    mongoDB集群实战,个人经验总结,从主从结构到多副本方式都有详细总结,还有性能对比。

    2021MongoDB中文社区杭州大会干货分享版.zip

    MongoDB在南瓜电影的落地实战经验分享-殷金良; 基于MongoDB构建「面向未来」IoT平台架构-丰志飞; 万亿级MongoDB集群内核优化-李鑫; MongoDB-全球领先的现代通用数据库平台; Tapdata - 基于MongoDB的多源异构数据...

    MongoDB数据库基本操作方法

    MongoDB,作为当今流行的NoSQL数据库之一,以其灵活的数据模型和强大的性能,在...无论你是初学者还是经验丰富的开发者,都能在本资源中找到你所需的知识和技能,为你的项目注入强大的数据动力。 总之,这份MongoDB资

    Why I chose mongodb

    Why I chose mongodb 一个基于 MongoDB 建站的实战经验分享。

    Python操作MongoDB教程

    本教材的内容结合了开发中的经验,并参考了《Python数据库编程》《Python和MongoDB开发指南》《Python数据库编程指南》等书,力求给读者一个清晰简单的示范案例,主要包括MongoDB和传统型数据库对比,MongoDB的常规...

    MongoDB学习总结笔记

    总结了近段时间我在自学MongoDB时的学习经验和自己的认识,对MongoDB入门的初学者会有很大启发。

    《10天掌握MongoDB》2012完整版.pdf[带书签]

    《10天掌握MongoDB》2012翻新完整版,大小 4.6 MB,NewSQL 中文社区系列课程。本版本带有 PDF 书签,方便...第十天:分享实战经验 对NOSQL的理解 为什么是MONGODB 文档结构设计 索引及查询优化 复制分片及副本集 其他

    MongoDB数据库设计法则

    “我有丰富的sql使用经验,但是我是个MongoDB的初学者。我应该如何在MongoDB中针对一对多关系进行建模?”这是我被问及最多的问题之一。我没法简单的给出答案,因为这有很多方案去实现。接下来我会教导你如何针对一...

    c#操作mongodb实例(含完整源码)

    新版贡献经验总结含完整例子,操作类源码包括添加、修改、删除和查询(包括分页)

    mongodb-tree-structure:在MongoDB中实现树结构

    根据我很少的经验,这只是一种实现树结构的方法。 这可能不是您情况下的最佳选择。 如果您有任何建议,请随时与我联系。 架构图 每个文档代表一个树节点。 它具有“父”,“子”和“祖先”字段,分别保存文档ID...

    MongoDB实战

    全面了解MongoDB的使用和项目经验。

    redis和mongodb数据库操作方法

    2012年《纽约时报》的⼀篇专栏中写到,大数据时代已经降临,在商业、经济及其他领域中,决策将不再基于经验和直觉而是基于数据和分析而作出。事实上,在天文学、气象学、基因组学、⽣物学、社会学、互联⽹搜索引擎...

    Mongodb学习手册

    Mongodb 学习手册 适合初学者 有经验的Mongodb选手也能从中学到很多技巧

    mongodb性能调优执行计划分析

    适用于对mongodb有一定的使用经验,并且希望更深了解的人群,对mongodb的索引,执行计划有详细的介绍

    SpringBoot+MongoDB+Vue前后分离

    适用人群IT从业相关人群,0~10年工作经验者 课程概述【技术选型】??SpringBoot2.x+MongoDB4.x+Vue均选用能进行生产环境部署的稳定版本【开发模式】前后端分离开发,即当前端又当后端,分角色开发【课程受益】一次...

Global site tag (gtag.js) - Google Analytics