Time series databases have long been the cornerstone of a robust metrics system, but the existing options are often difficult to manage in production. In this episode Jeroen van der Heijden explains his motivation for writing a new database, SiriDB, the challenges that he faced in doing so, and how it works under the hood.
Hello and welcome to the Data Engineering Podcast, the show about modern data infrastructure
When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at dataengineeringpodcast.com/linode) and get a $20 credit to try out their fast and reliable Linux virtual servers for running your data pipelines or trying out the tools you hear about on the show.
Continuous delivery lets you get new features in front of your users as fast as possible without introducing bugs or breaking production and GoCD is the open source platform made by the people at Thoughtworks who wrote the book about it. Go to dataengineeringpodcast.com/gocd) to download and launch it today. Enterprise add-ons and professional support are available for added peace of mind.
Go to dataengineeringpodcast.com) to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.
You can help support the show by checking out the Patreon page) which is linked from the site.
To help other people find the show you can leave a review on iTunes), or Google Play Music), and tell your friends and co-workers
Your host is Tobias Macey and today I’m interviewing Jeroen van der Heijden about SiriDB, a next generation time series database
Introduction
How did you get involved in the area of data engineering?
What is SiriDB and how did the project get started?
What was the inspiration for the name?
What was the landscape of time series databases at the time that you first began work on Siri?
How does Siri compare to other time series databases such as InfluxDB, Timescale, KairosDB, etc.?
What do you view as the competition for Siri?
How is the server architected and how has the design evolved over the time that you have been working on it?
Can you describe how the clustering mechanism functions?
Is it possible to create pools with more than two servers?
What are the failure modes for SiriDB and where does it fall on the spectrum for the CAP theorem?
In the documentation it mentions needing to specify the retention period for the shards when creating a database. What is the reasoning for that and what happens to the individual metrics as they age beyond that time horizon?
One of the common difficulties when using a time series database in an operations context is the need for high cardinality of the metrics. How are metrics identified in Siri and is there any support for tagging?
What have been the most challenging aspects of building Siri?
In what situations or environments would you advise against using Siri?
The intro and outro music is from The Hug) by The Freak Fandango Orchestra) / CC BY-SA)