[
https://issues.apache.org/jira/browse/OPTIQ-428?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Julian Hyde updated OPTIQ-428:
------------------------------
Description:
Use an optimization algorithm to suggest which tiles of a lattice to
materialize.
The standard algorithm is described in <a
href="http://web.eecs.umich.edu/~jag/eecs584/papers/implementing_data_cube.pdf">Implementing
data cubes efficiently; Harinarayan, Rajaraman, Ullman 1996</a>, and
pentaho-aggdesigner implements it.
Add 'algorithm' and 'rowCountEstimate' attributes to the lattice JSON element:
{code:javascript}
{
name: 'star',
algorithm: true,
rowCountEstimate: 86000,
sql: "select 1 from \"foodmart\".\"sales_fact_1997\" as \"s\"\njoin
\"foodmart\".\"product\" as \"p\" using (\"product_id\")\njoin
\"foodmart\".\"time_by_day\" as \"t\" using (\"time_id\")\njoin
\"foodmart\".\"product_class\" as \"pc\" on \"p\".\"product_class_id\" =
\"pc\".\"product_class_id\"",
auto: false,
defaultMeasures: [ {
agg: 'sum',
args: 'unit_sales'
}, {
agg: 'sum',
args: 'store_sales'
}, {
agg: 'count'
} ],
tiles: [ {
dimensions: [ 'the_year', ['t', 'quarter'] ],
measures: [ ]
} ]
}
{code}
{{algorithm}} enables the optimization algorithm.
{{rowCountEstimate}} specifies an estimate of the number of rows in the
lattice. If not specified, 1000 is used.
was:
Use an optimization algorithm to suggest which tiles of a lattice to
materialize.
The standard algorithm is described in <a
href="http://web.eecs.umich.edu/~jag/eecs584/papers/implementing_data_cube.pdf">Implementing
data cubes efficiently [Harinarayan, Rajaraman, Ullman 1996]</a>, and
pentaho-aggdesigner implements it.
Add 'algorithm' and 'rowCountEstimate' attributes to the lattice JSON element:
{code:javascript}
{
name: 'star',
algorithm: true,
rowCountEstimate: 86000,
sql: "select 1 from \"foodmart\".\"sales_fact_1997\" as \"s\"\njoin
\"foodmart\".\"product\" as \"p\" using (\"product_id\")\njoin
\"foodmart\".\"time_by_day\" as \"t\" using (\"time_id\")\njoin
\"foodmart\".\"product_class\" as \"pc\" on \"p\".\"product_class_id\" =
\"pc\".\"product_class_id\"",
auto: false,
defaultMeasures: [ {
agg: 'sum',
args: 'unit_sales'
}, {
agg: 'sum',
args: 'store_sales'
}, {
agg: 'count'
} ],
tiles: [ {
dimensions: [ 'the_year', ['t', 'quarter'] ],
measures: [ ]
} ]
}
{code}
{{algorithm}} enables the optimization algorithm.
{{rowCountEstimate}} specifies an estimate of the number of rows in the
lattice. If not specified, 1000 is used.
> Use optimization algorithm to suggest which tiles of a lattice to materialize
> -----------------------------------------------------------------------------
>
> Key: OPTIQ-428
> URL: https://issues.apache.org/jira/browse/OPTIQ-428
> Project: Optiq
> Issue Type: New Feature
> Reporter: Julian Hyde
> Assignee: Julian Hyde
>
> Use an optimization algorithm to suggest which tiles of a lattice to
> materialize.
> The standard algorithm is described in <a
> href="http://web.eecs.umich.edu/~jag/eecs584/papers/implementing_data_cube.pdf">Implementing
> data cubes efficiently; Harinarayan, Rajaraman, Ullman 1996</a>, and
> pentaho-aggdesigner implements it.
> Add 'algorithm' and 'rowCountEstimate' attributes to the lattice JSON element:
> {code:javascript}
> {
> name: 'star',
> algorithm: true,
> rowCountEstimate: 86000,
> sql: "select 1 from \"foodmart\".\"sales_fact_1997\" as \"s\"\njoin
> \"foodmart\".\"product\" as \"p\" using (\"product_id\")\njoin
> \"foodmart\".\"time_by_day\" as \"t\" using (\"time_id\")\njoin
> \"foodmart\".\"product_class\" as \"pc\" on \"p\".\"product_class_id\" =
> \"pc\".\"product_class_id\"",
> auto: false,
> defaultMeasures: [ {
> agg: 'sum',
> args: 'unit_sales'
> }, {
> agg: 'sum',
> args: 'store_sales'
> }, {
> agg: 'count'
> } ],
> tiles: [ {
> dimensions: [ 'the_year', ['t', 'quarter'] ],
> measures: [ ]
> } ]
> }
> {code}
> {{algorithm}} enables the optimization algorithm.
> {{rowCountEstimate}} specifies an estimate of the number of rows in the
> lattice. If not specified, 1000 is used.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)