Rethink DB 2.3 带来网络加密和 ReQL 升级

  • James Chesters
  • 刘嘉洋

2016 年 4 月 17 日

话题:数据库JavaScriptWindows语言 & 开发AI

RethinkDB 发布了其 2.3 版本的开源数据库,这次发布对 JavaScript 驱动程序进行了升级,并带来了新功能网络加密。

开发者传道士 Ryan Paul 在题为《RethinkDB 2.3:用户账户、网络加密、支持 Windows 平台运行》的文章中称,由于引入了 TLS 的支持,这次称为 Fantasia 的升级使得“对客户端驱动协议和在一个集群中的数据库服务器之间的通信进行线上加密”。

2.3 版本同时也“带来了对 RethinkDB 基于 web 的管理用户界面的加密,因此你现在可以使用 HTTPS URL 进行访问,” Paul 解释说不同于传统的 RethinkDB 部署,升级后的版本不再需要在相同的封闭网络内的数据库服务器中运行应用程序服务端。

对 Fantasia 发布的分布式数据库来说,JavaScript 驱动程序包含 cursor.eachAsync 函数的新变量。在这之前,开发者如果要关闭指针需要用 cursor.close(),数据库也不会调用任何回调来表示指针已经关闭。

JavaScript 驱动程序的升级还包括了cursor.eachAsync的新并发选项以及r.min(a, b) r.max(a, b)变量升级。之前开发者使用的 r.expr([a, b]).min() 在升级后变为 r.min([a, b]) and r.max([a, b])。

InfoQ 在二月份曾宣布RethinkDB 推出基于Windows 平台的数据库,功能与 Linux 和 OS X 平台的数据库相同。在这次 Fantasia 发布中,Windows 平台数据库正式推出 beta 版本。Paul 说,虽然你不会将数据部署生产环境中,“对于想要在 Windows 系统的电脑上搭建 RethinkDB 应用程序的开发者来说,这是一个很好的选择”。

RethinkDB 2.3 中改进了数据库的 ReQL 查询语言。最值得大家关注的是一个称为 fold 的新指令,工程总监 Daniel Mewes 描述它为“你可以实现更有效地流内状态转换。”Paul 进一步补充道:“它在命令流上进行了类似 reduce 的操作,并基于当前累加器状态,可支持发送值的数据流。”

在 HackerNews 上,社区对于 2.3 版本的发布大多都持积极态度

用户 asher_评论道

这是一次很棒的发布!感谢所有的开发者!

Fold 指令的推出让我开始将 RethinkDB 视为一个事件源系统。现在会有人这样使用它吗?另外,folds 指令对改变的反馈有用吗?如果是这样的话,那这对于事件源系统来说非常具有优势。

用户 v3ss0n回复说

是的,你可以在这里看到我们的原型产品:http://phwa.be,这是一个实时多媒体聊天室,使用不同的方法对 markdown 全支持。它使用了 eventsource+rethinkdb,我对于 fold 指令非常期待。 我们还在搭建一个实时移动市场,它将会成为我们主要的启动项目。

RethinkDB 是一个开源、可扩展的 JSON 数据库。使用 RethinkDB 的开发者可实时持续推送查询结果到应用程序中去,而不是轮询查询。

查看英文原文Rethink DB 2.3 Brings Network Encryption and ReQL Updates


感谢张龙对本文的审校。

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

数据库JavaScriptWindows语言 & 开发AI