注目すべき変更
- NULL比較を伴うWHERE句を実行する時のInnoDBの動作との互換性が向上しました。
- デフォルトの文字セットと照合順序が変更されました。
- 以前のリリースでは、latin1がデフォルトの文字セットでした。latin1は1 文字あたり1バイトを使用します。
- このリリース以降は、utf8(utf8mb3)がデフォルトの文字セットになります。utf8mb3は1文字あたり3バイトを使用します。
- 既存のテーブルスキーマに、バイト幅がその列タイプの最大バイト幅を超える列タイプが含まれている場合、CHARSET=latin1を指定せずに新しいバージョンでテーブルを削除して作成すると、失敗します。latin1文字セットが必要なユーザーは、テーブルの作成(CREATE TABLE)時にCHARSET=latin1を指定する必要があります。
例えば、デフォルトのCHARSETとしてutf8mb3を使用する新しいバージョンでのcreate table t1 (a VARCHAR(8000))engine=columnstore;は、最大許容文字長が2666=(8000/3)になるため、失敗します。したがって、ユーザーが既存のテーブルスキーマを使用したい場合は、列レベルで(例:create table t1 (a VARCHAR(8000) charset 'latin1')engine=columnstore;)、または、DDLのテーブルレベルで(例:create table t1 (a VARCHAR(8000))engine=columnstore default charset=latin1;)、latin1をCHARSETとして指定する必要があります。
- mcs clusterコマンドは、ColumnStoreクラスタ管理操作をサポートします。
- mcs cluster status - MCSクラスターのステータスを取得します
- mcs cluster stop - MCSクラスターを停止します。
- mcs cluster start - MCSクラスターを開始します。
- mcs cluster restart - MCSクラスターを再起動します。
- mcs cluster node add --node <hostname\ip\fqdn> - MCSクラスターにノードを追加します。--node引数は、1つのコマンドで複数回使用できます。
- mcs cluster node remove --node <hostname\ip\fqdn> - MCSクラスターからノードを削除します。--node引数は、1つのコマンドで複数回使用できます。
- mcs cluster set mode --mode
- MCSクラスタモードを設定します。受け入れられる値はreadonlyとreadwriteです。 - mcs cluster set api-key --key
- MCSクラスターAPI管理キーを設定します。 - mcs cluster
--help - 各コマンドのヘルプを出力します。
一部のコマンドには1つまたは複数のオプションの引数があります。オプションの引数の値を確認するためには、コマンドの後に--help引数を使用します。例えば:
mcs cluster node remove --help
- 照合情報は、システムカタログを通じてcpimportユーティリティで利用できます。
- cpimportは文字セットを認識します。
- Disk Join手順が改善され、大規模なデータの特殊なケースに対処できるようになりました。
- columnstore.cnfがクリーンアップされ、更新されました。使用されていないコードは削除されました。サーバー自体のデフォルトとは異なる可能性がある、ColumnStoreのパフォーマンスに関連する特定のサーバー設定(例えば、character_set_serverやcollation_server)が追加されました。
修正された問題
予期しない動作が発生する可能性があるもの
- DMLが失敗した後も、テーブルロックが残ります。
- ALTER TABLEを使用して新しいAUTOINCREMENT列を追加するか、列をAUTOINCREMENTに変更すると、callastinsertid()が誤った自動インクリメント値を表示します。
- 末尾のスペースは、ColumnStoreとInnoDBでは異なる動作をし、予期しない結果を引き起こします。
- 3つのテーブルのJOINを含むクエリでは、間違った結果が返される可能性があります。
- JOINを含むクエリでは、不正な結果セットが生成される可能性があります。
- JOIN順序を切り替えた後、左側の結合結果の集計数が正しくありません。
- インストールまたはサービスの再起動後、/dev/shmディレクトリの権限が正しくありません。
インターフェースの変更
- columnstore_diskjoin_force_runシステム変数が追加されました
- columnstore_diskjoin_max_partition_tree_ Depthシステム変数が追加されました
- columnstore_max_allowed_in_valuesシステム変数が追加されました
- columnstore_max_pm_join_result_countシステム変数が追加されました
- mariadbd --columnstore-diskjoin-force-runコマンドラインオプションが追加されました
- mariadbd --columnstore-diskjoin-max-partition-tree-depthコマンドラインオプションが追加されました
- mariadbd --columnstore-max-allowed-in-valuesコマンドラインオプションが追加されました
- mariadbd --columnstore-max-pm-join-result-countコマンドラインオプションが追加されました
デフォルト値の変更
- character_set_clientがlatin1からutf8mb3に変更されました
- character_set_connectionがlatin1からutf8mb3に変更されました
- character_set_databaseがlatin1からutf8mb3に変更されました
- character_set_resultsがlatin1からutf8mb3に変更されました
- character_set_serverがlatin1からutf8mb3に変更されました
- collation_connectionがlatin1_swedish_ciからutf8mb3_general_ciに変更されました
- collation_databaseがlatin1_swedish_ciからutf8mb3_general_ciに変更されました
- collation_serverがlatin1_swedish_ciからutf8mb3_general_ciに変更されました
既存のテーブルスキーマに、バイト幅がその列タイプの最大バイト幅を超える列タイプが含まれている場合、CHARSET=latin1を指定せずに新しいバージョンでテーブルを削除して作成すると、失敗します。ユーザーは、CREATE TABLEステートメントでCHARSET=latin1を指定する必要があります。
プラットフォーム
エンタープライズライフサイクルに合わせて、MariaDB Enterprise ColumnStore 23.10.0は、以下に対して提供されます:
- CentOS 7 (x86_64)
- Debian 11 (x86_64, ARM64)
- Debian 12 (x86_64, ARM64)
- Red Hat Enterprise Linux 7 (x86_64)
- Red Hat Enterprise Linux 8 (x86_64, ARM64)
- Red Hat Enterprise Linux 9 (x86_64, ARM64)
- Rocky Linux 8 (x86_64, ARM64)
- Rocky Linux 9 (x86_64, ARM64)
- Ubuntu 20.04 (x86_64, ARM64)
- Ubuntu 22.04 (x86_64, ARM64)
MariaDB Enterprise ColumnStore 23.10.0のリリースノート(MariaDB社ウェブサイト):
https://mariadb.com/docs/server/release-notes/mariadb-enterprise-columnstore-23-10/23-10-0/
MariaDBプロダクト・サポート・サービス
MariaDBプロダクト・サポート・サービスは、MariaDBおよびその関連製品をご利用されているお客様へ、必要なソフトウェアや専門的なサポートなどを提供するサービスです。