Timescaledb: TimescaleDB vs. CockroachDB

Created on 1 Feb 2018  路  2Comments  路  Source: timescale/timescaledb

Hi there,

I couldn't find a comparaison table between TimescaleDB and CockroachDB.

I would like to use a single SQL database for both relational data and time-series (a few thousands events per minute) so I can simplify my stack.

I'm well aware TimescaleDB looks like the perfect fit for my use case but I would like to have your opinion about this since CockroachDB seems like a reasonable choice too. What's your advice?

question

Most helpful comment

TimescaleDB and CockroachDB are solving very different problems.

CockroachDB is a general OLTP database that is optimized for survivability in terms of many node failures spread across geographic boundaries (hence its name!). So if you need to run your data across multiple datacenters (say, U.S. and Europe), such that even if an entire datacenter fails, your database will still be available, then Cockroach is the way to go. If it not yet better from a query-performance perspective than plain postgres, however.

In contrast, TimescaleDB is optimized for insert and query performance for time-series workloads, which are more analytical in nature. But, it doesn't currently give you anything special for survivability above what plain postgres gives you with streaming replication.

We very much respect the work that is going into CockroachDB. It's just solving a different problem than TimescaleDB.

All 2 comments

A few thousand events/min is a low enough rate that vanilla PostgreSQL with native table partitioning would be fine.
TimescaleDB is so easy to use though that I would recommend it even at those data rates.
IMO you should try PostgreSQL + TimescaleDB just for stack simplification.

TimescaleDB and CockroachDB are solving very different problems.

CockroachDB is a general OLTP database that is optimized for survivability in terms of many node failures spread across geographic boundaries (hence its name!). So if you need to run your data across multiple datacenters (say, U.S. and Europe), such that even if an entire datacenter fails, your database will still be available, then Cockroach is the way to go. If it not yet better from a query-performance perspective than plain postgres, however.

In contrast, TimescaleDB is optimized for insert and query performance for time-series workloads, which are more analytical in nature. But, it doesn't currently give you anything special for survivability above what plain postgres gives you with streaming replication.

We very much respect the work that is going into CockroachDB. It's just solving a different problem than TimescaleDB.

Was this page helpful?
0 / 5 - 0 ratings