4 ms·
I didn't know the product at all, at a glance this looks amazing to be for BI/alerting on streaming time series data. Anyone who wants to chime in on whether t
by isoprophlex 9y ago
I didn't know the product at all, at a glance this looks amazing to be for BI/alerting on streaming time series data.
Anyone who wants to chime in on whether this has fit your requirements for time series data processing? Thanks!
- iaabtpbtpnn 9y agoIf it's a Postgres extension for time-series data, I wonder how it compares to TimescaleDB, which I recently discovered and have been evaluating.
- chucky_z 9y agoI don't know TimescaleDB but PipelineDB is more about real time constant aggregation. You can do like a rolling sum that's has many inserts a second for a very long time, and the speed of retrieving the sum and inserts remain pretty constant.
- grammr 9y agoHi there! I'm one of the PipelineDB founders. This description is correct. The unique thing about PipelineDB is that it doesn't store granular data. Once all aggregates are incrementally updated, the raw input rows as discarded and only aggregate output is stored. This approach dramatically limits disk IO and long-term storage requirements, and enables super high performance in most cases on modest hardware. PipelineDB has been used in production for nearly four years now and is used by Fortune 100 companies.
- doh 9y agoSo once you make it as an extension, any chance to mix PipelineDB with Citus in one cluster? My hunch says that it's possible as far as there is some additional computation done with the future aggregate query on the coordinator in Citus. PPDB looks interesting, but we also need to keep the underlying raw data and multiple clusters require more complex pipeline.
- grammr 9y agoWe haven't looked too far into integrations with any existing systems at this point, but if there was significant user demand for it on both ends we'd definitely be open to it. One thing I will mention here is that we do have plans to add support for persistent streams [0] after version 1.0.0 is released. We've learned a lot over the years about how our users/customers interact with streams in production and persistent streams will be built atop that foundation of understanding. Please feel free to comment on that issue with your use case, requirements, etc. and we'll see what we can do! [0] https://github.com/pipelinedb/pipelinedb/issues/1463 https://github.com/pipelinedb/pipelinedb/issues/1463
- doh 9y agoPersistent streams are interesting, but we spent years refining our ETL and building it around Citus, that it would be very complicated to separate those two. I will wait for the extension and do some testing.
- 75dvtwin 9y agoPipeline DB would be a great fit, it seems, for 'Speed-layer' part of lambda architecture. While the postgresql underneath would work as a 'batch layer'. A pair of both would only be missing an in-memory and on disk column-oriented 'analytics' tier (perhaps as separate instance that's being continuously fed from the first two?). I think I had seen that PostgreSQL also has columnar store extension, wondering if that would work close the remaining gap for the analytics instance.
- chucky_z 9y agofdw_cstore! It's a workable columnar store, but honestly if you have "big" data it's only passable. It is much easier to run than other columar stores however.
- manigandham 9y agoTimescaleDB is an extension that auto-partitions a table by a time column to give you faster queries based on time ranges. This is great for timeseries data (which is just data with time as part of the primary key) and allows for fast ingest with recent time partitions being smaller and in-memory. PipelineDB is a Postgres build (and soon to be extension) that runs real-time continuous "queries" on incoming data as materialized views. This is similar to the Kafka KSQL or Spark streaming and is effectively taking in a constant stream of data and re-running a query incrementally to give you up-to-date analytics with windowing. Neither products are full-scale data warehouse solutions. TimescaleDB is currently limited to time-based partitioning, single-node only, and still uses standard row-based tables. PipelineDB discards raw incoming data and only keeps materialized views so you must know your queries beforehand. Both give you the advantage of using full SQL and the rest of the postgres ecosystem to easily join and analyze with other operational data without doing lots of ETL. Another worthy mention is CitusDB which is another auto-sharding extension to Postgres, mainly focused on scaling horizontally for OLTP scenarios.
- RobAtticus 9y ago>TimescaleDB is currently limited to time-based partitioning To be clear, TimescaleDB supports partitioning by other dimensions, as long as one dimension is time-based. That is, one partition must be time based, but you can additional dimensions as well (e.g. device_id).
- brightball 9y agoHad never heard of this either but it does look really interesting.
- Fergi 9y agoPowering real-time reporting dashboards is definitely the #1 use case we see for PipelineDB from open source users and customers of our new SaaS product powered by PipelineDB, called Stride (stride.io).
- merb 9y agowell the continous view, looks also useful for a good materialization technique for some kind of searchable "view"/table. i.e. it could probably be used to built a "cheap" elasticsearch without needing to import data into another system since you could just use triggers to update the continous view.