Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-429

Add statistics SPI for lattice optimization algorithm

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.4.0-incubating
    • None
    • None

    Description

      In OPTIQ-427 we added an an optimization algorithm to choose an initial set of tiles to materialize. The rowCountEstimate attribute is the number of rows in the lattice.

      Add an SPI to generate estimates of (a) the number of rows in the lattice, (b) the number of rows in a given tile of the lattice (specified by its dimensions).

      Also add a default implementation of the SPI that executes SQL queries, caches the results, and uses some kind of approximation for the cardinalities of sets of attributes e.g. if quarter has 4 distinct values and year has 10 distinct values then (year, quarter) has 40 distinct values (or perhaps an expectation of 39.79 distinct values in a table with 3,650 rows, per the formula n . (1 - ((n - 1) / n) ^ p)).

      Implementations that read stats from external stats tables, or execute SQL that samples a small percentage of the rows, would also be possible.

      Attachments

        Issue Links

          Activity

            People

              julianhyde Julian Hyde
              julianhyde Julian Hyde
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: