Go driver for RethinkDB hits 1.0, production-ready

Dan Cannon’s GoRethink project provides a RethinkDB driver for the Go language. Earlier this week, Dan released GoRethink 1.0 and announced that the driver is now ready for use in production environments.

GoRethink is among the most popular and well-maintained third-party client drivers for RethinkDB. It supports the latest RethinkDB features while offering clean integration between ReQL and Go’s native syntax. In addition to standard driver functionality, GoRethink also includes a number of advanced features like connection pooling.

Read the full post

Getting started with RethinkDB and Python 3

This post originally appeared on Giant Flying Saucer, Chad Lung’s blog.

I’ve been keeping an eye on RethinkDB for a while now and recently began working with it. There is a lot to like about RethinkDB like the ability to easily cluster and scale your deployment but what I’m going to focus on today is something called Changefeeds. I’ll start this blog article off with installing a development server running RethinkDB and then move onto a quick tutorial. From there we will look at Changefeeds.

Like some of my other articles I’ve created a Github repo with the scripts needed to get a Vagrant instance running a single RethinkDB node. Simply go to the repo, clone it, and follow the instructions.

Once the Vagrant RethinkDB server is running you’ll want to create a Python 3 project folder to work out of. To see how I usually setup my project folders you can see this article.

Make sure to install the RethinkDB Python client (version 1.14 and above works with Python 3):

$ pip install rethinkdb

At this point I’ll assume you have your Vagrant based RethinkDB server running and Python 3 project set up. Let’s start with a real simple example to create a new database and a table to test with.

Read the full post

Hands-on with deepstream.io: build realtime apps with less backend code

The developers at Hoxton One recently released deepstream, a new open source framework for realtime web application development. The framework, which is built with Node.js and Engine.io, helps developers build frontend web applications that perform realtime updates while requiring minimal backend code.

The deepstream framework comes with a client library for the browser that lets the developer create and update data records on the fly. The client library relays updates to the server, which propagates the new data to other subscribed clients. The developer doesn’t have to write any specialized backend code to handle the changes or propagate the events.

The developers behind deepstream provide an optional RethinkDB data connector, which lets the framework use RethinkDB for data persistence. As the frontend client updates records, the deepstream backend stores the changes in RethinkDB documents.

Read the full post

Data science on the iPad with RethinkDB and Pythonista

Pythonista is an iOS application that brings Python development to Apple’s mobile devices. It includes a built-in Python runtime, an interactive REPL console, and a text editor with features like syntax highlighting and autocompletion. It also comes with its own canvas system and user interface toolkit, offering developers a way to build games and simple graphical applications.

In addition to the standard Python libraries, Pythonista bundles some useful extras that extend its functionality. For example, it comes with NumPy and matplotlib, which support scientific computing and advanced graphing. It also comes with a set of libraries that expose native platform and device capabilities, including geolocation and the system camera.

Used to its full potential, Pythonista is a surprisingly capable environment for mobile data science. I can use Pythonista on my iPad to crunch numbers at the coffee shop or on my living room couch. I couldn’t resist the temptation to add RethinkDB to the mix, giving me backend persistence and expressive queries.

Read the full post

Batch image uploading with Amazon S3 and RethinkDB

Many applications provide a way to upload images, offering users a convenient way to share photos and other rich content. Driven in part by the ubiquity of built-in cameras on smartphones, image uploading is practically expected in any application with social or messaging features. Fortunately, cloud-based hosting services like Amazon’s S3 can shoulder the burden of storing large amounts of user-generated content.

Of course, you can also use RethinkDB to store thumbnails, important image metadata, and application-specific details about your S3 uploads. In this tutorial, I’ll demonstrate how to handle batch image uploading with Amazon S3 and RethinkDB. The demo application puts full-sized images in an Amazon S3 bucket while using RethinkDB to store image metadata and small thumbnails. I’m also going to show you some useful techniques for building a good frontend image uploading experience on the web, featuring drag-and-drop support and a live progress bar.

Read the full post
prev Older posts