[ 
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.


> 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)

Reply via email to