RethinkDB For Windows
Written by Kay Ewbank   
Tuesday, 16 February 2016

RethinkDB is finally available in a native Windows version to go alongside the Linux and Mac support.

The developers say that this is one of the most frequent requests by RethinkDB users, and that porting RethinkDB to Windows took a year of intensive development, touching nearly every part of the database.

 

rethink

 

RethinkDB is an open source NoSQL JSON database designed for web apps. Its main differentiator is that you can tell it to continuously push updated query results to applications in real time, rather than having your app poll for changes.

So far, there's a developer preview for Windows that the team hope users will test in the real world, saying in a blog post that:

"You shouldn’t trust it with your data or use it in production environments yet. It’s also not fully optimized, so you might not get the same performance that you would from a stable release."

From RethinkDB 2.3 release onwards, the plan is to provide official Windows builds for each version of RethinkDB alongside the binary packages for Linux and Mac OS X.

Creating a Windows version took a lot of development time because RethinkDB makes extensive use of platform-specific APIs, and the developers decided that this would be true of the Windows version too, so it has full, native Windows support. As the blog puts it:

"You won’t find any POSIX compatibility layers or other similar hacks–RethinkDB uses native Windows APIs on the Windows platform."

 

Key areas that "required considerable engineering effort" include threading, disk and network I/O, and the event loop. Asynchronous I/O is handled differently on Windows from Linux. On Linux, developers use epoll to get notifications that let them know when a descriptor is ready for reading or writing. On Windows, developers use I/O Completion Ports (IOCP). Asynchronous operations are queued and emit notifications when they succeed or fail. The team has manually added Windows-compatible code paths to handle the platform-specific I/O.

rethinkdemo

 

They also had to get the database to compile natively with Microsoft’s C++ compiler, and to make sure that all the third-party open source libraries used in the database build consistently on Windows as well as Linux and Mac OS X.

Alongside the Windows version, there's a C# client library, and a simple ASP.NET chat demo with SignalR and the C# RethinkDB driver to show how to get started with RethinkDB in Visual Studio. SignalR is a framework for performing realtime updates in ASP.NET that uses WebSockets to bind a JavaScript frontend with an ASP.NET backend, providing an abstraction layer for RPC and event propagation.

 

rethink

More Information

RethinkDB Blog

RethinkDB For Windows

Related Articles

RethinkDB 2.1 Released

CockroachDB Released

Meet SquiDB

RocksDB on Steroids

Asterix DB – Big Data Management System

To be informed about new articles on I Programmer, sign up for our weekly newsletter,subscribe to the RSS feed and follow us on, Twitter, FacebookGoogle+ or Linkedin

Banner


Apollo Adds REST APIs For GraphQL
29/10/2024

Apollo has added a simpler way to integrate REST APIs into a federated GraphQL environment. Available now in public preview, can be used to map REST API endpoints to their GraphQL schema using a decla [ ... ]



Edera Releases Open Source Container Benchmark And Scanner
07/11/2024

Edera has released Am I Isolated, an open source container security benchmark that probes users runtime environments and tests for container isolation.


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Tuesday, 16 February 2016 )