Uploaded image for project: 'Percona Server'
  1. Percona Server
  2. PS-4946

Add option to prevent implicit creation of column family in MyRocks

    XMLWordPrintable

    Details

      Description

      Column Families in MyRocks maintain their own mem-table and are always open. Mem-tables consume a fair amount of memory outside of the block cache. Since the creation of a Column Family has a direct impact on the memory footprint of the mysqld process, users should not always have unrestricted, free-reign to implicitly create column families at will. Consider the following example:

      CREATE TABLE t1(
        a INT,
        b INT,
        c INT,
        d INT,
        PRIMARY KEY(a) COMMENT 'the primary key',
        KEY ab(a,b) COMMENT 'key ab',
        KEY bc(b,c) COMMENT 'key bc',
        KEY cd(c,d) COMMENT 'key cd',
        KEY abcd(a,b,c,d) COMMENT 'key abcd') ENGINE=ROCKSDB;
      

      This will result in MyRocks creating Column Families by the names of:

      • 'the primary key'
      • 'key ab'
      • 'key bc'
      • 'key cd'
      • 'key abcd'

      The fact that any index comment will result in a new column family is a different problem unto itself (see PS-4947), but, this now can not be changed in 5.7.  Regardless, even if the intention was to create a new column family, due to the impact on the required resources, it should be a managed/privileged option at the minimum controlled by a read only server variable.

        Smart Checklist

          Attachments

            Activity

              People

              • Assignee:
                george.lorch George Lorch
                Reporter:
                george.lorch George Lorch
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - Not Specified
                  Not Specified
                  Logged:
                  Time Spent - 7 hours, 30 minutes
                  7h 30m