Highly Available time-series database on Kubernetes

Rudolf Ratusiński
4 min readAug 19, 2019

Introduction

Event sourced applications, revisions, metrics can generate enormous amounts of data. Many tend to use relational database for that purpose but as soon as the database tables grow significantly, the performance issues arise. This is where time-series databases shine.

If you’re asking yourself “What’s that? Do I need it?” I recommend reading this fantastic blog post to better understand this topic:
https://blog.timescale.com/what-the-heck-is-time-series-data-and-why-do-i-need-a-time-series-database-dcf3b1b18563/.

After reviewing many options, I decided to go with TimescaleDB — one of the most mature solutions, that can be deployed on your own server as it’s a PostgreSQL extension. Why? mainly because of its full behind the scenes handling of time-series data, where you just need to install a module into PostgreSQL, run a single query to enable it and bam! — PostgreSQL is now a Time-series database with exactly the same SQL syntax (with a few bonus statements added).

Cloud solution

TimescaleDB also offers a SaaS cloud solution available, but as with every fully managed service, it comes with a lengthy list of both pros and cons. Pros are obvious if you are a big company with plenty of money. They are…

--

--