top | item 45000827

(no title)

shivasaxena | 6 months ago

Curious if anyone know any implementation where they would be automatically updated?

Now that would be awesome!

EDIT: come to think of it, it would require going through CDC stream, and figuring out if any of the tables affected are a dependency of given materialized view. Maybe with some ast parsing as well to handle tenants/partitions. Sounds like it can work?

discuss

order

magicalhippo|6 months ago

MSSQL and Sybase SQLAnywhere has options for that, we use it a fair bit with both.

At least on SQLAnywhere it seems to be implemented using triggers, ie not unlike what one would do if rolling your own.

4ndrewl|6 months ago

Oracle will do - a couple of options, either a full rebuild or an incremental rebuild.

tanelpoder|6 months ago

Also, latest Oracle version (23ai) has added "concurrent on-commit fast refresh" functionality, where concurrent transactions' changes are rolled up to the MV concurrently (previously these refreshes were serialized).

https://oracle-base.com/articles/23/materialized-view-concur...

From the article: "Concurrent refreshes will only happen if there are no overlaps in the materialized view rows updated by each session."

cyanydeez|6 months ago

Postgesql knows when you try to drop its dependencies so shouldnt be to hard to watch traffic