2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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

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

关注

评论

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

王者荣耀商城异地多活架构设计

石小天

「架构实战营」

【Go实现】实践GoF的23种设计模式:单例模式

元闰子

Go 设计模式 单例模式

SeekTiger治理通证STI流动性质押的背后,是DAO社区的支持

小哈区块

推荐一款可以替代Postman的国产api管理工具apipost

CodeNongXiaoW

php 后端 开发工具 java api管理工具

Kubernetes官方java客户端之八:fluent style

程序员欣宸

4月月更

基于python的struct模块实现简单的ByteBuf

歆晨技术笔记

Linux之ssh-copy-id命令

入门小站

Linux

怒肝 JavaScript 数据结构 — 数组篇(一)

杨成功

JavaScript 数据结构 4月月更

微服务从代码到k8s部署应有尽有系列(四、用户中心)

万俊峰Kevin

微服务 RPC web开发 go-zero Go 语言

容器 & 服务:Kubernetes运维记录

程序员架构进阶

Kubernetes 容器 4月日更 4月月更

一文读懂 MySQL Explain 执行计划

老周聊架构

MySQL 数据库 3月月更 4月月更

架构师成长路线图

俞凡

架构

在 Flutter 和 Dart 中取消 Future 的 3 种方法

坚果

4月日更

三高Mysql - Mysql索引和查询优化(偏理论部分)

懒时小窝

MySQL 数据库

MySQL性能优化的5个维度

蝉沐风

MySQL 性能优化

当东数西算变成一场西游记……

白洞计划

全链路压测(八):构建三大模型

老张

性能测试 全链路压测 稳定性保障

新的篇章,Pancake开通STI的流动性LP质押

BlockChain先知

架构训练营-作业七

默光

异地多活 架构训练营5期

在线XML转HTML工具

入门小站

工具

架构设计学习资料汇总

俞凡

架构

一条SQL语句是如何执行的?

程序员阿杜

MySQL 数据库

在线OPML美化格式化工具

入门小站

工具

智能时代,应该如何培养中小学AI教师?

脑极体

SeekTiger治理通证STI流动性质押的背后,是DAO社区的支持

西柚子

浅谈软件项目开发过程

小锅米线

微信朋友圈高性能架构

流火

模块7作业-王者荣耀商城异地多活架构设计

卡西毛豆静爸

#架构实战营

系统架构实践(一)

Trent

swagger2 统一默认Response Code

Rubble

swagger 4月日更

谈谈高并发系统的一些解决方案

xiaoxi666

高并发 高并发系统设计 高并发系统

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