Uploaded image for project: 'MariaDB ColumnStore'
  1. MariaDB ColumnStore
  2. MCOL-4923

Benchmark factoring out the constant string in dictionary filtering.

    XMLWordPrintable

Details

    • New Feature
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Done
    • None
    • N/A
    • MariaDB Server
    • None
    • 2021-15

    Description

      All but two predicates for filtering operations over dictionaries' rows are implemented using strnncollsp function from MariaDB server code. Here's a link to an include fiile which implements such function (it is included in several *.c files and is more or less duplicated).

      Note that we initialize two scanners and perform two scanner_next functions in the loop. One such scanner_next function is implemented above in the same file and it also sports a loop and pretty heavy logic inside and outside of that loop.

      Usually, these scanning operations are performed until there is a difference or an end of both of strings.

      But, for one contrived example, the TPCH benchmark suite sports customer table with c_name column which contains "names" such as 'customer#000000010' - e.g., one cn expect that some 10-11 first characters will be different. Also, c_name column has a case-insensitive collation which is lightweight yet still requires some processing. And, last but not least, queries in TPCH appear to use a lot of filtering over concrete customer names.

      It appears that it is worthwhile to have scanning performed only once for a string that is constant in the filtering operation.

      Right now there's no such functionality in the server. Alexander Barkov said that it may be beneficial for server too.

      The goal of this task is to implement that functionalitty for some (not all - for two or three collations, some simple like latin1_swedish_ci and some complex like utf8_ci) and perform benchmarks. I think it is possible to just copy out some code from strings directory of the server just to demonstrate what can be achieved.

      Attachments

        Activity

          People

            sergey.zefirov Sergey Zefirov
            sergey.zefirov Sergey Zefirov
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.