写点什么

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:002224
用户头像

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

关注

评论

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

国庆临近,字节后端开发3+4面,终于拿到秋招第一个offer

Java 程序员 后端

基于java SSM springboot学生信息管理系统设计和实现2

Java 程序员 后端

基于SSM的药店管理系统

Java 程序员 后端

喝了杯咖啡,我突然对MySQL锁、事务、MVCC-有了新的认识!

Java 程序员 后端

万文讲解知乎实时数仓架构演进

大数据老哥

基于 ElasticSearch 实现站内全文搜索(1)

Java 程序员 后端

基于java+jsp的汽车租赁系统

Java 程序员 后端

基于java SSM图书管理系统简单版设计和实现

Java 程序员 后端

听我讲完GET、POST原理,面试官给我倒了杯卡布奇诺

Java 程序员 后端

哪有什么中年危机,不过是把定目标当成了有计划

Java 程序员 后端

四、StringRedisTemplate 和RedisTemlate有什么不同

Java 程序员 后端

工作五年之后,对技术和业务的思考

程序员 技术 职场 互联网人 业务

因为一次 Kafka 宕机,我明白了 Kafka 高可用原理!

Java 程序员 后端

图像处理网站

Java 程序员 后端

基于iscsi存储的kvm动态迁移(V2V)

Java 程序员 后端

数据服务基础能力之元数据管理

数据分析 数据 元数据 数据管理 业务数据

基于JSP实现OA办公系统

Java 程序员 后端

基于JSP实现学校社团管理系统

Java 程序员 后端

哭了,我居然回答不出来女同事的问题:索引为什么能提供查询性能---

Java 程序员 后端

推荐你一个正则表达式网站

卢卡多多

正则表达式 11月日更

基于java的连连看游戏设计

Java 程序员 后端

【死磕 Java 基础】 — 谈谈那个写时拷贝技术(copy-on-write)

chenssy

11月日更 死磕 Java 死磕 Java 基础

日均订单量超1500,百度萝卜快跑甩掉Waymo

脑极体

基于NFS存储建立WEB群(PCS工具)

Java 程序员 后端

基于二叉树实现Map,就是这么优秀!

Java 程序员 后端

基于 ElasticSearch 实现站内全文搜索

Java 程序员 后端

基于java SSM springboot学生信息管理系统设计和实现2(1)

Java 程序员 后端

基于Java和Bytemd用120行代码实现一个桌面版Markdown编辑器

Java 程序员 后端

基于SSM开发实现中药制剂网站系统

Java 程序员 后端

基于vue+SpringBoot+MyBatis的开源多商户商城系统,可二次开发

Java 程序员 后端

如何基于 React Native 快速实现一个视频通话应用

RTE开发者社区

flutter 人工智能「

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