开源项目 RethinkDB 关闭,创始人总结失败教训(市场定位错误)

当我们宣布RethinkDB关闭时,我答应写一个调查分析。我花了一些时间来整理所得的教训和经验,现在可以清楚地写出来。

HN讨论贴中,人们提出了许多关于为什么RethinkDB失败的原因,从莫名的人性和聪明的MongoDB营销人员;到没有建立一个有经验的上市团队;再到缺乏支持超过64-bit float 的数字类型……我将这些意见集中到这里

其中一些原因确实是真的,但它们是症状而不是原因。例如,说我们未能赚钱的,它并没有说明我们失败的原因。

事后看来,有两个重要的原因导致了我们的失败 —— 我们选择了一个可怕的市场,并地按照错误的指标对产品进行优化。每个错误都可能使RethinkDB的估值降低一到两个数量级。因此,如果我们认为它们其中之一是正确的,那么RethinkDB将是MongoDB的大小,如果我们认为它们两个都是正确的,我们最终可能是红帽的大小(不要以为这些数字很接近,它会让你知道这些错误的代价)。

可怕的市场

我们的想法是这样的:新公司不是在Oracle之上构建的,所以有机会建立一个新的基础设施公司。数据库市场十分巨大,如果我们创建一个能够俘获一部分市场的产品,我们的公司将会十分成功。

不幸的是,你并不在你自己认为的那个市场上,而是在你的用户认为的那个市场上。我们的用户认为我们是一个开源开发工具公司,虽然这就是我们原来的想法。这是非常不幸的,因为开源开发工具市场可能是最糟糕的市场之一。成千上万的人在商务背景下使用RethinkDB,但大多数人甚至不愿意支付一杯星巴克咖啡的价格(这就是说,他们不愿意支付任何东西)。

这不是因为产品好到不需要别人的支持,或是开发者不控制预算,或者资本主义的失败。答案是基本的微观经济学。开发人员喜欢创建开发人员工具,并且通常是免费的,所以虽然有大量需求,但供应却十分充足。使得替代品的数量上升,价格下降到零。

看看其他公司如何:MongoDB(市值约为1.6亿美元,约700名员工)和Docker(市值约为1B,约300名员工)。两家公司完全在各自的市场占主导地位。成长阶段的民营科技公司两个非常粗略的经验法则是:估值是年收入的10倍,每位员工的收入大约为每年2万美元。这意味着MongoDB的年收入约为140-1.6亿美元,而Docker的年收入约为60-1,000万美元。

这看起来不错,直到你看到市场上那些不是专注于开发者工具的主要的 B2B 技术公司。像SalesForce,Palantir或Box(面临激烈的竞争)的公司。突然MongoDB和Docker看起来很弱。

这些都获得了巨大的成功。如果和现有的公司建立合作关系,分销基础设施和获取大量账户将麻烦不断,那么对于一个处于萌芽阶段初创公司意味着什么呢?

对我们来说,这意味着一个难以处理的客户收购渠道。在一个肥沃的B2B市场创业必须处理一百个潜在客户才能获得十个机会,最终获得一个销售,对于一个开发工具的初创公司增加了10倍的机会。您可以访问大量的高品质潜在客户 - 很多人正在下载您的产品和与您的互动,但你必须花掉不少的线索才能得到一个订单。

这是具有灾难性的多米诺效应。它使团队的士气,使吸引投资和聘用顶尖人才变得非常具有挑战性。反过来,这限制了您的资源,使您不能在产品和分销方面进行充分的投资。初创公司的生存还是死亡靠的是动力,早期的分配挑战几乎能导致最终的死亡。

错误的度量指标

好了,虽然市场不好,但其他开发工具公司仍然销售了很多产品。为什么不是RethinkDB呢?

虽然我们无法干预市场的动态(除了建立别的东西),产品决定权却完全在我们的控制之内。我们希望打造一个优雅,健壮,美观的产品,因此我们对以下指标进行了优化:

  • 正确性。我们作出了非常严格的保证,并且严格履行。
  • 接口的简单性。我们承担了实现过程中大部分复杂性的工作,所以应用程序开发人员可以更轻松。
  • 一致性。我们做到了从查询语言,客户端驱动程序,群集配置,文档,到首页上的营销副本都尽可能一致。

