Release Notes for MariaDB Enterprise ColumnStore 6.1.1

MariaDB Enterprise ColumnStore is a columnar storage engine included with MariaDB Enterprise Server. This is the first release in the Enterprise ColumnStore 6 series.

MariaDB Enterprise ColumnStore 6.1.1 was released on 2021-08-26. This release is of GA (General Availability) maturity.

This release of MariaDB Enterprise ColumnStore is included with MariaDB Enterprise Server 10.6.4-1.

Notable Changes

  • Disk-based aggregation allows larger aggregated result sets than can fit in memory (MCOL-4709)

  • Increased DECIMAL precision (MCOL-641)

    • The maximum precision of DECIMAL (fixed-point numeric data type) is 38.

    • Prior to this release, the maximum precision of DECIMAL was 18.

    • The columnstore_decimal_overflow_check system variable allows Enterprise ColumnStore to check for decimal overflows when working with DECIMAL values of precision >= 18. For additional information, see "Enable Decimal Overflow Checks".

  • Increased DECIMAL precision used by the AVG() and SUM() aggregate functions when aggregating integer data types (MCOL-4603)

    • The AVG() and SUM() aggregate functions have a maximum precision of 38 digits. This enables AVG() and SUM() to work with larger integer values with less risk of overflow.

    • Prior to this release, the AVG() and SUM() aggregate functions had a maximum precision of 18 digits.

  • Transactional tables can be updated with data from ColumnStore tables (MCOL-1482)

    • Through enhancement to Cross-Engine JOIN capabilities, UPDATE statements can update transactional tables (such as InnoDB and MyRocks) with data from ColumnStore tables:

      UPDATE innodb_tab i
          JOIN columnstore_tab c
          ON i.col1 = c.col1
          SET i.col2 = c.col2;
      
    • Enterprise ColumnStore's mandatory utility user is used for Cross-Engine JOIN. The mandatory utility user requires the UPDATE privilege.

    • Prior to this release, UPDATE to ColumnStore data from transactional data was supported, however UPDATE to transactional data from ColumnStore data (an operation that requires Cross-Engine JOIN) was unsupported.

  • LZ4 compression (MCOL-987)

    • With this release, MariaDB Enterprise ColumnStore supports LZ4 and Snappy compression. Configuration allows the user to choose the best compression algorithm for their data set.

    • Prior to this release, Snappy compression was supported.

  • OFFSET syntax (MCOL-4645)

    • With this release, SELECT .. OFFSET .. FETCH syntax is available as an alternative to LIMIT .. OFFSET

      • The syntax is:

        OFFSET start { ROW | ROWS }
        FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY
        
      • The following query demonstrates the syntax:

        SELECT username, purchase
        FROM user_purchases
        ORDER BY username, purchase
        OFFSET 0 ROWS
        FETCH NEXT 10 ROWS ONLY;
        
  • Encrypted passwords for the mandatory utility user (MCOL-1175)

    • This release adds the cskeys and cspasswd command-line utilities.

    • The cskeys command-line utility generates an encryption key file. The encryption key file is stored in the /var/lib/columnstore directory by default.

    • The cspasswd command-line utility uses the encryption key file generated by cskeys to encrypt the specified password.

    • Example usage:

      $ cskeys
      $ cspasswd '<plain_text_passwd>'
      $ mcsSetConfig CrossEngineSupport Password '<encrypted_passwd>'
      
  • Auto-switch mode for the ColumnStore Select Handler (MCOL-4525)

    • The AUTO value for the columnstore_select_handler system variable enables the auto-switch mode.

    • As with prior releases, columnstore_select_handler=ON enables the custom select handler and columnstore_select_handler=OFF disables the custom select handler.

    • When columnstore_select_handler is set to AUTO, MariaDB Enterprise ColumnStore automatically chooses whether to use the custom select handler for each query.

    • For additional information, see "Configure the Select Handler".

  • Optimizer statistics store NDV (Number of Distinct Values) for ColumnStore tables (MCOL-4713)

    • Optimizer statistics can be collected for ColumnStore tables by executing the ANALYZE TABLE statement.

    • ColumnStore uses the optimizer statistics to add support for queries that contain circular inner joins.

    • In previous releases, ColumnStore would raise the following error when a query containing a circular inner join was executed:

      ERROR 1815 (HY000): Internal error: IDB-1003: Circular joins are not supported.
      
    • For additional information, see "Optimizer Statistics".

  • Reduced resource usage for connection configuration (MCOL-4679)

    • A format change to the Columnstore.xml configuration file has reduced resource overhead. Connection definitions (PMSn sections) have been simplified.

    • No manual action is required to change over to the new format. This configuration is handled by CMAPI.

  • There are no documented changes to CMAPI in this release.

Platforms

In alignment to the enterprise lifecycle, MariaDB Enterprise ColumnStore 6.1.1 is provided for:

  • CentOS 7

  • CentOS 8

  • Debian 9

  • Debian 10

  • Red Hat Enterprise Linux 7

  • Red Hat Enterprise Linux 8

  • SUSE Linux Enterprise Server 12

  • SUSE Linux Enterprise Server 15

  • Ubuntu 18.04

  • Ubuntu 20.04