We've just released software version 5.0.6 and it comes with plenty of additional features and functionality, a full refactoring of PostgreSQL wire support, and multiple fixes to improve the stability of the system. Here's a roundup of recent changes that have just landed.
Garbage collection is a type of automatic memory management that's used in many modern programming languages. The point of the garbage collector is to free up memory used by objects which are no longer being used by a program. Although it's convenient for developers not to think about manually deallocating memory, it can be a poisoned chalice that comes with several hard-to-predict downsides.
Like all good superheroes, every company has its own origin story explaining why they were created and how they grew over time. This article covers the origin story of QuestDB and frames it with an introduction to time series databases to show where we sit in that landscape today.
I have recently made a sizable contribution to QuestDB’s code and wanted to share my experience and feedback while it is still fresh in my head. I am not a complete outsider for the project and know Vlad personally but other than that it was voluntary to add a few lines of code to a project I like.
QuestDB supports ingesting records using InfluxDB line protocol. This means that you can benefit from a simple, lightweight, and convenient message format to add data points to tables. We've further improved support for this feature by adding authentication, so your endpoint is more secure. This post describes how we added this functionality and how to enable it via QuestDB configuration.
Every cab I have ever ridden has been complaining about how hard it is to make ends meet as a driver. Using a dataset of over 1.6 billion taxi rides, 700 million FHV rides (Uber, Lyft, etc.), and 10 years of weather and gas prices data, I examine whether the antiquated meter system impacts NYC cabbies' livelihood, rather than competition from the likes of Uber.
Good data from the past helps us make better decisions in the present. Most of today's data were created within the past ten years, and human data output will only grow exponentially from here on. This sudden pervasiveness of data means that we need new ways to store and process information focusing on efficiency and sustainability. This article describes why speed and performance in a time-series database is the key to staying afloat in a sea of data.
How does QuestDB get the kind of performance it does, and how are we continuing to squeeze another 50-60% out of it? This post will look at a code change we thought would create a negative performance impact, which actually brought a substantial boost in the system's overall performance and demonstrates that we are constantly learning more about performance improvements.
A few weeks ago, I posted the story of how I started QuestDB on Hacker News. Several people found the story interesting, so I thought I would post it here and describe the passage from working at a large energy trading company, discovering memory-mapping approaches in Java, the beginnings of building the system as a side-project, and how we got to where we are today with companies relying on production instances of our time-series database.
We've been upping our SWAG game a lot lately, and we want to share it with you, the valuable members of our community! We want to give you the chance to show off your projects, show off your love for QuestDB, and to just show off! Whether it's large or small projects, follow the steps in this post so we can send some swag your way!