MongoDB 公司俨然成为一家成功的公司。在2022年 9 月其市值达到 380 亿美元,有 3 万 7 千家客户。同时 MongoDB 建设了非常成熟的应用开发者生态。根据 MongoDB 官网,到目前为止,MongoDB 已经有 700 万应用开发者,每个月新增 14 万开发者。而建设一个成功的开发者生态对于一款基础设施软件的重要性,越来越取得了共识。我们看一下 MongoDB 在建设应用开发者生态过程中,有哪些重要举措,哪些可以学,哪些不应该学。本调查的启示是针对选择接口兼容的数据库,比如 TiDB 兼容 MySQL,CockroachDB 兼容 PostgreSQL, Vitess 完全兼容MySQL, Citus 完全兼容 PosgreSQL。本文将他们简称为兼容接口数据库。
第一、MongoDB 的开发者生态建设对于 MongoDB 的持续成功发挥了重要作用。
我们的业务始于开发人员,如果开发人员不使用我们的产品,我们就没有生意。因此,我们必须确保使用 MongoDB 能够激发开发人员们的热情。但是,开发人员并不一定有权说“是”,而是有权说“否”。他们可以说“我永远不会使用 MongoDB”来否决一次交易。
-MongoDB CEO Dev Ittycheria
我们建立一个由想尝试和使用 MongoDB 的人组成的社区,并利用开源社区的病毒传播属性。所以今天 MongoDB 是无处不在的,世界上没有一个国家、一个城市不在使用 MongoDB。我们获得了社区的所有好处,但也仍然保留了建立一个真正的软件业务的能力,这一点对我们很重要。
-Dev Ittycheria
MongoDB 的成功是多方面的,至少包含:
适时推出 Schema-free 的可横向扩展的新型NoSQL数据库,解决 Web 2.0和移动互联网带来的新型负载
开源与开发者生态的建设
云战略
产品的易用性做到极致
其中,开源与开发者生态建设又是云战略的基础和土壤。
第二、总的启示。内容,活动,信息系统的循环迭代
每次迭代都是内容先行。
第三、下表列出了 MongoDB 在建设开发者生态方面的 13 个 Actions
分类 |
Actions |
内容 |
内容(Content Creation) |
1 |
面向应用开发者的课程、文章和视频 |
2 |
技能认证 |
|
3 |
开发 12 种语言的 Drivers |
|
4 |
产品技术栈对接 |
|
活动 (Events) |
5 |
丰富的线上线下活动 |
6 |
Community Champions |
|
信息与人整合(Pooling) |
7 |
开发者中心 |
8 |
Stackoverflow上的 信息 Hub |
|
9 |
开发者论坛 |
|
高校 |
10 |
单独设立学院项目 |
11 |
专为高校学生课程课件 |
|
12 |
围绕学生的实习工作岗位Hub |
|
13 |
学生应用精选 |
虽然开发者生态的建设已成为一种共识,但仍需用一个具体的例子看一下,开发者生态造就了 MongoDB 的成功,还是 MongoDB 的成功造就了生态?
NoSQL 负载大风吹起
我们查看 DB-Engines Ranking Trends 可以看出以 MongoDB、Amazon Dynamo 为代表的 NoSQL 在 2012 年到2016 年快速崛起,这个时期正是 Web2.0 大发展的时期,产生了电子商务,社交媒体,搜索引擎,云计算,网络游戏等新型负载和超大量数据的存取。这些数据首先是数据量巨大,没有固定格式,关联较少,没有强一致性的要求,容易横向分布同时对读写效率有很高的要求。这些新型负载突破了当时关系型数据库的能力边界或者成本上限,催生了 NoSQL 数据库,典型的代表有 MongoDB, Cassandra, DynamoDB, Couchbase 和 Apache CouchDB。
图1:NoSQL数据库崛起
从图 1 中看出大部分 NoSQL 的崛起都发生在 2012-2016 之间,但也要注意到 NoSQL 阵营内部在 2016 年之后,出现了很大的分化,除了MongoDB, DynamoDB等少数 NoSQL 数据库,其他的 NoSQL 都有不同程度的下降(稍后通过一个例子说明)。
MongoDB 的诞生是业务驱动
以 MongoDB 的诞生为例,MongoDB 创建者也是著名广告公司 DoubleClick 的创始人和开发人员,他们发现当时的关系型数据库无法支持 40 万条/秒的广告流量,转而再成立 10Gen 公司( MongoDB 的前身)研制一种面向文档的分布式数据库。
MongoDB 的出现满足了这个时期大量 Web2.0 公司的类似需求,可以说新型负载造就了 MongoDB,或者说时势造英雄,不久后为了兼容 MongoDB, Amazon Dynamo, Azuer CosmosDB 相继诞生。
那么处于同样业务环境的 NoSQL 数据库,为什么在 2016 年之后出现分野?MongoDB, Dynamo继续高涨,而跟 MongoDB 几乎同时诞生的 couchbase, 以及其他大都发展平平。
拿与 MongoDB 最为相似的 couchbase 做个对比,两者都是在 2010 年前后由创业公司开发发布,且目前已经通过纳斯达克上市。从产品角度,都是以分布式文档数据库为主。到目前的结果是 MongoDB 市值 300 亿美元,目前 100 亿美元,couchbase 市值 10 亿美元。有两点主要原因导致这个差异:
第一、开源与社区生态的差异。MongoDB 从诞生第一天就坚定开源,并且在包括应用开发生态和社区上投入大量努力。而 couchbase 是在 Apache CounchDB 分化出来,原来的开源社区荒废。couchbase 的核心并不开源,只是开源了周边小工具。Counchbase 选择了传统地推 go-to-market 方式,超高的获客成本和较慢的产品迭代速度。
第二、云战略。MongoDB 在 2016 年推出Atlas,完成第二增长曲线的切换。Counchbase 是在 2021 年才开始推出 Counchbase Capella。
MongoDB 本身云战略的成功也得益于开源加社区生态的积累和人才培育工作。2016 年Atlas 推出之前,MongoDB 社区已经累积了大量的开发者。Atlas 推出之后,社区继续成为Atlas付费用户的孵化池。
所以即使有同样的大风,不同的策略选择,会导致不同的结果,所谓英雄造时势。这一点也可以说明开源基础上,开发者社区的建设是一种重要的策略。
同理从 2016 年开始,大数据分析成为新的负载,催生 OLAP 数据库 Google BigQuery, Spark SQL, Presto, Click House 等的兴起。2018 年之后,随着 Google Spanner 论文的发表,新的 NewSQL 数据库代表 Spanner, CockroachDB, TiDB 开始出现崛起(见图2)。只是 NewSQL 并不应对新型的负载,而是过去问题的新的解决方案。
图2:NewSQL数据库的出现
所以顺势而为的 MongoDB 造就了一个成功的开发者生态,同时成功的开发者生态也帮助了 MongoDB 持续成功,拉开与其他竞争对手的差距
既然我们说开发者生态为 MongoDB 的持续成功贡献了重要力量,我们看一下 MongoDB 具体做了什么。
Action 1,面向应用开发者的课程
https://university.mongodb.com/
主要是 Developer Path 和 DBA Path 两条线。
Developer Path = M001 + M103 + M121 + M220 + M201 + M320
DBA Path = M001 + M103 + M150 + M201 + M312
M001,MongoDB Basics
M103,Basic Cluster Administration
M121, Aggregation Framework
M150, Authentication & Authorization
M201, MongoDB Performance
M220, MongoDB for Developers(Java, Javascript, Python, .NET, C#, Node.js)
M312, Diagnostics and Debugging
M320, MongoDB Data Modeling
两条路径共有三门公共课程,基本原理,基本管理和性能。从课程数量上讲,Developer稍多一些,主要集中在Aggregation Framework, Driver(Connectors)和Data Modeling。
MongoDB 采用线上课程全免费策略,认证考试收费(对学生免费)。可以看出,MongoDB University 主要提供了凝练的基本课程,对于产品的强势场景等带有布道和说服性质的内容并没有放在 University 的内容中。因为MongoDB 创造了一种私有的开发者接口,所以它的开发者课程多集中在MongoDB特有的内容上,比如:
Aggregation: MongoDB 的 Aggregation 是通过不同stage组成的 pipeline 完成,并提供$match, $group 等操作符,非常特殊。
Drivers:MongoDB 的 Driver 没有统一标准,算是私有标准。
Data Modeling:类似于关系型数据库的关系模型,也就是连接数据库之前的数据关系设计。MongoDB 是 Document Model
Action 2,技能认证
MongoDB University 的另外一个工作是技能认证,主要是 MongoDB Certified Developer 和 MongoDB Certified DBA两种证书。不分 Associate 和 Professional。
考试费 150 美元。
他们推出证书验真服务和持证者 Finder 等提升认证品质和生态的工具。
从全球看,他们的持证者,也只有2751人,其中 Certified Developer 1994人,Certified DBA 1193人,双证持有者 436 人。
持证者最多的几个国家
美国,597
印度,346
英国,135
中国,112 (93 DBA + 33 Developer)
法国,112
作为一个成功的生态,并且从 2012 年到今年 10 年间,MongoDB 全球只有不到 3000 名认证 颁发。应该引起我们的注意。技能认证存在的意义主要是满足特定人群的要求和人才成长的理论闭环。在个人媒体和社交网络日渐发达的今天,认证作为人才技能识别的作用已经基本失去,所以不应该将认证数量作为工作衡量指标和目标。
Action 3,开发 12 种语言连接 MongoDB 的 Drivers,并发动社区开发了另外 30 个Drivers
Action 4,产品技术栈对接
Apollo GraphQL
AWS
Azure
Confluent
Databricks
Datadog
GCP
HashiCorp
Microsoft Teams
Mongoose
Opsgenie
PaperDuty
Postman
Prisma
Prometheus
Slack
Spring
SumoLogic
Vercel
VictorOps
Webhook Settings
以 MongoDB 为核心的技术栈 MEAN 并创造,并且达到了跟LAMP分庭抗礼的影响力。
Action 5,丰富的线上线下活动
https://www.mongodb.com/events-webinars-overview
形式有Events(各种较高规格和较大规模的峰会, MongoDB Days, MongoDB.local,MongoDB World ), workshop, eWorkshop, Webinar。内容主要以开发者为主。
平均每个月在全球不同城市开展4~5 场MongoDB Days 或者 Mongo.local 活动。
每年一次声量和Thought Leadership 旗舰 Conference MongoDB World。https://www.mongodb.com/world-2022
Action 6, Community Champions
这应该是 MongoDB 社区自治方向重要的努力,通过 Benefits & Award,鼓励社区人员 Create,Speak, Participate,Lead 和 Test。查看了一下目前 MongoDB 的活动,其中来自于 MongoDB 公司的 Speaker 占比大概 50%, MongoDB 可能还是背后的主要推动者,推测还没有实现理性的自治水平。
Action 7, 开发者中心
以开发者为中心的信息平台,https://www.mongodb.com/developer/
形式上,分为文档,文章,课程,视频、博客 和代码示例,以及一个搜索入口。
内容上,主要是语言和技术两类
语言主要是 Drivers, 技术主要是开发框架,技术栈周边产品。
2 * 6(两种内容,六种形式) 的组织方式紧扣 MongoDB 开发者关注的技术,值得我们学习。
Action 8,Stackoverflow上的信息 Hub
Stakoverflow 绝对是全球开发者查询和问答的第一社区。
Mongodb 在stackoverflow上有比较友好的开发者信息 Hub, https://stackoverflow.com/tags/mongodb/info
Action 9, 开发者论坛
https://www.mongodb.com/community/forums/,这是放在社区下的一个论坛,主要面向开发者。Working with Data 帖子占比超过 60%
Action 10,单独设立 学院项目 https://www.mongodb.com/academia
课程进入 300+ 所高校
主抓老师,成立单独的老师社区
主抓老师的做法准确认识到了教师群体的诉求与一般社区成员不同,应单独形成一个子社区。
Action 11,专为高校学生制作课程,为高校教师提供课件
为学生:
M101, Non-Relational Database for Beginners
为老师:
Introduction to Modern Database with MongoDB
Query in Non-Relational Databases
MongoDB Aggregation Framework
MongoDB: A Developer Data Platform
The Little Book of MongoDB
Recommended Reading List
MongoDB Shell Cheat Sheet
Using MongoDB with Python
MongoDB 的实践是符合实际的。教师使用课程资源的方式,很有特点,即要求原始课件,原因是教师需要能够将工业界的课程和资料,通过制作课件,融入到自己的教学中。高校课程和课件,相对于培训课程,更加偏重理论以及更加前置。
Action 12,围绕学生的 Internship 工作岗位 Hub
https://www.mongodb.com/careers/departments/college-students
这是一种拉动力量,为学生学习 MongoDB 知识和技能提供一个出口,也为生态中的企业成员提供未来的人才。
Action 13,学生应用精选
https://www.mongodb.com/developer/search/?s=&contributedBy=Student
鼓励学生基于MongoDB 编写应用,并给出收集,展览和传播。
这也是一种拉动力量,鼓励学生基于 MongoDB 创造应用,其本质与应用大赛类似。
以上多个 Actions 共同组成一个火力交叉网络,做好内容,搭好信息平台,通过各种活动 建立思想领导力,扩大粉丝规模,提升人才知识水平以及 生成潜在购买机会。
MongoDB 是新的接口,新的实现;兼容数据库是既有的标准接口,新的实现。
比较具体地,第一、MongoDB 的主要开发者协议是私有的,基于集合和文档,主要的CRUD操作是基于JSON(BSON)的函数包括例如insert(), save(), insertMany(),update(),remove(),delete(),find()等。
db.collection.insert (
[
{ SysNo: 2971,
ProductName: "TiDB" Version: "6.1" },
{ SysNo: 2972,
ProductName: "MongoDB"
Version:"xxx"
Description:"Document Database" }
],
{ writeConcern: ordered: }
)
即使同问为 NoSQL数据库,MongoDB, couchbase,DynamoDB开发者接口也有很大的差异。counchbase 支持 SQL, CounchDB 主要通过 HTTP Restful API。
第二、因为 NoSQL 数据是 schema-free 的,这给开发者带来很多方面,但相应的也需要完全不同的数据模型设计。
第三、因为协议是私有的,MongoDB 需要独特的各种语言的 Drivers。兼容型数据库一般不需要开发新的Drivers。
这等于说 MongoDB 需要创造一个全新的生态,那也是为什么 MongoDB 如此重视开发者的原因。而兼容标准接口的数据库,将面对是一个成熟的生态,这是兼容接口的先天有利条件。
所以 MongoDB 需要创造开发者,主要干法是种地;而兼容接口的数据库需要迁移开发者,主要干法是打猎。这可能是两者最大的不同。
对于应用开发者来说,他们首先关注的是业务逻辑。对于底层的技术选型,一个是多,数据库、计算引擎、消息中间件等。另一个是远,中间还隔着框架, 数据访问层, 驱动层然后才是数据库。这导致应用开发者缺乏动力去系统地了解一项底层技术,也导致了一种奇特的学习模式,问题驱动,边做边查,多次迭代。
在兴趣阶段,开发者往往被活动、文章、视频等形式触达,并因为其中的案例、场景、内部原理引起兴趣。在此阶段Action 5, Action 10,11,12,13 扮演重要作用。
在接触阶段,开发者很少跳去系统地学习一项技术。而是直接开始试用,问题驱动,边做边查。这个时候,Action 1,7, 8, 9 等信息平台、内容沉淀和课程就非常重要,开发者在此阶段主要是搜索,询问和学习。
在绑定阶段,因为与自己的工作和 business 产生深度关联,开发者产生深入学习和发挥影响力的需求,此时Action 1,6 发挥重要作用。 Action 3, 4是必要的保健因素。
综上所述, 兼容接口数据库应思考我们的开发者人群从哪里来。
Tier1,最低垂的果实是现有的母体开发者社区,例如 MySQL 社区尤其是成长性的行业和企业。这也是规模最大的群体。
Tier2,其他兼容同一接口的数据库,例如MariaDB/SQL Server/Oracle 开发者 以及原 OLAP开发者(HTAP 的场景)
Tier3,零基础开发者和 NoSQL 等更远的数据库开发者
Tier1 和 Tier2 的群体足够大。
在这个指导下,我们重新看前面的13个Actions
分类 |
Actions |
内容 |
对兼容接口数据库的建议 |
备注 |
内容 |
1 |
面向应用开发者的课程、文章和视频 |
|
目标人群本身已经掌握了这些或者可以从别的渠道掌握这些知识 |
2 |
技能认证 |
|
从 MongoDB 的实践看,节能认证对于人才生态的构建作用不大。只有很少情况下需要 |
|
3 |
开发 12 种语言的Drivers |
不需要太大开发投入,但需要验证 |
||
4 |
产品技术栈对接 |
需要投入,技术栈的带动作用巨大 |
||
Events |
5 |
丰富的线上线下活动 |
|
兼容接口数据库是一种实现创新,标准接口。即使应用开发者,了解内部原理有助于技术深度,并了解何时使用该数据库。但不用了解到代码层面。 |
6 |
Community Champions |
增加全球覆盖和社区自治 |
||
信息整合 |
7 |
开发者中心 |
以开发者为中心组织和积累信息 |
MongoDB 以开发者而非贡献者为中心 |
8 |
Stackoverflow上的信息 Hub |
充分重视和利用Stackoverflow |
Stackoverflow 真的是开发者查询的首站。 |
|
9 |
开发者论坛 |
开通和运营英文版和中文版的开发者论坛 |
||
高校 |
10 |
单独设立学院项目 |
覆盖更多的市场领域 |
相对于市场,高校活动要有提前量。 |
11 |
专为高校学生课程课件 |
建议增加必要针对性课程,课件 |
||
12 |
围绕学生的实习工作岗位Hub |
建议将名企直推转型为以学生为主 |
||
13 |
学生应用精选 |
建议举办类似举措,或者开始举办学生应用大赛 |
这是拉动力量,可以引导有基础的学生学习目标数据库 |
这是很早就想做的调查,拖了很久。其中的发现,也验证了过去的一些想法,希望对开发者生态建设有一些启发。
其实还想看一下 MongoDB 在不同的发展阶段,开发者生态建设的动作有何不同,效果怎么样。但苦于没有足够的资料,目前只能根据此时此刻的情况。
另外 每一个Action 是如何落地的,什么部门负责,以什么方式运行等细节问题目前没有进一步的数据和资料,但也值得细看。希望在未来有时间探索。
由于数据和资料有限,文中观点多有出入,望批评指正。
MongoDB 官网
https://www.mongodb.com/home
MongoDB 创业故事
https://www.dandelioncloud.cn/article/details/1496511178661793793
https://www.shangyexinzhi.com/article/4765678.html
中信证券 MongoDB 研报
https://img3.gelonghui.com/pdf/11b1d-d1cdb23d-3255-4a8b-8758-c8bb03612c63.pdf
MongoDB CEO Dev Ittycheria 访谈
https://www.tmtpost.com/5605933.html
MongoDB vs Counchbase
https://www.modb.pro/db/87920
https://db-engines.com/en/system/Aerospike%3BMongoDB%3BOracle+NoSQL
SQL 标准
http://web.cecs.pdx.edu/~len/sql1999.pdf
open-source-from-community-to-commercialization
https://a16z.com/2019/10/04/open-source-from-community-to-commercialization/
我为什么不看好厂商做技能认证
https://app.yinxiang.com/fx/431ca3d4-80f1-4ece-97e6-52c229a56792
MongoDB 云战略为什么能够成功
http://blog.itpub.net/70016482/viewspace-2917167/
LAMP vs MEAN
https://www.ibm.com/cloud/blog/lamp-vs-mean
MEAN Stack Developer
https://www.guru99.com/mean-stack-developer.html
https://www.cnblogs.com/airnew/p/10605176.html
Building MongoDB's Complex Go-to-Market Motion with Meghan Gill
https://operationspodcast.drift.com/public/13/Operations-43678/01b951fa
MongoDB’s Playbook for Breaking Into and Dominating a Market
https://openviewpartners.com/blog/mongodb-playbook/
How MongoDB Achieved A 360-Degree View Of Sales And Marketing Alignment
https://fullcircleinsights.com/resources/how-mongodb-achieved-a-360-degree-view-of-sales-and-marketing-alignment/