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


JetBrains Improves Kubernetes Support In IDE Upgrades
12/11/2024

JetBrains has improved its IDEs with features to suggest the logical structure of code, to streamline the debugging experience for Kubernetes applications, and provide comprehensive cluster-wide Kuber [ ... ]



Use Javascriptmas To Hone Your Webdev Skills
08/12/2024

Every day until December 24th MDN, in partnership with Scrimba, is releasing a daily challenge, which as the name suggests requires you to practice your JavaScript skills. Each solution you submi [ ... ]


More News

espbook

 

Comments




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

Last Updated ( Tuesday, 16 February 2016 )