- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MongoDB 应用场景与最佳实践1、前言: 如何学习MongoDB?MongoDB日趋流行,作为一个开发/运维,如何快速上手MongoDB?或者有哪些推荐的学习MongoDB的方式?写在最前:请使用mongodb 3.2或以上版本进行学习,或者直接从3.4开始。另外,百度出来的中文资料,请查看15年及以后的信息,可以少走很多弯路。另外,建议使用linux系统进行学习,方便排错。英文比较好的小伙伴:如果英语不好,建议先花时间学英语1.?强烈推荐MongoDB官方的教程,MongoDB在线大学,无论开发还是DBA,都可以找到适合自己的视频教程。因为视频有英语字幕,听不懂的同学,多多暂停,看一下字幕都能理解。每节课结束都有相应的作业,可以自己用来练手。而且作业都会有类似一键脚本的东西,帮你配置好需要的实验环境。完成作业后,会有不少成就感,让自己可以有学下去的动力。另外,每次作业和最后的考试都通过会有一张结业证书。最后,MongoDB官方的新员工也是从这里开始学习的,而且课程更新频率也很高。2. MongoDB的官方文档,文档地址,选择自己想要看到章节,文档的内容写的很详细,而且有的地方直接提供web shell的环境,让你实际操作。3. MongoDB工程师网站,网站地址,这里可以深入看到一些MongoDB原理的内容。此外也推荐看percona公司关于MongoDB的一些博文看到英语就头疼的小伙伴:暂时没找到较好的基础视频教程,IT大咖说上面有MongoDB使用案例的视频,可以一看,不过不适合初学,需要有一定的基础。1.?先从看书开始,强烈推荐《MongoDB实战 第二版》,因为这本书是3.x版本的,相对来说内容比较新。然后《MongoDB权威指南 第二版》,这本内容蛮多的,不过已经过时了。《MongoDB应用设计模式》关于MongoDB设计适用的书,非常短,值得一看。2. MongoDB中文社区有部分官方文档的翻译。3. MongoDB中文社区的公众号及博客,云栖社区MongoDB板块2、Mongodb用在什么样的场景合适?Mongodb是最近流行的NOsql数据库,但一直对其用在什么场景合适而不清楚。主要知道这个数据库是快速开发很合适。但一直归属到大数据板块,想要咨询下Mongodb适用的场景有哪些?在大数据板块充当什么角色哪?常见应用场景:1.?最近单的入手就是存log,因为mongodb本身存的就是json,可以很方便的接入各种存储日志的地方。然后可以做成相关监控报表,比如说APM,NPM等,比如说千寻位置2. 其他的话要看题主所在的行业了,不同的行业有不同的用法,比如说信息的展示等等3. 在网游界,MongoDB也非常流行,比如说最近大火的阴阳师,数据库用的就是MongoDB大数据方面,MongoDB有以下三个优势:1. 自带sharding,快速得水平扩展,为存储海量数据带来便捷2. 官方提供驱动,可以直接对接hadoop或者spark3、能提供几个mongodb的案例吗?国外的例子太多,在mongodb的官网上就有,无论是金融、传统等行业,我这里说一下国内的案例金融:非核心业务的话几乎每家知名企业都在尝试使用,比如某国有银行用在了apm系统,平安科技用在了内部系统和日志系统。核心业务的话互联网金融企业考拉理财的大多数业务都在mongodb上传统:这一块了解不多,目前知道东方航空用在了下一代旅客服务系统互联网:互联网使用的企业非常多。妈妈帮的核心系统,小红书的核心系统,高德的app展示,千寻位置的日志收集分析,Teambition的核心系统,阴阳师的数据库,360的移动搜索等4、Mongodb相对hbase、MySQL来说,有哪些优势?这里就简单说一下题主说的几个数据库中,mongodb优势的地方vs hbase:hbase是基于row key存储宽列的一款nosql,乍一看结构类似mongodb的_id主键和可变长的列数量。具体的原理和区别这里不展开。mongodb的优势在于轻量化部署非常简单,不用像hbase那样搭一整套hadoop集群,即开即用。hbase更适合离线的海量数据分析vs mysql\pg:这两款都是关系型数据库,所以放在一起比较。MongoDB的优势主要有3个。1、结构灵活,表结构更改比较自由,不用每次alter的时候付出代价,适合业务快速迭代,而且json原生和大多数的语言有天然的契合。还支持数组,嵌套文档等数据类型2、自带高可用,自动主从切换(副本集)3、自带水平分片(分片),内置了路由,配置管理。应用只要连接路由,对应用来说是透明的。5、MongoDB是否支持事务?MongoDB只支持行级的事务,或者说支持原子性,单行的操作要么全部成功,要么全部失败。需要事务的话,得自己用代码实现二次提交作,
文档评论(0)