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

Implement an auxiliary (hidden) column to improve DELETE performance.

    XMLWordPrintable

Details

    • New Feature
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • None
    • 22.08.1
    • None
    • None
    • 2021-17

    Description

      This task is to implement an auxiliary (AUX) column in ColumnStore to improve the performance of DELETE operations.

      This will be accomplished by implementing a hidden 1-byte boolean column with 0 indicating the column value is disabled (deleted) and 1 indicating the column value is enabled (active). Idea is to improve the performance of DELETE operation by simply toggling the AUX column value from 1 to 0, instead of the current implementation which writes empty magic values for all columns in the table for all the impacted rows. Empty magics are the current method in ColumnStore to detect if a given row is deleted or not. So for a wide table, the current method would lead to significant performance slowdown when performing DELETEs.

      Points to note:
      -New tables created in the CS release with this feature are subject to DELETE optimization.
      -Existing table w/o the aux column is not affected (no DELETE optimization). MCOL-5122 is created as an enhancement of this ticket to allow a user to create the AUX column for an existing table which was created with an older version of ColumnStore without the AUX column feature.

      Design Document for the feature:

      https://docs.google.com/document/d/1OAWYxlsfgMwPoeDtY6wZ9JcoCubFyodQ63cCZ9NjLCI/edit?usp=sharing

      Attachments

        1. DELETE_Performance_Test_GCP.png
          50 kB
          Gagan Goel
        2. DELETE_Performance_Test_Local_Machine.png
          43 kB
          Gagan Goel
        3. mcol5021-dataset.tgz
          6.39 MB
          Gagan Goel
        4. mcol5021-ddls.tgz
          0.7 kB
          Gagan Goel

        Issue Links

          Activity

            People

              tntnatbry Gagan Goel (Inactive)
              tntnatbry Gagan Goel (Inactive)
              Roman Roman
              Daniel Lee Daniel Lee (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              6 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.