A filtered view is a queryable filter of a table,
collection, or another view. A view can also be referred
to as a result set. A filtered view can be created by filtering an existing
table or view using the /filter
endpoint.
Filtered views can be updated to insert the missing data points for a series from the underlying table using /update/records/byseries.
As they are result sets, and given the need to minimize memory usage, filtered views are given a default time-to-live, after which they will expire and be removed from memory. Each access of the filtered view causes the remaining time-to-live to be reset. Thus, a filtered view accessed more frequently than its time-to-live will effectively remain in memory indefinitely.
Filtered views have the same naming criteria as tables.
To create a filtered view, the /filter endpoint requires three parameters:
In Python, given source table my_table
, a filtered view can be created
via:
gpudb.filter(
table_name = "my_table",
view_name = "my_new_view",
expression = "x > 0"
)
A filtered view has a relatively lower memory footprint compared to a join view or an in-memory table, such as a projection or union. Read more about in-memory tables and their relative memory implications on In-Memory Tables.