写点什么

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

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

关注

评论

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

Rancher 部署 DataKit 最佳实践

观测云

今年最火爆的词:商业分析,看这一篇就够了!

博文视点Broadview

AntDB数据库亮相24届高速展,助力智慧高速创新应用

亚信AntDB数据库

AntDB 国产数据库 aisware antdb

TiFlash 存储层概览

TiDB 社区干货传送门

数据库 分布式数据库 TiDB

浅谈大数据背景下数据库安全保障体系

阿炜小菜鸡

数据库

JavaScript高级程序设计-迭代器

掘金安东尼

JavaScript 前端 8月月更

C#/VB.NET:从 PDF 文档中提取所有表格

Geek_249eec

C# PDF 表格 VB.NET

电商库存系统的防超卖和高并发扣减方案

京东科技开发者

技术 电商 电商系统

分析Flask WSGI经过Nginx代理出现两次302问题

西北望高楼

flask Python.

分布式一致性如何实现?- Raft 算法

晓双

分布式 微服务架构 raft 一致性算法 一致性

LeaRun.net快速开发动态表单

力软低代码开发平台

实战模拟│微信 JSSDK 实现自定义分享、手机选图拍照、图片音频处理、地理位置、摇一摇等功能

经验分享 微信开发 签约计划第三季 8月月更 jssdk

面试必问系列之最强源码分析,带你一步步弄清楚Spring如何解决循环依赖

小隐乐乐

Java 面试题 Spring5源码解析

有点奇怪!访问目的网址,主机能容器却不行

华为云开发者联盟

云计算 主机 云网络 后盾

Git 不要只会 pull 和 push,学学这 5 条提高效率的命令(下)

CRMEB

DBPack SQL Tracing 功能及数据加密功能详解

峨嵋闲散人

分布式事务 分库分表 读写分离 dbmesh Database Mesh

浅谈游戏音效测试点

行者AI

游戏测试

直播系统聊天技术(八):vivo直播系统中IM消息模块的架构实践

JackJiang

网络编程 架构设计 即时通讯 IM

OneFlow源码解析:Op、Kernel与解释器

OneFlow

深度学习 源码解析

基于BiGRU和GAN的数据生成方法

行者AI

人工智能

使用设备树时对应的驱动编程

贾献华

8月月更

以消费场景为驱动的CMDB要怎么建?

鲸品堂

如何看待腾讯云数据库负责人林晓斌借了一个亿炒股?

雨果

DaaS数据即服务

不要再使用MySQL online DDL了

Qunar技术沙龙

Open Serverless Benchmark Initiative: 华为云联合上海交大发布ServerlessBench 2.0

华为云开发者联盟

Serverless 华为云

面对营销难,有米云指出一条破局之路

ToB行业头条

官网应用开发文档及学习资源7月上新汇总

HarmonyOS开发者

HarmonyOS

暑气渐敛,8月让我们开源一夏!

InfoQ写作社区官方

开源 热门活动 8月月更

研发团队数字化转型实践

思码逸研发效能

研发效能 数字化

直播|一次镜像,处处运行!如何制作一个 StarRocks Docker 镜像?

StarRocks

AIOps智能运维的领跑者擎创科技正式入驻InfoQ 写作社区!

擎创夏洛克AIOps

AIOPS 智能运维 IT运维 大数据运维 智能运维AIOps

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