-
Notifications
You must be signed in to change notification settings - Fork 852
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Continuous Aggregates finals form #4269
Continuous Aggregates finals form #4269
Conversation
6067dd1
to
04911fd
Compare
Codecov Report
@@ Coverage Diff @@
## main #4269 +/- ##
==========================================
+ Coverage 90.68% 90.80% +0.12%
==========================================
Files 215 217 +2
Lines 39704 40107 +403
==========================================
+ Hits 36005 36421 +416
+ Misses 3699 3686 -13
Continue to review full report at Codecov.
|
9c2367b
to
23955af
Compare
23955af
to
e62566b
Compare
finals form
9a7f0d2
to
f4b1d3e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove the backquotes from the title line. I do not think it is a big issue, but we decided to not use those in the title line, while using in the body is fine.
finals form
Timescale 2.7 released a new version of Continuous Aggregate (timescale#4269) that store the final aggregation state instead of the byte array of the partial aggregate state, offering multiple opportunities of optimizations as well a more compact form. In 2.10.0 released on February 2023 the Continuous Aggregate old format deprecation was announced. With this PR the ability of creating Continuous Aggregate in the old format was removed, but we still support migrate from the old to the new format by running the `cagg_migrate` procedure. This is the continuation of the PR timescale#5977 started by @pdipesh02. References: https://docs.timescale.com/api/latest/continuous-aggregates/cagg_migrate/ https://github.com/timescale/timescaledb/releases/tag/2.10.0 https://github.com/timescale/timescaledb/releases/tag/2.7.0 timescale#5977
Timescale 2.7 released a new version of Continuous Aggregate (timescale#4269) that store the final aggregation state instead of the byte array of the partial aggregate state, offering multiple opportunities of optimizations as well a more compact form. In 2.10.0 released on February 2023 the Continuous Aggregate old format deprecation was announced. With this PR the ability of creating Continuous Aggregate in the old format was removed, but we still support migrate from the old to the new format by running the `cagg_migrate` procedure. This is the continuation of the PR timescale#5977 started by @pdipesh02. References: https://docs.timescale.com/api/latest/continuous-aggregates/cagg_migrate/ https://github.com/timescale/timescaledb/releases/tag/2.10.0 https://github.com/timescale/timescaledb/releases/tag/2.7.0 timescale#5977
Timescale 2.7 released a new version of Continuous Aggregate (timescale#4269) that store the final aggregation state instead of the byte array of the partial aggregate state, offering multiple opportunities of optimizations as well a more compact form. In 2.10.0 released on February 2023 the Continuous Aggregate old format deprecation was announced. With this PR the ability of creating Continuous Aggregate in the old format was removed, but we still support migrate from the old to the new format by running the `cagg_migrate` procedure. This is the continuation of the PR timescale#5977 started by @pdipesh02. References: https://docs.timescale.com/api/latest/continuous-aggregates/cagg_migrate/ https://github.com/timescale/timescaledb/releases/tag/2.10.0 https://github.com/timescale/timescaledb/releases/tag/2.7.0 timescale#5977
Timescale 2.7 released a new version of Continuous Aggregate (timescale#4269) that store the final aggregation state instead of the byte array of the partial aggregate state, offering multiple opportunities of optimizations as well a more compact form. In 2.10.0 released on February 2023 the Continuous Aggregate old format deprecation was announced. With this PR the ability of creating Continuous Aggregate in the old format was removed, but we still support migrate from the old to the new format by running the `cagg_migrate` procedure. This is the continuation of the PR timescale#5977 started by @pdipesh02. References: https://docs.timescale.com/api/latest/continuous-aggregates/cagg_migrate/ https://github.com/timescale/timescaledb/releases/tag/2.10.0 https://github.com/timescale/timescaledb/releases/tag/2.7.0 timescale#5977
Timescale 2.7 released a new version of Continuous Aggregate (timescale#4269) that store the final aggregation state instead of the byte array of the partial aggregate state, offering multiple opportunities of optimizations as well a more compact form. In 2.10.0 released on February 2023 the Continuous Aggregate old format deprecation was announced. With this PR the ability of creating Continuous Aggregate in the old format was removed, but we still support migrate from the old to the new format by running the `cagg_migrate` procedure. This is the continuation of the PR timescale#5977 started by @pdipesh02. References: https://docs.timescale.com/api/latest/continuous-aggregates/cagg_migrate/ https://github.com/timescale/timescaledb/releases/tag/2.10.0 https://github.com/timescale/timescaledb/releases/tag/2.7.0 timescale#5977
Timescale 2.7 released a new version of Continuous Aggregate (timescale#4269) that store the final aggregation state instead of the byte array of the partial aggregate state, offering multiple opportunities of optimizations as well a more compact form. In 2.10.0 released on February 2023 the Continuous Aggregate old format deprecation was announced. With this PR the ability of creating Continuous Aggregate in the old format was removed, but we still support migrate from the old to the new format by running the `cagg_migrate` procedure. This is the continuation of the PR timescale#5977 started by @pdipesh02. References: https://docs.timescale.com/api/latest/continuous-aggregates/cagg_migrate/ https://github.com/timescale/timescaledb/releases/tag/2.10.0 https://github.com/timescale/timescaledb/releases/tag/2.7.0 timescale#5977
Timescale 2.7 released a new version of Continuous Aggregate (timescale#4269) that store the final aggregation state instead of the byte array of the partial aggregate state, offering multiple opportunities of optimizations as well a more compact form. In 2.10.0 released on February 2023 the Continuous Aggregate old format deprecation was announced. With this PR the ability of creating Continuous Aggregate in the old format was removed, but we still support migrate from the old to the new format by running the `cagg_migrate` procedure. This is the continuation of the PR timescale#5977 started by @pdipesh02. References: https://docs.timescale.com/api/latest/continuous-aggregates/cagg_migrate/ https://github.com/timescale/timescaledb/releases/tag/2.10.0 https://github.com/timescale/timescaledb/releases/tag/2.7.0 timescale#5977
Timescale 2.7 released a new version of Continuous Aggregate (#4269) that store the final aggregation state instead of the byte array of the partial aggregate state, offering multiple opportunities of optimizations as well a more compact form. In 2.10.0 released on February 2023 the Continuous Aggregate old format deprecation was announced. With this PR the ability of creating Continuous Aggregate in the old format was removed, but we still support migrate from the old to the new format by running the `cagg_migrate` procedure. This is the continuation of the PR #5977 started by @pdipesh02. References: https://docs.timescale.com/api/latest/continuous-aggregates/cagg_migrate/ https://github.com/timescale/timescaledb/releases/tag/2.10.0 https://github.com/timescale/timescaledb/releases/tag/2.7.0 #5977
Historically we preserve chunk metadata because the old format of the Continuous Aggregate has the `chunk_id` column in the materialization hypertable so in order to don't have chunk ids left over there we just mark it as dropped whe dropping chunks. In timescale#4269 we introduced a new Continuous Aggregate format that don't store the `chunk_id` in the materialization hypertable anymore so it's safe to also remove the metadata when dropping chunk and all associated Continuous Aggregates are in the new format. Also added a post-update SQL script to cleanup unecessary dropped chunk metadata in our catalog.
Historically we preserve chunk metadata because the old format of the Continuous Aggregate has the `chunk_id` column in the materialization hypertable so in order to don't have chunk ids left over there we just mark it as dropped whe dropping chunks. In timescale#4269 we introduced a new Continuous Aggregate format that don't store the `chunk_id` in the materialization hypertable anymore so it's safe to also remove the metadata when dropping chunk and all associated Continuous Aggregates are in the new format. Also added a post-update SQL script to cleanup unecessary dropped chunk metadata in our catalog. Fixes timescale#6570
Historically we preserve chunk metadata because the old format of the Continuous Aggregate has the `chunk_id` column in the materialization hypertable so in order to don't have chunk ids left over there we just mark it as dropped whe dropping chunks. In timescale#4269 we introduced a new Continuous Aggregate format that don't store the `chunk_id` in the materialization hypertable anymore so it's safe to also remove the metadata when dropping chunk and all associated Continuous Aggregates are in the new format. Also added a post-update SQL script to cleanup unecessary dropped chunk metadata in our catalog. Fixes timescale#6570
Historically we preserve chunk metadata because the old format of the Continuous Aggregate has the `chunk_id` column in the materialization hypertable so in order to don't have chunk ids left over there we just mark it as dropped whe dropping chunks. In timescale#4269 we introduced a new Continuous Aggregate format that don't store the `chunk_id` in the materialization hypertable anymore so it's safe to also remove the metadata when dropping chunk and all associated Continuous Aggregates are in the new format. Also added a post-update SQL script to cleanup unecessary dropped chunk metadata in our catalog. Closes timescale#6570
Historically we preserve chunk metadata because the old format of the Continuous Aggregate has the `chunk_id` column in the materialization hypertable so in order to don't have chunk ids left over there we just mark it as dropped whe dropping chunks. In timescale#4269 we introduced a new Continuous Aggregate format that don't store the `chunk_id` in the materialization hypertable anymore so it's safe to also remove the metadata when dropping chunk and all associated Continuous Aggregates are in the new format. Also added a post-update SQL script to cleanup unecessary dropped chunk metadata in our catalog. Closes timescale#6570
Historically we preserve chunk metadata because the old format of the Continuous Aggregate has the `chunk_id` column in the materialization hypertable so in order to don't have chunk ids left over there we just mark it as dropped whe dropping chunks. In timescale#4269 we introduced a new Continuous Aggregate format that don't store the `chunk_id` in the materialization hypertable anymore so it's safe to also remove the metadata when dropping chunk and all associated Continuous Aggregates are in the new format. Also added a post-update SQL script to cleanup unecessary dropped chunk metadata in our catalog. Closes timescale#6570
Historically we preserve chunk metadata because the old format of the Continuous Aggregate has the `chunk_id` column in the materialization hypertable so in order to don't have chunk ids left over there we just mark it as dropped whe dropping chunks. In timescale#4269 we introduced a new Continuous Aggregate format that don't store the `chunk_id` in the materialization hypertable anymore so it's safe to also remove the metadata when dropping chunk and all associated Continuous Aggregates are in the new format. Also added a post-update SQL script to cleanup unecessary dropped chunk metadata in our catalog. Closes timescale#6570
Historically we preserve chunk metadata because the old format of the Continuous Aggregate has the `chunk_id` column in the materialization hypertable so in order to don't have chunk ids left over there we just mark it as dropped whe dropping chunks. In timescale#4269 we introduced a new Continuous Aggregate format that don't store the `chunk_id` in the materialization hypertable anymore so it's safe to also remove the metadata when dropping chunk and all associated Continuous Aggregates are in the new format. Also added a post-update SQL script to cleanup unecessary dropped chunk metadata in our catalog. Closes timescale#6570
Historically we preserve chunk metadata because the old format of the Continuous Aggregate has the `chunk_id` column in the materialization hypertable so in order to don't have chunk ids left over there we just mark it as dropped whe dropping chunks. In timescale#4269 we introduced a new Continuous Aggregate format that don't store the `chunk_id` in the materialization hypertable anymore so it's safe to also remove the metadata when dropping chunk and all associated Continuous Aggregates are in the new format. Also added a post-update SQL script to cleanup unecessary dropped chunk metadata in our catalog. Closes timescale#6570
Historically we preserve chunk metadata because the old format of the Continuous Aggregate has the `chunk_id` column in the materialization hypertable so in order to don't have chunk ids left over there we just mark it as dropped whe dropping chunks. In timescale#4269 we introduced a new Continuous Aggregate format that don't store the `chunk_id` in the materialization hypertable anymore so it's safe to also remove the metadata when dropping chunk and all associated Continuous Aggregates are in the new format. Also added a post-update SQL script to cleanup unecessary dropped chunk metadata in our catalog. Closes timescale#6570
Historically we preserve chunk metadata because the old format of the Continuous Aggregate has the `chunk_id` column in the materialization hypertable so in order to don't have chunk ids left over there we just mark it as dropped whe dropping chunks. In timescale#4269 we introduced a new Continuous Aggregate format that don't store the `chunk_id` in the materialization hypertable anymore so it's safe to also remove the metadata when dropping chunk and all associated Continuous Aggregates are in the new format. Also added a post-update SQL script to cleanup unecessary dropped chunk metadata in our catalog. Closes timescale#6570
Historically we preserve chunk metadata because the old format of the Continuous Aggregate has the `chunk_id` column in the materialization hypertable so in order to don't have chunk ids left over there we just mark it as dropped whe dropping chunks. In timescale#4269 we introduced a new Continuous Aggregate format that don't store the `chunk_id` in the materialization hypertable anymore so it's safe to also remove the metadata when dropping chunk and all associated Continuous Aggregates are in the new format. Also added a post-update SQL script to cleanup unecessary dropped chunk metadata in our catalog. Closes timescale#6570
Historically we preserve chunk metadata because the old format of the Continuous Aggregate has the `chunk_id` column in the materialization hypertable so in order to don't have chunk ids left over there we just mark it as dropped whe dropping chunks. In timescale#4269 we introduced a new Continuous Aggregate format that don't store the `chunk_id` in the materialization hypertable anymore so it's safe to also remove the metadata when dropping chunk and all associated Continuous Aggregates are in the new format. Also added a post-update SQL script to cleanup unecessary dropped chunk metadata in our catalog. Closes timescale#6570
Historically we preserve chunk metadata because the old format of the Continuous Aggregate has the `chunk_id` column in the materialization hypertable so in order to don't have chunk ids left over there we just mark it as dropped whe dropping chunks. In timescale#4269 we introduced a new Continuous Aggregate format that don't store the `chunk_id` in the materialization hypertable anymore so it's safe to also remove the metadata when dropping chunk and all associated Continuous Aggregates are in the new format. Also added a post-update SQL script to cleanup unecessary dropped chunk metadata in our catalog. Closes timescale#6570
Historically we preserve chunk metadata because the old format of the Continuous Aggregate has the `chunk_id` column in the materialization hypertable so in order to don't have chunk ids left over there we just mark it as dropped whe dropping chunks. In timescale#4269 we introduced a new Continuous Aggregate format that don't store the `chunk_id` in the materialization hypertable anymore so it's safe to also remove the metadata when dropping chunk and all associated Continuous Aggregates are in the new format. Also added a post-update SQL script to cleanup unecessary dropped chunk metadata in our catalog. Closes timescale#6570
Historically we preserve chunk metadata because the old format of the Continuous Aggregate has the `chunk_id` column in the materialization hypertable so in order to don't have chunk ids left over there we just mark it as dropped when dropping chunks. In timescale#4269 we introduced a new Continuous Aggregate format that don't store the `chunk_id` in the materialization hypertable anymore so it's safe to also remove the metadata when dropping chunk and all associated Continuous Aggregates are in the new format. Also added a post-update SQL script to cleanup unnecessary dropped chunk metadata in our catalog. Closes timescale#6570
Historically we preserve chunk metadata because the old format of the Continuous Aggregate has the `chunk_id` column in the materialization hypertable so in order to don't have chunk ids left over there we just mark it as dropped when dropping chunks. In timescale#4269 we introduced a new Continuous Aggregate format that don't store the `chunk_id` in the materialization hypertable anymore so it's safe to also remove the metadata when dropping chunk and all associated Continuous Aggregates are in the new format. Also added a post-update SQL script to cleanup unnecessary dropped chunk metadata in our catalog. Closes timescale#6570
Historically we preserve chunk metadata because the old format of the Continuous Aggregate has the `chunk_id` column in the materialization hypertable so in order to don't have chunk ids left over there we just mark it as dropped when dropping chunks. In #4269 we introduced a new Continuous Aggregate format that don't store the `chunk_id` in the materialization hypertable anymore so it's safe to also remove the metadata when dropping chunk and all associated Continuous Aggregates are in the new format. Also added a post-update SQL script to cleanup unnecessary dropped chunk metadata in our catalog. Closes #6570
Historically we preserve chunk metadata because the old format of the Continuous Aggregate has the `chunk_id` column in the materialization hypertable so in order to don't have chunk ids left over there we just mark it as dropped when dropping chunks. In #4269 we introduced a new Continuous Aggregate format that don't store the `chunk_id` in the materialization hypertable anymore so it's safe to also remove the metadata when dropping chunk and all associated Continuous Aggregates are in the new format. Also added a post-update SQL script to cleanup unnecessary dropped chunk metadata in our catalog. Closes #6570 (cherry picked from commit 5a359ac)
Historically we preserve chunk metadata because the old format of the Continuous Aggregate has the `chunk_id` column in the materialization hypertable so in order to don't have chunk ids left over there we just mark it as dropped when dropping chunks. In #4269 we introduced a new Continuous Aggregate format that don't store the `chunk_id` in the materialization hypertable anymore so it's safe to also remove the metadata when dropping chunk and all associated Continuous Aggregates are in the new format. Also added a post-update SQL script to cleanup unnecessary dropped chunk metadata in our catalog. Closes #6570 (cherry picked from commit 5a359ac)
Following work started by #4294 to improve performance of Continuous
Aggregates by removing the re-aggregation in the user view.
This PR get rid of
partialize_agg
andfinalize_agg
aggregatefunctions and store the finalized aggregated (plain) data in the
materialization hypertable.
Because we're not storing partials anymore and removed the
re-aggregation, now is be possible to create indexes on aggregated
columns in the materialization hypertable in order to improve the
performance even more.
Also removed restrictions on types of aggregates users can perform
with Continuous Aggregates:
By default new Continuous Aggregates will be created using this new
format, but the previous version (with partials) will be supported.
Users can create the previous style by setting to
false
the storageparamater named
timescaledb.finalized
during the creation of theContinuous Aggregate.
Fixes #4233