如果你觉得这些权衡似乎很熟悉,他们是“ worse is better”(即快速拿出原型,听取用户意见,然后继续增加功能,修复bug)。原来,正确性,接口的简单性和一致性是大多数用户的错误衡量标准。相反,大多数用户希望这三种标准:

  • 及时。他们希望产品在需要时就存在,而不是三年后。
  • 可触知速度。人们希望RethinkDB能够快速实现他们想要的工作负载,而不是我们建议的“真实世界”工作负载。例如,他们会写快速脚本来测量插入一万个文档需要多长时间,而不会读取它们。我们输掉了市场学习这一仗时,MongoDB巧妙地掌握了这些工作负载。
  • 一个有用的东西。我们开始建立一个好的数据库系统,但用户想要一个好的办法来实现某件事(例如,一个很好的方法来存储来自hapi的JSON文档,一个很好的方式来存储和分析日志,一个很好的方式来创建报告等)

不是我们没有试图让RethinkDB快速发货,并建立其周围的生态系统,让有用的工作做起来更加容易。我们做到了这一点。但是正确、简单和一致的软件需要很长的时间来构建。这使我们落后市场三年。

当我们觉得RethinkDB满足了我们的原来的设计目标,我们有信心让它投入生产使用时,几乎每个人都问“RethinkDB与MongoDB有什么不同?”我们努力解释为什么正确性、简单性和一致性更加重要,但这些并不是大多数用户最重要的评判标准。

老实说,它受到很大的打击。很难理解,为什么人们会选择一个几乎不做它应该做的事情(存储数据)的系统,并且还有一个大的内核锁,随机丢弃错误,实现单节点功能,有一个几乎不工作的分片系统,尽管它是产品的核心特征之一,基本上不能保证正确性,并且暴露了没有可辨别的一致性或视觉一致性的接口。

每次MongoDB发布一个新版本,人们会祝贺他们做出改进,这让我感到悲哀。他们会宣布他们修复了BKL,但是事实上他们会把粒度从一个数据库降到一个集合。他们会添加更多的操作,而不是一个适合系统其余部分的组合接口,他们只是简单地使用一次性命令。他们会做分片改进,但很明显,他们不愿意或者不能做出基本的数据一致性保证。

但随着时间的推移,我学会了欣赏人群的智慧。当人们需要的时候 MongoDB能将普通开发者变成英雄,而不是几年后。它使数据存储速度快,让人们快速收货。随着时间的推移,MongoDB长大了。他们解决了一个接一个的架构问题,现在它是一个优秀的产品。它可能不像我们想要的那么完美,但它把自己做的工作做得很好。

2014年我们已经清楚地意识到自己在竞争中处于劣势,我们努力与MongoDB区分开来。我们发现了一种非常优雅的方式来添加实时推送,希望能够让开发人员构建一代他们之前无法构建的应用程序。但这还不够。突然,我们发现自己正与我们几乎忽略的致力于解决实时问题多年的Meteor和Firebase在竞争。我们再次落后了市场三年,然后我们发现自己已经完全败下阵来。

云服务

有几个人建议我们应该建立一个云服务。我们实际上有一个这样的作品,所以这是个我想说的有趣的话题。

小型数据库公司构建云服务的明显问题是它的模式匹配一个常见的启动失败模式 - 分裂焦点。构建、运输和运营可靠的多租户云服务是很困难的,它需要非凡的专业知识和资源,所以如果你沿着这条路走下去,你发现自己像是同时运行两个创业公司。但是我们面临着一个存在的威胁,并迅速做了选择,所以我们只能给它一个短镜头。

我们的推理是这样的,数据库云提供的服务可以是以下三种之一:托管,数据库即服务(DBaaS)或增值平台即服务(PaaS)。使用上面提到的每位员工的收入大约为每年2万美元的经验规则,快速回溯一下市场分析:

所以这些市场很小,甚至比数据库市场本身更小。但是,他们的其中之一能比别人更好吗?

托管主机本质上是为AWS上的人运行数据库,因此他们不必这样做。使用这些服务的替代方法是自己在AWS上设置数据库。这是痛苦的,但它不是那么难。但有一个非常困难的上限,多少托管数据库托管服务可以收费。考虑到Compose.io和mLab提供的MongoDB的用户数比RethinkDB多一到两个数量级,我们认为提供托管托管不会产生影响。

数据库作为服务是一个更复杂的托管托管版本 - DBaaS提供从用户抽象节点管理完全。你只需运行你的查询,系统处理它们。你不知道有多少节点在引擎盖下运行。这个业务是非常具有挑战性的 - 部分是因为DBaaS公司必须与巨人(例如DynamoDB和DocumentDB)竞争,部分是因为当有很多其他替代品和替代品时,客户完全把数据管理交给创业公司是非常困难的你知道谁在使用一个启动的DBaaS产品吗?)所以一个DBaaS产品出来了。

