An actor (
maintains the state of all
materializations in the system and is wrapped in a service
for access from other parts of the system.
Optimizer rules allow Calcite to rewrite queries using materializations, if they are valid (that is, contain the same result as executing their defining query) and lower cost.
In future, the actor may manage the process of updating materializations, instantiating materializations from the intermediate results of queries, and recognize what materializations would be useful based on actual query load.
LatticeStatisticProviderthat delegates to an underlying provider.Structure that allows materialized views based upon a star schema to be recognized and recommended.Column in a lattice.Lattice builder.Column in a lattice.Column in a lattice that is based upon a SQL expression.A measure within a
Lattice.The information necessary to convert a column to SQL.Materialized aggregate within a lattice.Tile builder.Non-root node in a
Lattice.Source relation of a lattice.Root node in a
Lattice.Estimates row counts for a lattice and its attributes.Algorithm that suggests a set of lattices.Table registered in the graph.Unique identifier for a materialization.Manages the collection of materialized tables known to the system, and the process by which they become valid and invalid.Default implementation of
MaterializationService.TableFactory.Creates tables that represent a materialized view.Estimates row counts for tables and columns, and whether combinations of columns form primary/unique and foreign keys.Definition of a particular combination of dimensions and measures of a lattice that is the basis of a materialization.Algorithm that suggests a set of initial tiles (materialized aggregate views) for a given lattice.