写点什么

RethinkDB 已经将其数据库移植到 Windows

  • 2016-02-14
  • 本文字数:1054 字

    阅读完需:约 3 分钟

RethinkDB 已经推出了其数据库的 Windows 版本。该版本耗时一年开发,可以运行在 64 位 Windows 操作系统上,目前尚处于 Beta 测试阶段。

考虑到此次移植所付出的巨大的时间成本,我们采访了 RethinkDB 联合创始人 Michael Glukhovsky,了解更多关于其数据库 Windows 版本的细节。

InfoQ:将 RethinkDB 移植到 Windows,最困难的部分有哪些?

MG:RethinkDB 的异步 I/O 操作依赖特定于平台的 API。Windows 上的相关 API 同 Linux 的 epoll 和 OS X 的 kqueue 有很大的不同。在 Linux 上,开发人员使用 epoll 获取通知,让他们知道一个描述符已经读或写就绪。在 Windows 上,开发人员使用 I/O 完成端口(IOCP),这需要将异步操作进行排队,并在操作成功或失败时发送通知。改写构建系统是另一个主要的难点。我们必须在 Windows 上统一编译所有第三方开源依赖。

InfoQ:RethinkDB 有一个跨不同操作系统的公用代码库吗?

MG:是的,RethinkDB 有一个统一的跨平台代码库。不过,有些特定于平台的代码路径依赖于本地平台的 API。在我们的 GitHub 库中,有一个arch目录,其中包含了所有特定于平台的代码。据我们估计,RethinkDB 有 3% 到 4% 的源代码是特定于某个操作系统的。

InfoQ:Windows 版本的功能同 Linux 和 OS X 版本一样吗?

MG:RethinkDB on Windows 在功能上与 Linux 和 OS X 版本相同。该数据库的特性在所有三个平台上都是一致的。不过,我们仍然在优化 Windows 版本,以便它达到同样的性能。

InfoQ:您能给我们大体介绍下路线图上有哪些特性吗?

MG:对于新的 Windows 移植,我们正努力让开发人员可以将数据库作为一个 Windows 服务运行。更广泛地讲,我们正在实现一些安全特性,如支持数据库用户账户和权限。此外,我们还在扩展数据库的实时处理能力,让开发人员可以在更多的操作中使用 changefeeds。

RethinkDB 是一个开源、分布式、可扩展的数据库,可以配置用于实时向应用程序推送数据变化通知,而不是让应用程序不断地轮询数据库变化。 InfoQ 过去曾经介绍过 RethinkDB

Kyle Kingsbury Jepsen 系列文章的作者,他最近对 RethinkDB 进行了测试,以核实它在使用majority读 & 写时是否支持线性操作。Kingsbury 总结道:

据我所知,RethinkDB 的安全声明是准确的。如果写操作的一致性水平低于majority,那么可能会丢失更新,并在使用singleoutdated读时遇到各种读异常,但是majority/majority似乎是线性的。

关于这一点,我们建议读者阅读 Kingsbury 详细介绍有关测试执行和测试结果的博文来了解更多信息。

查看英文原文: RethinkDB Has Ported Their Database to Windows

2016-02-14 18:002026
用户头像

发布了 1008 篇内容, 共 422.7 次阅读, 收获喜欢 346 次。

关注

评论

发布
暂无评论
发现更多内容

【炫丽】从0开始做一个WPF+Blazor对话小程序

沙漠尽头的狼

前端工程师的20道react面试题自检

beifeng1996

React

极客时间运维进阶训练营第一周作业

LiaoWD

dokcer

应对大规模的资产扫描一些小Tips

穿过生命散发芬芳

11月月更 资产扫描

数据库的体系结构

阿泽🧸

数据库 11月月更

数据湖(二十):Flink兼容Iceberg目前不足和Iceberg与Hudi对比

Lansonli

数据湖 11月月更

计算机网络:随机访问介质访问控制之ALOHA协议

timerring

计算机网络 11月月更 ALOHA

前端打工人的面试总结

loveX001

JavaScript

Vue自定义指令(一)初识

Augus

vuejs 11月月更

深入理解Metrics(一):Gauges

冰心的小屋

Java metrics Guages

React源码分析8-状态更新的优先级机制

goClient1992

React

DevOps|乱谈开源社区、开源项目与企业内部开源

laofo

DevOps 研发效能 工程效率

Cox 比例风险回归模型

heart_6662

11月月更 cox 生存分析 生物信息学

发力新市民圈层,银行系消费金融这半年都有哪些行动?

易观分析

金融 银行

如何做好线上服务质量保障?

老张

软件测试 质量保障

一天梳理完React所有面试考察知识点

beifeng1996

React

算法题学习---链表中的节点每k个一组

桑榆

算法题 11月月更

docker-compose下的java应用启动顺序两部曲之二:实战

程序员欣宸

Docker Docker-compose 11月月更

Java中的泛型详解

共饮一杯无

Java 泛型 11月月更

随机森林-机器学习中调参的基本思想

烧灯续昼2002

Python 机器学习 算法 随机森林 11月月更

前端面试中小型公司都考些什么

loveX001

JavaScript

你需要的react面试高频考察点总结

beifeng1996

React

联通DataOps和MLOps:将机器学习推理作为新的数据源

Baihai IDP

人工智能 大数据 AI DataOps MLOps

从输入URL到渲染的过程中到底发生了什么?

loveX001

JavaScript

从异步讲起,『函数』和『时间』该作何关系?

掘金安东尼

前端 11月月更

一道React面试题把我整懵了

beifeng1996

React

从React源码分析看useEffect

goClient1992

React

2022-11-07:给你一个 n 个节点的 有向图 ,节点编号为 0 到 n - 1 ,其中每个节点 至多 有一条出边。 图用一个大小为 n 下标从 0 开始的数组 edges 表示, 节点 i 到

福大大架构师每日一题

算法 rust 福大大

3分钟快速掌握Go语言正/反向代理的姿势

有态度的马甲

有赞算SaaS平台吗?

产品海豚湾

产品经理 SaaS 产品运营 B端产品 11月月更

从输入URL到渲染的完整过程

loveX001

JavaScript

RethinkDB已经将其数据库移植到Windows_数据库_Abel Avram_InfoQ精选文章