最后一个选择是建立一个增值平台作为服务。我们认为这很有前途,因为在这方面我们有巨大的技术优势。 Firebase和Meteor必须在MongoDB之上构建应用程序级实时逻辑,从根本上限制了实时查询功能和性能。另一方面,我们一路控制堆栈,所以我们具备Firebase和Meteor所没有的显著的优势。

因此,我们创建了Horizon,并开始致力于Horizon Cloud - 这是用户部署和扩展RethinkDB / Horizon应用程序的一种方式。一个非常小的团队建立三个大型项目(RethinkDB,Horizon和Horizon Cloud)的挑战最终赶上了我们,我们从来打算在我们用完钱之前放弃云服务。把掌声送给工程团队,他们已经非常非常接近成功了。

元问题

我们还可以做一个级别的根本原因分析。我们为什么会选择一个不好的市场,并按照错误的指标优化产品?

当我还是个小孩子时,我想要建立自己的收音机。我用胶合板做了一个盒子,里面放了一些金属垃圾,把盒子连接到电源线。我在家里有电子书,但我没想过自己需要他们 - 我有坚定的信念,我可以自己做。最终,我建立了一个工作接收器,但我花了很多年才终于意识到我需要学习基本的电子学。

早期的RethinkDB有点像这样。我们对产品或市场没有直觉,所以我们通过了建立一家公司的议案,而没有真正了解我们在做什么。更重要的是,我们有很大的乐观偏见(人类倾向于把未来估计得比实际情况更好。)。就像医生知道,制药公司的礼物对其他医生有偏见效应,但相信他们免受这种影响,我们相信我们免受经济和经营业务的数学法则的影响。数学,当然,最终让我们尝到了苦果。

我们可以做些什么来避免这些错误吗?现在已经不是那个自己搬弄一个可以工作的收音机的那个孩童时代。不知不觉间,我们已经不能胜任,而且这种无力感要若干年之后才被意识到。

有几个人指出,如果我们建立了一个有经验的上市团队,我们会做得更好。这100%是真的,但我们个人发展的时机不符合公司的需求。最初,我们不知道我们需要进入市场的专业知识,所以我们不想将它包括在创始团队(顺便说一句,没有良好的商业直觉,认识好的业务人员就像,对工程没有强烈的直觉却要认识优秀的工程师一样难)。当我们做好心理准备时,我们发现自己在一个满是有能力的竞争对手的市场里,却资金短缺,只有一个三年后的产品。到那时,世界上最好的上市团队也救不了我们。

离别的思念

许多人对开发工具市场有非常强烈的感觉。工程师喜欢构建开发工具,所以他们很想让开发工具公司茁壮成长。

我完全不理会市场——因为我不想用单一的经验进行推广;因为我不喜欢说“它不能做”;因为有很多例外。 GitHub,MongoDB和Docker已经建立了强大的公司。 GitLab和Unity似乎做得很好。

如果你打算建立一个开发人员工具公司,请一定要谨慎细心。市场充满了很多好的替代品。用户期望高,价格低,认真思考你为客户提供的价值。记住——想要世界往某个方向走不必一定要让它如此。

2009年,我们在YCombinator演示日把RethinkDB(我们还没有软件)的早期想法展示给投资者观众。我们在结束的幻灯片上写了三点要记住的。 “如果你只记得RethinkDB的三个事情,”我们说,“记住这些。”人们没有记住幻灯片的其他东西,但在结束时他们确实记住了三点。

如果你还记得这篇文章的任何内容,我希望你记住这三点:

  • 选择一个大市场,但为特定用户制造产品。
  • 学会认识你失去的才能。
  • 系统地读经济学。它会让你更快更好。

编译自:http://www.defstartup.org/2017/01/18/why-rethinkdb-failed.html

编译:开源中国

http://www.oschina.net/news/81180/rethinkdb-why-we-failed

时间: 2024-11-09 23:44:41

开源项目 RethinkDB 关闭,创始人总结失败教训(市场定位错误)的相关文章

从RethinkDB的倒闭反思开源项目可持续的盈利模式

本文发表于:http://www.infoq.com/cn/news/2016/10/Reflection-sustainable-profit-co 2016年10月5日,RethinkDB联合创始人Slava Akhmechet在官网上宣布RethinkDB 破产倒闭.Slava Akhmechet称其已经尽了最大的努力,最终还是无法建立一个可持续的商业模式.接下来Stripe公司将接纳RethinkDB 公司,RethinkDB工程师团队将加入到Stripe.在交接过程中RethinkDB

