chore(filter): Add the flat_filters database view #3774
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context
Today, we are not able to use the cache system for organization using Clickhouse event store, because we are not able to easily identify if an event matches filters.
As a result all action requiring to compute the usage (current usage, daily_usage...) have to recompute the full usage from 0 every time for all billable metric having received at least 1 event during the period. This is highly inefficient especially for charges with filters, has one filter will lead to one DB query.
With Postgres event store, we are able to use a system with charge filter granularity, we would like to use the same logic for the Clickhouse one.
Description
This PR is a first step to add caching at Clickouse level, it adds a new
flat_filters
database view. This view will be used on event_processor side to check filters matching on all events received for organization using the Clickhouse store.