怎样学 MongoDB

如题所述

第1个回答  2017-08-07
入门
当然是 MongoDB 公司推出的免费在线课程 MongoDB University。这是关于 MongoDB 最好的在线教程,没有之一,权威、系统并且更新及时。可以告诉你的是,MongoDB 新入职员工培训都从这些在线课程开始。MongoDB University 比其它地方能找到的文章和教程要好太多。
课程分别针对开发者和 DBA 而设计,非常用心。拿 MongoDB for Developers 来说,它在 mongo shell 之外使用 python 教学,但并不要求 python 经验。7周的课程中,从安装开始,带你写出一个基于 MongoDB 数据库的博客。每周的课程都有小作业,写写代码,答答题。除了在实践中学习,课程也涵盖了开发者需要知道的各方面细节,全面深入。另外,还有对 Foursquare 和 Codecademy 的采访,分享他们的使用经验和演变过程。还可以选择从 Kaltura 加载视频,不用翻墙看 Youtube,是不是非常贴心?
另一个值得推荐的免费课程是 edX 上的 Introduction to MongoDB using the MEAN Stack。这个课程由 edX 与 MongoDB 合作完成,使用 Node.js,AngularJS 与 MongoDB 建设一个在线商城,帮你快速上手。
如果你的团队都希望快速学习 MongoDB,MongoDB 提供定制化的 MongoDB University 团队培训 ,讲师都有非常丰富的第一手经验。这其实就是 MongoDB 新员工培训的第二部分,所以课程质量没得说。客户包括像 ebay 这样的大公司,也包括创业小公司。国内当然提供中文培训。
进阶
了解基本概念和用法之后,在项目里试试吧。英文的 MongoDB 文档 绝对会是最好的帮手,能解答你许多疑问。主要内容都有中文翻译 MongoDB 中文文档。不夸张地说,80% 的疑问都可以很容易在文档里找到答案。
这个时候,你可能会遇到问题,需要帮助。加入 MongoDB中文社区,你需要的同路人都在这里。中文社区在最新两年建立起来,帮助翻译了中文文档,也欢迎你加入翻译的队伍。社区里包括了国内各大公司的用户,不时举办 MongoDB User Group 线下用户组,现在在北京、上海、重庆、深圳和杭州都有不定期活动。社区邀请 MongoDB 的大牛们做技术讲座,答疑解惑,也提供一个机会让大家互相结识,拓宽社交圈子。中文在线讲座 则会由 MongoDB 的官方工程师和资深架构师带来最权威的内容。我也做过一次在线讲座,讨论 Replica Set 复制集的内部机制。印象最深的是大家的提问特别热情,Q&A 环节时间根本不够用。2016年8、9月的中文讲座 你的第一个MongoDB应用 也特别适合入门。加入中文社区首页上的微信公众号吧,第一时间得到通知。
希望在社区里提问?中国区同事积极活跃在 segmentfault 问答中的 MongoDB 标签下,那是中文社区里提问的好地方。遇到问题还可以到 stackoverflow 看看,官方的 Google Group 也有专人负责。在公司最初的四年里,CTO 每天都亲自在 Google Group 上回答问题,而且基本秒回。从那时开始,重视开发者社区作为一个传统一直到了今天。市面上有一些书也很好,比如《MongoDB权威指南》,不过书很容易过时。
实战
首先要重磅推荐 MongoDB 自己开发的数据库托管服务 MongoDB Atlas!依靠 Amazon AWS,部署和管理 MongoDB 不能更方便!2017年最新推出了免费款机型,512MB 磁盘空间,共享CPU和内存,特别容易上手。
过了一段时间,你使用 MongoDB 的项目已经开始开发,或者已经上线了,遇到了新问题。可能你会需要:
咨询。MongoDB 公司提供咨询服务 Global Consulting Services,帮你优化架构设计方案。
运维。你的项目越来越火,运维开始成了新问题。MongoDB Cloud Manager 提供监控和备份。
托管。2016 年推出的 Database as a Service 数据库即服务 MongoDB Atlas 依靠 AWS 让整个运维都变简单。
可视化。MongoDB Compass 是 MongoDB 官方开发的数据可视化工具,好评不断。
认证。包括针对开发者和 DBA 的两种认证考试。在中国区众多用户中,大概只有10名左右工程师成功获得认证,可见其中含金量。
云计算方面,国外 AWS,Azure 和 Google Cloud 都有各种合作和整合。国内的话,阿里云和腾讯云都支持 MongoDB,他们的团队也在社区里做了很多贡献,技术实力有目共睹。
遇到问题,你的团队可能需要更专业、更及时的帮助,MongoDB Professional 客户支持是 MongoDB 公司最早开展的服务。我们开发工程师每几个月就要到客户支持部门轮岗,为了更好地了解用户。我的感觉就是客服绝不只是关掉一个 ticket,而是门大学问。在时间限制里尽快地找到用户问题,提出解决方案,就像急救室的医生一样,背后有完善的流程和深厚的技术积累。个别问题也会很快升级到开发工程师那里,毕竟我们就坐在不远的地方。自己写的代码哪里有搞不定的道理?用户也是普通人,会高兴会生气,也会力不能及,所以理解客户和技术精通一样重要。对了,他们也提供中文服务。
这篇文章毕竟不是广告,就不提大公司用的商业版和相应的服务了。我总觉得工程师和 DBA 时间那么值钱,不应该花在找免费资源和“在线等”好心人解答问题上,毕竟还有技术理想等着去实现呢。介绍 MongoDB 的产品和服务,就像健身建议请个教练一样,少走些弯路。