专栏名称: 朱小厮的博客
著有畅销书:《深入理解Kafka》和《RabbitMQ实战指南》。公众号主要用来分享Java技术栈、Golang技术栈、消息中间件(如Kafka、RabbitMQ)、存储、大数据以及通用型技术架构等相关的技术。
目录
相关文章推荐
爱否科技  ·  轻薄是未来?腰线十几块?N4 去哪了?AI ... ·  3 天前  
爱否科技  ·  REDMI ... ·  5 天前  
爱否科技  ·  iPhone SE 4 或改命 ... ·  5 天前  
凰家评测  ·  OPPO Find ... ·  4 天前  
51好读  ›  专栏  ›  朱小厮的博客

我为什么放弃 MySQL,选择了 MongoDB ?

朱小厮的博客  · 公众号  ·  · 2019-11-13 17:31

正文

不可否认的是,NoSQL 数据库已经成为了互联网开发的新标配。其中原因之一就是因为传统关系型数据库将数据集中存储至单一节点的解决方案, 在性能、可用性和 运维 成本这三方面已经难以满足互联网的海量数据场景

今天,我想以 MongoDB 为例,分享下我的亲身经历,2012 年我在硅谷创业,做一个叫 Gameface 的游侠社交化平台的时候,我们当时基于 MySQL 的游戏后台到了近 1000 并发的时候,MySQL 就频繁宕机。

很偶然的机会我看到一个 MongoDB 的社区会议,觉得可以尝试一下,回来花了一个周末把代码改写成了 Python + MongoDB 代码,结果单节点可以支撑到 4000 多的并发写入,整整提升了 4 倍。

不过,让我从此喜欢上这个数据库的原因,是我发现做同样功能的数据库访问层代码,换成 MongoDB 以后代码量从 2000 行降到了 200 多行!这是因为 MongoDB 直接使用了程序员非常熟悉的类似对象模型的 JSON 数据结构,从而 大幅度的简化了模式设计,ORM 层编码等 CRUD 操作的流程

简而言之,作为一个新时代的成熟数据库产品, MongoDB 最大的优势是开发效率的显著提升和卓越的横向扩展能力

  • 如果你是开发者,MongoDB 可以让你花更少的时间在数据库上,专注于业务编程;

  • 如果你是 DBA,它 可以帮你解决系统高可用,高性能以及横向扩展的痛点;

  • 如果你是架构师或产品经理,MongoDB 是一个灵活的数据库,可以快速响应业务的需求变化。


鉴于此,我与极客时间合作,经过 3 个月的倾力打磨,开设《 MongoDB 高手课》这个视频课程,希望带你更加深入的理解 MongoDB 数据库的精髓,通过一些实验的方式快速地学习并理解一些比较高阶的知识, 让你有足够的底气把简历上的“熟练使用 MongoDB 进行开发”改成“精通使用 MongoDB 进行开发”

👆扫描上图,免费试看

结算时,输入优惠口令 「MONGODB66」

再减 10 元,到手价 ¥89

仅限 「前 200 人


我是谁


我是 唐建法 ,技术社区里一般叫我 TJ。 现在在一家数据中台创业公司 Tapdata 担任CTO,曾担任惠普软件和联邦快递的技术负责人及首席架构师等职位。

在 2019 年 10 月之前,我在 MongoDB 公司工作了 5 年, 担任大中华区首席架构师的职位 ,同时也作为 MongoDB 在中国地区最活跃的布道师,负责 MongoDB 在大中华区的拓展和推广,与一些 MongoDB 社区专家一起组建了 MongoDB 中文社区,担任社区主席。

作为一个程序员出身的数据架构师,我不仅独自用 MongoDB 开发了多个完整的项目,我也为海内外的一些头部客户 主导设计过大型的 MongoDB 架构 ,如:


  • 东方航空公司的机票库存运价系统

  • 交付给多个运营商的物联网系统

  • 四大咨询公司之一的全球三中心分布式架构

  • 台湾最大半导体厂商的产线数据服务平台

  • 香港顶级银行的金融数据中台

也曾在许多全国级的技术大会上,如阿里云栖、DTCC、CSDN 等分享过 MongoDB 技术话题,内容涉及 MongoDB 的最新功能,最佳实践,及相关生态如大数据、Spark、微服务、数据中台等。


我们是怎么设计这个课程的?

MongoDB 相关的资料和文档在网络上已经比较多了。官方也提供了非常完整的文档(英文)。但如果你希望构建一个规模较大,吞吐量较高的系统,需要考虑的东西还真是有不少,这并不是现成文档能解决的。

这个课程的学习目标并不是面面俱到地教你 MongoDB 的基本操作,我认为那个是留给参考书籍做的 我更希望你能够通过这个课程更加深入的理解 MongoDB 数据库的精髓,通过一些实验的方式快速地学习并理解一些比较高阶的知识。 基于这个想法,我把内容分成了四大部分:

1、MongoDB 再入门

如果你对 MongoDB 不熟悉,通过这一部分有个快速的概览。使用过 MongoDB 一段时间的同学,可以通过这部分内容回顾下你对 MongoDB 的使用是否是在合适的场景中。

2、从熟练到精通的开发之路

这部分主要是面向开发者,除了最基本的数据库增删改查,我们会花时间来讲述如何进行最关键的文档模型设计,以及介绍数据安全和事务性上很多高级参数和特性的含义和使用方式。

3、分片集群与高级运维之道

这部分主要是面向 DBA 运维,针对系统上线时或者上线后需要关注的事情。在这一章,我们的重点是分片集群的设计,详细分析影响 MongoDB 性能的因素以及出现问题时的排查手段,同时也会讲解类似于跨中心部署的实际操作。

4、企业架构师进阶之法

最后,如果你已经认真的学习了前面三章的课程,我假设你已经是 MongoDB 的技术专家了,那下一步自然而然就要把自己拔高一层,暂时忘掉一些具体的技术功能点,而是基于 MongoDB 的特性,思考在什么样的场景下可以充分利用其价值。







请到「今天看啥」查看全文