How does this compare to TimescaleDB? Are they solving the same problem in different ways or are they complementary projects? If it's the latter, what would that look like?
PipelineDB 1.0 – High-Performance Time-Series Aggregation for PostgreSQL
41–50 of 64 posts
Re: PipelineDB 1.0 – High-Performance Time-Series Aggregation for PostgreSQL
#42PipelineDB = Insert data with time component to be aggregated on the fly into always up-to-date summary tables using a variety of aggregation functions. Raw data is not persisted. TimescaleDB = Store data with time component into "hypertable" that is automatically partitioned by time, for faster queries when limited by time range. Single node and has helper methods to make time based bucketing and aggregation easier.…
Thanks for the great summary, manigandham. We're actively working on the scale-out version of TimescaleDB that will allow you to transparently shard hypertables across many servers. Hope to announce more specifics in the next several months.
Re: PipelineDB 1.0 – High-Performance Time-Series Aggregation for PostgreSQL
#43How does this compare to Citus?
Re: PipelineDB 1.0 – High-Performance Time-Series Aggregation for PostgreSQL
#44Interesting, this seems to be the other side of the postgres time series extension coin. TimescaleDB for writes, PipelineDB for reads.
Re: PipelineDB 1.0 – High-Performance Time-Series Aggregation for PostgreSQL
#45PipelineDB = Insert data with time component to be aggregated on the fly into always up-to-date summary tables using a variety of aggregation functions. Raw data is not persisted. TimescaleDB = Store data with time component into "hypertable" that is automatically partitioned by time, for faster queries when limited by time range. Single node and has helper methods to make time based bucketing and aggregation easier.…
Re: PipelineDB 1.0 – High-Performance Time-Series Aggregation for PostgreSQL
#46PipelineDB = Insert data with time component to be aggregated on the fly into always up-to-date summary tables using a variety of aggregation functions. Raw data is not persisted. TimescaleDB = Store data with time component into "hypertable" that is automatically partitioned by time, for faster queries when limited by time range. Single node and has helper methods to make time based bucketing and aggregation easier.…
Re: PipelineDB 1.0 – High-Performance Time-Series Aggregation for PostgreSQL
#47PipelineDB = Insert data with time component to be aggregated on the fly into always up-to-date summary tables using a variety of aggregation functions. Raw data is not persisted. TimescaleDB = Store data with time component into "hypertable" that is automatically partitioned by time, for faster queries when limited by time range. Single node and has helper methods to make time based bucketing and aggregation easier.…
Minor clarification: do you actually need to choose TimescaleDB xor Citus? I thought the fact that both are Postgres extensions (as opposed to forks) meant that they could be used jointly.
Timescale is limited to time-based partitioning on one node while Citus uses a master node with partitioning across multiple worker nodes. I don't see many situations why you would run both.
If you're just doing single-node time-series then use Timescale. If you have Citus then you can use the native partitions in 11 or pg_partman to add a secondary partitioning dimension.
Re: PipelineDB 1.0 – High-Performance Time-Series Aggregation for PostgreSQL
#48This basically means Postgres now has continuous views and a toolkbox of functions for running calculations. Combined with PG11 partitioning features and better parallel gusty execution, PG is an even more formidable choice for medium sized data.
Re: PipelineDB 1.0 – High-Performance Time-Series Aggregation for PostgreSQL
#49Earlier quoted context omitted.
Thanks for the great summary, manigandham. We're actively working on the scale-out version of TimescaleDB that will allow you to transparently shard hypertables across many servers. Hope to announce more specifics in the next several months.
What is wrong with citus? Why reimplement it?