非关系式数据库初创企业 MongoDB 在最新一轮的融资中获得了 1.5 亿美元的 VC 资金,其估值也已达到 12 亿美元。软件咨询师 Andrew 详细分析了其中的奥秘,认为传统数据库的不思进取成就了 NoSQL 数据库的崛起。
如果文档数据库方面的创业公司 MongoDB 要为其极高的价值感谢某个人的话,Larry Ellison 应该是排在第一位的。当你还在睡觉时,10Gen 公司——MongoDB 文档数据库公司的前身——将它的名字改为了 MongoDB 有限公司,并成为了第一所价值超过 10 亿美元的开源创业企业。是的,一个新兴的开源 NoSQL 数据库公司有价值 12 亿美元的估值。
MongoDB 成立于 2007 年,它在仅仅六年的时间里就达到这种规模价值,完成了红帽公司(Red Hat,成立于 1993 年)近 20 年才达成的一个壮举。
与此相反,最近我涉及过的开源公司只募集了不到两千万美元的资金,并以不超过 4 亿美元的价格被售出了。而在那时,这还被认为是相当不错的。
MongoDB 应将它的成功归功于什么呢?Oracle 公司! 是的,Oracle 是发生在 MongoDB 历史上最好的事。Oracle 拥有价值 300 亿美元的数据库市场中的大部分份额。在 2011 年,也就是我能找到数据库收入数据的最近的一年里,RDBMS(关系型数据库管理系统)的许可收入达到了 167.5 亿美元。据分析机构 Gartner 表明,Oracle 公司占有 48.3% 的 RDBMS 市场份额,因此可以想象 Oracle 是独占鳌头的。
Andrew 分析了 Oracle 存在的问题,它有很多巨大的优势,首先它有稳固的安装基础。许多内部 IT 应用程序都是用 Oracle 的存储过程语言 PLSQL 编写的。但 Oracle 与其在 20 世纪 90 年代中期学到的 HP/UX PA-RISC boxes 的好坏也没有本质的区别。事实上,自从上世纪 80 年代以来,它就没有过根本性的改变。因此传统既是好事,同时也可能是坏事。Oracle 需要大量的硬件和支持人员来保持其运行。同时它也无法负担起扩展到数十 TB(terabytes)或者上百 TB 的容量——这也是上百万的用户所需要的。为了以这种方式扩展,Oracle 将要变动底层软件的架构。Oracle 正试图通过在 RDBMS 上使用其它技术来解决这一问题。
但正如我之前说,这就像将一只鹅装在 Mack 牌卡车上然后叫它飞机一样。此外,那种扩展需要一个根本不同的授权模式。在不损害已有市场的情况下,这是很难做到的。与此同时,Oracle 一直都是数据库市场的伟大整合者。它首先吞并了部分 MySQL,(包括 InnoDB 存储引擎)之后又吞并了 Sun 公司。最终吞并了整个 MySQL。而这是一长串吞并中的最后一步,并且对 Oracle 与熟悉的竞争对手如 IBM 和微软公司的竞争非常有利。但当这种做法在面对一项新技术时,也暴露出很大的弱点。
谈到 NoSQL 的颠覆性力量,Andrew 提到了几个例子:
高科技产业的历史是充满相互颠覆的历史。在 20 世纪 90 年代,微软颠覆了 Novell,而之后苹果公司又继续颠覆微软公司的理念。你需要一个根深蒂固、不可动摇,但又能很好的适应其环境的事务 / 人,但它仍然不能足够快的适应新市场条件下的技术或者成本结构。就像阿兹特克人(Aztecs):他们非常适应自己的环境,但应对西班牙的枪支和天花时便会束手无策。成功的反叛利用思想根深蒂固的企业的弱点来推翻它,并自然而然在一个新技术的环境中生存。这种反叛是一种变革,而不是一种对技术和业务倾向的检查。
Andrew 认为,MongoDB 就是这样一种技术,不仅因为 MongoDB 同 Oracle 相比,成本大大降低了,而且它在 MongoDB 的集群中加入了节点,从而使其更加简便。当业界将其应用到虚拟网络、存储和云技术上时,它运行的很好。扩展 Oracle 需要组合、配置并整合一些复杂的技术(RAC、DataGaurd、GoldenGate 等),并且需要更多的硬件数量、更大的授权以及更多专业服务的花销。同时,Oracle 公司稳固的市场使其成为了 MongoDB 的完美目标。MongoDB 可以直接向一个非常大的目标出击,而不必追踪一些不同的竞争对手的特点。
至于对未来的设想,Andrew 指出,我们公司使用 MongoDB 已经有几年的时间了,并对这个软件有了深刻的印象——不仅因为其简便性和普适性,而且因为我们能够轻易地将其扩展为很多我们认为它不可能实现的工作。与 Oracle 中的花费相比,我们同样能用更少的花费在 MongoDB 中实现这个系统。我们最关心的是 MongoDB 是不是一个不可信任的公司,会不会被 Oracle 公司或 Computer Associates 公司收购,并在这一过程中变得非常复杂或者难以实施的昂贵,从而扼杀了大部分受客户喜爱的竞争优势。而数十亿美元的估值的战争果实实际上打消了这种担忧。如果 MongoDB 被收购了,也会是被一个真正重视公司价值的人所购。更加可能的是,MongoDB 的目标是进行首次公开募股(IPO)。
MongoDB 现在有了扰乱行业市场的后劲。几乎难以想象 Oracle 公司能够以那种要价买下 MongoDB,除非 Oracle 公司认为它能杀死文档数据库这个点子。如果它没有这么做,就相当于把水从一个桶中移到另一个桶中一样,没有本质区别。之后 MongoDB 的投资者们就会抛售他们的股票然后将其再投资到 MongoDB 分支上或者一个类似的竞争者上。
Andrew 指出,这种事曾发生在 MySQL 上,但没有那么快速。MySQL 比 Oracle 更加易于使用,维护和安装,但它的能力并没有更强。流行的智慧就是要用十倍的提升来扰乱稳固的竞争者。MySQL 是一种更加简单便宜的关系型数据库,但总的来说它的能力不足。而 MongoDB 是另一种情况,并且在很多情况下它做出了超过 10 倍的改善。它并不总是最好的选择,但当它是最好的选择时,它就是长时间内的最佳选择。
整体走向虚拟化、大数据和云技术的趋势给了 MongoDB 资源和位置来重新定义数据库市场。Oracle 现在被迫做出反应并加以防御。我们曾在微软公司看到过相同的反应,但迄今为止他们的反应很大程度上是灾难性的,并且管理层也处于恐慌之中。
MongoDB 是一个开放源码、面向文档的数据库,它在类似于 JSON 的文档集合存储数据。相比其他 NoSQL 数据库的优势之一是它强大的、基于文档的查询语言,由于查询非常容易转换,这使得从关系数据库到 MongoDB 的过渡变得简单。面向文档的数据库与传统关系数据库有很大不同。与在类似于表的固定结构中存储数据不同,面向文档的数据库在松散定义的文档中存储数据。利用关系数据库管理系统(RDBMS)表,如果您需要添加一个新的列,你需要改变表本身的定义,这会将该列添加到每一条现有的记录(虽然可能是一个空值)。这是由于 RDBMS 严格的基于模式的设计。然而,利用文档时,你可在不改变任何其他文档的情况下为个别文档添加新属性。这是因为面向文档的数据库在设计上通常非模式化的。另一个基本差异是面向文档的数据库不在文档之间规定严格的关系。这有助于维护它们的非模式化设计。这与十分依赖规范化数据存储关系的关系型数据库有很大不同。与在一个单独的存储区存储相关数据不同,在文档数据库中它们被嵌入文档本身,这要比将引用存储到另一个存储相关数据的文档中要快得多,因为每个引用都需要一个附加查询。
评论