Highly Available time-series database on Kubernetes
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…