News for hackers. Stuff that matters.
Re:Show HN: Parseable, an open observability datalake, handl... by parmesant on Tuesday October 06, 2026 @02:49PM (#49982440)
the tradeoff with regards to slower queries and io only comes into play if the TSDB is performing a narrow lookup on a handful of series. In that case it’ll be faster. But when you scale up to 100s of millions, columnar dbs like Parseable win because-

a) there's no per-series inverted index and labels are parquet columns so memory is not bounded by cardinality

b) data lives on much cheaper object storage (parseable gives an option to cache data locally to remove io bound latency)

c) columnar store helps with faster data scanning by aggressively pruning and filtering data out

Re:Show HN: Parseable, an open observability datalake, handl... by hagen1778 on Monday October 12, 2026 @04:01AM (#50052956)
Most time series databases are columnar in some way. It is just because sotring and compressing timestamps and values as separate columns is way more efficient. So it is not a trait on its own, unless you compare yourself with Postgres.

> a) there's no per-series inverted index and labels are parquet columns so memory is not bounded by cardinality

Lack of inverted index is trade-off, in the same way as having that index. Default per-label inverted index in Prometheus, Mimir, VictoriaMetrics is convenient for users - requires no configuration from user side, all read queries, despite which time series selector was used, are as fast as they could be. Although, VictoriaMetrics doesn't store its whole index in-memory. It only stores what's "hot" now.

If you don't index all the labels, then you either asking user to choose what matters most, or intelligently decides what should be indexed. Either of these choice can take you to a corner case when query speed will be negatively affected despite having enough resources to burn.

> c) columnar store helps with faster data scanning by aggressively pruning and filtering data out

Columnar layout is not enough. Faster reads are achieved by reducing random seeks. A sequential read of a big chunk of data will always outperform multiple reads that pull the same data but from many places.

The same data can be stored in a columnar database with and without preserving data-locality (a trait that helps doing sequential reads). Let's talk time series. If in columnar database I'd decide to sort the columns by some common label and not by "timestamps" - data locality will be lost for typical queries that request "last 30min" of data.