BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

RethinkDB 1.12发布

| 作者 马德奎 关注 0 他的粉丝 发布于 2014年4月1日. 估计阅读时间: 3 分钟 | 都知道硅谷人工智能做的好,你知道 硅谷的运维技术 也值得参考吗?QCon上海带你探索其中的奥义

RethinkDB是一款开源的分布式数据库,用于存储JSON文档,可以很容易地扩展到多台机器。它有一门令人愉快的查询语言,支持表连接和group等真正有用的查询,并且安装简单、易于学习。

近日,RethinkDB 1.12发布,这是迄今为止最重大的发布之一。它带来了超过200项功能增强,其中包括:

  • 极大地简化了map/reduce和聚合命令
  • 缓存经过重大改进,消除了长期稳定性和性能方面的局限
  • 支持ARM架构
  • 新增四个用于对象和字符串操作的ReQL命令
  • 许多Bug修复、稳定性增强和性能提升

新版本删除了group_by和grouped_map_reduce命令,代之以一个更强大的新命令group。该命令将文档序列分组,其后链接的任何命令都是在每个分组上单独调用,而不是在序列的所有文档上。而且,链接的命令不局限于内置的聚合命令,可以是任何一个或一系列命令。此外,除了已有的聚合命令count、sum和avg外,1.12版本还增加了min和max。读者可以进一步阅读,了解更多关于group命令和新的map/reduce基础架构的信息。

1.12版本对缓存的基础架构进行了许多改进。对于用户而言,最大的变化是他们不需要手动为表设置缓存大小了,RethinkDB会根据不同表的使用情况和系统可用内存空间动态地调整缓存大小。另外,为了帮助解决用户报告的各种稳定性问题,RethinkDB还做了许多用户看不到的修改。

四个月前,David Thomas贡献了一个拉拽请求,其中包含了在ARM上编译和运行RethinkDB所需要的修改。经过几个月的测试和各种修复,该请求已经并入了RethinkDB的主干。不过,ARM支持是试验性的,还有一些问题需要解决。

另外,新版本还增加了几个用于字符串和对象操作的命令,如用于大小写转换的downcase和upcase、用于分隔字符串的split和以编程方式从键-值对创建JSON对象的object。读者可以从API文档中了解更多相关信息。

最后,RethinkDB 1.12还在性能和稳定性方面做了许多改进,如在RethinkDB的Web服务器上增加了压缩支持,增加了自动化性能回归测试改进了并行数据处理代码等。

这里需要特别提醒一下,上述功能增强中有一项破坏性修改,即用group代替group_by和grouped_map_reduce。用户在升级时需要针对这项修改调整应用程序,详情见1.12迁移指南。再者,升级之前务必先迁移数据

读者可以从这里下载试用。


感谢包研对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT