死而复生?RethinkDB 宣布进入 Linux 基金会!

  • 刘志勇

2017 年 2 月 9 日

话题:Linux语言 & 开发架构

2016 年 10 月 5 日,RethinkDB 联合创始人 Slava Akhmechet在官网上宣布 RethinkDB 破产倒闭。Slava Akhmechet 称其已经尽了最大的努力,最终还是无法建立一个可持续的商业模式。接下来 Stripe 公司将接纳 RethinkDB 公司,RethinkDB 工程师团队将加入到 Stripe。在交接过程中 RethinkDB 公司下的 RethinkDB 和 Horizon 的开源项目不会关闭,这两个项目都将持续可用,rethinkdb.com 和 horizon.io 网站上的一切都可正常访问。Slava Akhmechet 也希望在广大社区贡献者的努力下,保持继续开放的开发进程。

日前,RethinkDB 项目有了新的动态。Cloud Native Computing 基金会(CNCF)宣布它购买了 NoSQL 分布式文件存储数据库 RethinkDB 的源代码版权,将授权协议从Affero GPLv3改为Apache v2,并将其捐赠给Linux 基金会

目前,RethinkDB 项目已经“死而复生”。

RethinkDB 虽然去年宣布破产倒闭,但是项目仍然得以存活,并且情况良好:RethinkDB 项目仍然继续积极开发,并没有因破产而中断。用户可以继续在生产环境中使用 RethinkDB。RethinkDB 的官网、GitHub 项目和社交媒体账户也如常运营。今天,在 Linux 基金会的支持下,该项目从此有了强大的制度支持及接受捐赠的能力。

自从去年宣布倒闭后,社区成员表示愿意资助 RethinkDB 的后续开发。现在,RethinkDB 已经做好接受捐款的准备,并妥善利用筹集来的资金。Stripe为此捐款了高达 25,000 美元。

许多前 RethinkDB 员工目前为 Stripe 工作,他们帮助为世界各地的开发人员构建基础设施。这次公告让人相信项目在社区中是有未来的。

RethinkDB 是什么?

RethinkDB 最早是作为一个对 SSD 进行专门优化的 MySQL 存储引擎出现的,其特点在于对 SSD 的充分利用。而目前 RethinkDB 已经脱离 MySQL 成为一个独立的存储。RethinkDB 是自底向上为实时网页设计的第一个开源的、分布式的、可扩展的数据库,具有强大的集群和自动故障转移功能。传统数据库使用的是一种查询——响应数据库访问模式。RethinkDB 在网络上工作的很好主要是因为它直接映射到 HTTP 的请求响应上面。

RethinkDB 是第一个数据库使用了一种令人激动的新的数据库的访问模型,而不是轮询数据库更改,开发者可以命令 RethinkDB 实时的向应用连续推送更新查询结果。这使得搭建现代、实时的应用程序十分方便:开发者可以得到一个可扩展的实时 Web 应用程序的 App,并在用一小部分时间运行的同时使用更少的工程资源。

Cloud Native Computing 基金会称,RethinkDB 数据库被数以百计的创业公司、咨询公司和财富五百强企业使用,其中包括 NASA、GM、Jive、Platzi、美国国防部、Distractify 和 Matters Media。

接下来会发生什么?

如何定义 RethinkDB 的未来,社区将会作出一些重要的决定。他们今后将逐步开源更多的软件、内容、大量的艺术品(通过@annieruygt),以及核心团队在过去七年来开发的文档。他们也一直与 CNCF 商讨如何成为开始的项目

RethinkDB 新版本已经在准备阶段中:在过去几个月,志愿贡献者继续努力改进数据库。在接下来的几天里,RethinkDB 2.4 将会发布。新版本包含了社区的改进及去年关闭前开发的功能。与此同时,提供了重要的 bug 修复的 RethinkDB2.3.6 也将会发布。

在产品的路线图中,社区对 RethinkDB 2.5 有一些初步的计划。让代码更容易为新的捐助者拥有是一项高度优先事项。这涉及到重构,技术债务和遗留代码或功能将因此得以消除。2.5 可能会有一些性能改进,提高硬耐久性(hard-durability)写入。

谁参与其中?

志愿临时领导团队由以下人员组成。

前 RethinkDB 团队成员:Christina Keelan、Etienne Laurin、Sam Hughes;

社区成员:Marshall Cottrell、Ross Kukulinski、Chris Abrams、Matt Broadstone;

Cloud Native Computing 基金会执行董事 Dan Kohn;

Cloud Native Computing 基金会 TOC 成员 Bryan Cantrill。

RethinkDB 创始人 Mike Glukhovsky 和 Slava Akhmechet 也参与其中,确保顺利过渡。

为何那么久,才有新动态?

去年公司倒闭时,RethinkDB 项目的源码和其他资产,由债权人持有。虽然可以将源码分支赋予符合 AGPL 条款的新名称并继续开发,但是临时领导团队认为,为推进项目提供更坚实的基础,要确保权利,并采取更加宽松的许可证。于是,Cloud Native Computing 基金会就加紧了谈判,代表社区购买了源码。

由于交易的敏感性,使得谈判过程中难以与社区讨论具体细节。持续的沉寂对于确保成功完成交易,并为现有用户和贡献者提供尽可能多的连续性是必要的。今天,源码的权利已经正式由社区持有,RethinkDB 凤凰涅槃,死而复生了。

网络反响

讨论一:关闭了好还是不好?

  • 网友 Redmega:他们没有如之前声称那样死掉,我很欣慰。很棒的思路!
  • 网友 vilmidget38:我非常喜欢使用 Rethink,希望看到它继续走下去。
  • 网友 Solon1:我认为他们还是关闭了好。有一个团体购买了源和许可证,然后将其作为 BSD 发行。他们与原公司没有联系。

讨论二:RethinkDB 还是 MongoDB?

  • 网友 FlukyS:RethinkDB 有超强的伸缩性,它可以处理 PB 级数据。不过,依据配置,这会导致可用性上做出些妥协,但是在我看来,用户有者很大的掌控权。一致性是 RethinkDB 考虑最弱的一点。RethinkDB 的超级赞的是很易用。我只在开发阶段使用 RethinkDB,因为后来公司决定采用 MongoDB。
  • 网友 read_eat_or:可否问下你们(FlukyS)为什么放弃了 RethinkDB,而选择了 MongoDB?
  • 网友 FlukyS:坦率地说并不是我做的决定,我只是做了初期的测试,最后由经历决定。我认为可能是因为团队对 MongoDB 更熟悉吧,这是好几年前的决定,如果现在再来一次结果或许会不同。不管是使用 RethinkDB 还是 MongDB,我们只是保存日志数据而已,并没有用于存放市场商用的数据。我们是读操作远多于写操作。

    有一种观点是,RethinkDB 是败给了 MongoDB,那么或许你还可以再读读 MongoDB 的相关内容。

感谢木环对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

Linux语言 & 开发架构