开源项目使用详解过程

开源项目使用详解过程Q-Q:971-041-894定位[手機系列找回刪除等信息]这件事说来也是巧了,也算是他们上级领导的矛盾吧,因为公司与另一个公司之前有一点合同上的纠葛,所以老板在发函以前之前让我跟对方公司现承认一下,看是不是真的要闹到这个地步,因为我是担任这个项目的,相对在状况上回对比的了解,那个时分我刚好在外面,所以只能用自己的手机打以前了,这也没什么,不便是知会一声吗,当然的,两头的利益不是那么快就可以到达的,所以发函这个工作仍是进行了请问我的苹果5s手机被偷关还能机么定位吗.手机没电话

创业公司Playcafe关门大吉 创始人总结10大失败教训

导读:互联网电视游戏网站PlayCafe的创始人马克·高登森(Mark Goldenson)日前撰文,总结了自己创业失败的十个教训.以下为文章主要内容: 一年半前,我与公司联合创始人戴维·奈格(Dev Nag)一起创办了互联网电视游戏网站PlayCafe,我们野心勃勃地希望运营一个人人参与且高度交互的游戏秀.玩家可以观看我们的节目.回答问题.赢 取奖金.组建战队.实时聊天并运行他们自己的游戏,这是一项巨大的工程,尽管玩家参与热情很高——用户平均每场可观看87分钟的节目,有40%的用户会在 一周内

第一个Android TV Launcher开源项目

Android TV Launcher开源项目 这个项目是机顶盒桌面,用来播放视频.显示图片.应用管理和其他针对机顶盒产品的设置.目前git和CSDN code上面都没有类似的开源项目,正好本人最近在开发类似产品,网上类似研究还非常少,完全自己实现还是比较困难.所以就把目前的项目开源出来,也有利于其他人少走弯路. git项目地址 CSDN code项目地址 项目框架结构 UI.adapter.实体类.图片cache.网络层. 这个层级关系还是和大部分项目是类似的. 功能模块的详细实现方式 这个部

自己总结的 iOS ,Mac 开源项目以及库,知识点------持续更新

自己在 git  上看到一个非常好的总结的东西,但是呢, fork  了几次,就是 fork  不到我的 git 上,干脆复制进去,但是,也是认真去每一个每一个去认真看了,并且也是补充了一些,感觉非常棒,所以好东西要分享,为啥用 CN 博客,有个好处,可以随时修改,可以持续更新,不用每次都要再发表,感觉这样棒棒的 我们 自己总结的iOS.mac开源项目及库,持续更新.... github排名 https://github.com/trending,github搜索:https://github.

一步一步教你分享开源项目到 Maven 中心仓库

欢迎各位关注我的新浪微博:http://weibo.com/kifile 转载请标明出处(http://blog.csdn.net/kifile) 相信很多程序猿朋友都或多或少写过一些通用库文件,也有很多人会秉着开源的精神将代码分享到类似 Github 之类的代码托管网站去. 其实大家分享代码的时候,目的在于让更多的人使用,但是如果仅仅是放在 Github 这些工具上等人家下载使用,其实很多人是会觉得很麻烦的,那么有什么方法能够帮助我们在不下载 Github 上的源码的时候,使用这些代码吗? 回

iOS、mac开源项目及库汇总

UI 下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能.可以自定义上下拉刷新的文字说明.具体使用看“使用方法”. (国人写) XHRefreshControl – XHRefreshControl 是一款高扩展性.低耦合度的下拉刷新.上提加载更多的组件.(国人写) CBStoreHou

视频会议及流媒体十大开源项目

在视频会议领域,有许多可以值得参考的开源项目,这些开源项目有的是协议栈.有的是编码器或者是传输协议,由于视频会议系统是一个综合性的应用系统,里面包含功能较多,如能把这些开源项目选择性的加入我们的视频会议开发当中,我们的开发效率肯定会事半功倍,下面我们列举一下视频会议相关的十大开源项目,并对其重要性及优缺点做一个全面的评价与排名. 1. OpenH323项目        (★★★★★) 上榜理由:最著名的H.323开源协议栈,视频会议开发必备协议栈,强烈推荐 最著名的H.323开源协议栈,包含了

最全面的iOS和Mac开源项目和第三方库汇总

UI 下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能.可以自定义上下拉刷新的文字说明.具体使用看“使用方法”. (国人写) XHRefreshControl – XHRefreshControl 是一款高扩展性.低耦合度的下拉刷新.上提加载更多的组件.(国人写) CBStoreHou