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


Linux Foundation Launches Reactive Foundation
17/09/2019

The Linux Foundation has announced the launch of the Reactive Foundation, a new community that aims to promote the use of reactive programming in networked applications.



Google Has A Network More Like The Brain
22/09/2019

Our current neural networks work wonders, but they are very far from mimicking the biological brain that they are based on. Now Google Research has some breakthrough results with a more biologically p [ ... ]


More News

graphics

 



 

Comments




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

Last Updated ( Tuesday, 16 February 2016 )