NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

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

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

关注

评论

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

Java开发工程师笔试题目,图灵学院vip百度云盘,阿里P8大牛手把手教你

Java 程序员 后端

Java开发者跳槽指,牛客网算法初级班,春招我借这份PDF的复习思路

Java 程序员 后端

模块一作业

心怀架构

Java微服务架构图,nginx视频教程百度云,学习指南

Java 程序员 后端

Java开发最佳实践手册全网独一份,vue视频教程百度网盘,正式加入字节跳动

Java 程序员 后端

Java开发还会吃香吗,Java微服务架构从入门到精通

Java 程序员 后端

Java开发经验谈,linux视频教程百度网盘,逆袭面经分享

Java 程序员 后端

Java技术基础知识总结,菜鸟教程mysql,Java重要知识点

Java 程序员 后端

阿里云重磅发布业务中台产品 BizWorks,中台发展进入下一个阶段

阿里巴巴云原生

阿里云 云原生 业务中台 云栖大会 BizWorks

第1周作业

波波

「架构实战营」

Java开发自学教程!尚学堂java,我被面试官绝地反杀了

Java 程序员 后端

Java开发还不会这些,极客学院和黑马,进阶学习工作最全指南

Java 程序员 后端

Java开发面经分享,springboot项目案例百度云,实战篇

Java 程序员 后端

Java开发教程,极客时间架构师训练营,面试流程4轮技术面+1轮HR

Java 程序员 后端

Java开发经典实战!自学java教程百度云盘,阿里程序员的Java之路

Java 程序员 后端

Java开发视频教程,linux使用教程,BIO和NIO有啥区别

Java 程序员 后端

Java性能优化最佳实践,mybatis入门视频

Java 程序员 后端

Java技术成长,kafka学习教程,Java开发者面试如何系统复习

Java 程序员 后端

Java开发经验的有效总结,以商品超卖为例讲解Redis分布式锁

Java 程序员 后端

Java教程百度云最新版,极客时间vip年卡,Java开发者面试如何系统复习

Java 程序员 后端

Java开发究竟该如何学习,年末阿里百度等大厂技术面试题汇总,程序员翻身之路

Java 程序员 后端

Java开发面试基础,java架构师全套百度网盘,Java基础面试重点

Java 程序员 后端

Java开发面试基础,牛客网客户端,【面试总结】

Java 程序员 后端

Java开发面试题!牛客网java开发高频面试题,让我成功在寒冬中站稳脚步

Java 程序员 后端

Java教程百度云最新版,java写脚本教程视频,程序员必须要了解的知识点

Java 程序员 后端

Java开发核心知识笔记共2100页,如何保证Redis与数据库的双写一致性

Java 程序员 后端

Java开发者应该会哪些东西才不会被公司淘汰,美团Java面试

Java 程序员 后端

Java开发者跳槽面试,尚硅谷java课程,netty框架面试题

Java 程序员 后端

Java开发自学技巧!极客学院百度云资源,2021最新Java笔试题目

Java 程序员 后端

云栖收官:想跟远道而来的朋友们说

阿里巴巴云原生

云原生 云栖大会 收官 致谢

Java排序算法面试,黑马java项目一,springboot实战项目源码

Java 程序员 后端

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