PostgreSQL and CitusDB on Raspberry Pi 2

Written by Marco Slot
March 9, 2015

CitusDB Raspberry Pi 2 cluster One of the nice things about working at Citus Data is that we get time and budget to work on personal growth projects. A few of us are playing with the Raspberry Pi. I recently got two Raspberry Pi 2's and installed the Raspbian distribution on 16GB SD cards.

Of course, the first thing I tried was to install CitusDB (our solution for massively scaling PostgreSQL across a cluster of commodity servers) andpg_shard and make them crunch some numbers. For this set-up, one of the Pi's acted as both master and worker node and the other one as a regular worker node. The Raspberry Pi 2 is a modest device, so I used a modest 1GB dataset from the TPC-H and ran the first query, which gave the following result:

  CitusDB PostgreSQL
Q1 11.9s 85.0s

What's astonishing about the Raspberry Pi 2 is how cost-effective it is for running CitusDB. The total investment in this set-up, including the microSD cards, was about $100. A cluster of 4-5 Pi's should be on par with a high performance desktop twice the cost.

Now, you might be wondering whether I brought down the whole cluster by taking a picture due to theRaspberry Pi 2's camera shyness. Yes, yes I did. Next time I'll place the Pi's in separate locations such that CitusDB will mask the node failure when taking pictures :).

We don't currently distribute a package for Raspbian, but contact us if you would like to try yourself.

Marco Slot

Written by Marco Slot

Former lead engineer for the Citus database engine at Microsoft. Speaker at Postgres Conf EU, PostgresOpen, pgDay Paris, Hello World, SIGMOD, & lots of meetups. Talk selection team member for Citus Con: An Event for Postgres. PhD in distributed systems. Loves mountain hiking.

@marcoslot marcocitus