Release Notes for MariaDB Enterprise ColumnStore 6.1.1

Overview

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 General Availability (GA) maturity.

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

Notable Changes

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

  • 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.

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

Note

MariaDB Enterprise ColumnStore 6 has been superseded by MariaDB Enterprise ColumnStore 22.08 in MariaDB Enterprise Server 10.6.