メインコンテンツへスキップ
メインコンテンツへスキップ

Cloud 向け v24.8 変更履歴

v24.8 リリースに基づく ClickHouse Cloud サービス向けの変更点。

後方互換性のない変更

  • Variant データ型のバイナリシリアル化を変更しました。単一の variant または NULL 値のみを持つ granule について、同じ判別子を複数回書き込まないようにするコンパクトモードを追加しています。MergeTree の設定 use_compact_variant_discriminators_serialization を追加し、デフォルトで有効にしました。Variant 型は依然として実験的であり、シリアル化の後方互換性のない変更は、過去にサポートと連携してこの機能を早期に有効化していない限り、影響を受けないはずです。#62774 (Kruglov Pavel).

  • Replicated データベースでの CREATE MATERIALIZED VIEW ... ENGINE Replicated*MergeTree POPULATE AS SELECT ... を禁止しました。この PR が影響するのは、依然として ReplicatedMergeTree を使用しているユーザーのみです。#63963 (vdimir).

  • メトリクス KeeperOutstandingRequets は KeeperOutstandingRequests にリネームされました。これは #66179 で報告されたタイポを修正するものです。#66206 (Robert Schulze).

  • clickhouse-client および clickhouse-local のデフォルトがマルチクエリモード(シングルクエリモードではなく)になりました。例えば、clickhouse-client -q "SELECT 1; SELECT 2" がそのまま動作するようになり、従来は --multiquery(または -n)を追加する必要がありました。これにより --multiquery/-n スイッチは不要になりました。マルチクエリ文中の INSERT クエリは、その FORMAT 句に基づいて特別に扱われます。FORMAT が VALUES(最も一般的なケース)の場合、INSERT 文の終端はクエリ末尾のセミコロン ; によって表されます。それ以外の FORMAT(例: CSV や JSONEachRow)の場合、INSERT 文の終端はクエリ末尾の 2 つの改行 \n\n によって表されます。#63898 (wxybear).

  • 以前のバージョンでは、LowCardinality データ型の代替構文として、データ型名に WithDictionary を付加して使用することが可能でした。これは初期の作業実装であり、ドキュメント化も一般公開もされていませんでした。現在、この構文は非推奨となりました。この構文を使用している場合は、テーブルに対して ALTER を実行し、データ型名を LowCardinality にリネームする必要があります。#66842(Alexey Milovidov).

  • 分散先テーブルと組み合わせて使用されるストレージ Buffer における論理エラーを修正しました。これは後方互換性のない変更です。分散先テーブルと Buffer を使用するクエリでは、そのテーブルがクエリ内に複数回現れる場合(例: 自己結合)、クエリが動作しなくなる可能性があります。#67015 (vdimir).

  • 以前のバージョンでは、Gamma 関数に基づく乱数分布(Chi-Squared、Student、Fisher など)の関数を、ゼロに近い負の引数で呼び出すと、計算に長時間かかるか無限ループに陥ることがありました。新バージョンでは、これらの関数をゼロまたは負の引数で呼び出した場合、例外がスローされます。これにより #67297 が解決されます。#67326 (Alexey Milovidov).

  • 以前のバージョンでは、arrayWithConstant は非常に大きな配列の生成を要求されると遅くなることがありました。新バージョンでは、配列あたり 1 GB に制限されます。これにより #32754 が解決されます。#67741 (Alexey Milovidov).

  • REPLACE 修飾子の書式を修正しました(かっこの省略を禁止)。#67774 (Azat Khuzhin).

新機能

  • クエリ内で名前付きタプルを構築できるように関数 tuple を拡張。タプルから名前を抽出する関数 tupleNames を追加。#54881 (Amos Bird)。

  • full_sorting_join アルゴリズムに対する ASOF JOIN をサポート。#54493 をクローズ。#55051 (vdimir)。

  • 新しいテーブル関数 fuzzQuery を追加。この関数は、指定したクエリ文字列に対してランダムな変形を加えることができます。例: SELECT query FROM fuzzQuery('SELECT 1');。#62103 (pufit)。

  • 新しいウィンドウ関数 percent_rank を追加。#62747 (lgbo)。

  • clickhouse-client に JWT 認証のサポートを追加。#62829 (Konstantin Bogdanov)。

  • SQL 関数 changeYear, changeMonth, changeDay, changeHour, changeMinute, changeSecond を追加。例えば、SELECT changeMonth(toDate('2024-06-14'), 7) は日付 2024-07-14 を返します。#63186 (cucumber95)。

  • テーブル system.errors からのエラー値の履歴を保持し、定期的にディスクへフラッシュする system.error_log を追加。#65381 (Pablo Marcos)。

  • 集約関数 groupConcat を追加。ほぼ arrayStringConcat(groupArray(column), ',') と同様です。文字列の区切り文字と処理する要素数という 2 つのパラメータを受け取ることができます。#65451 (Yarik Briukhovetskyi)。

  • AzureQueue ストレージを追加。#65458 (Kseniia Sumarokova)。

  • Parquet ファイルにページインデックスを書き込むかどうかを無効化/有効化する新しい設定を追加。#65475 (lgbo)。

  • file テーブル関数で、ディレクトリパスの末尾にワイルドカード * を自動的に付加。#66019 (Zhidong (David) Guo)。

  • 非対話モードのクライアントに --memory-usage オプションを追加。#66393 (vdimir)。

  • S3 テーブルエンジン向けに _etag 仮想カラムを追加。#65312 を修正。#65386 (skyoct)。

  • この PR は、さまざまなエンジン(File、URL、S3、AzureBlobStorage、HDFS)に対する Hive スタイルのパーティション分割を導入します。Hive スタイルのパーティション分割は、データをパーティション化されたサブディレクトリに整理し、大規模データセットのクエリおよび管理を効率化します。現時点では、適切な名前とデータを持つ仮想カラムを作成するのみです。後続の PR で、適切なデータフィルタリング(性能向上)を導入します。#65997 (Yarik Briukhovetskyi)。

  • Spark 互換性のために関数 printf を追加。#66257 (李扬)。

  • 関数 readWKTLineString を用いて、WKT 形式の MULTILINESTRING ジオメトリを読み込むサポートを追加。#67647 (Jacob Reckhard)。

  • クエリキャッシュに対してタグ付け(ネームスペース)メカニズムを追加。同じクエリでも異なるタグを持つ場合、クエリキャッシュでは別物として扱われます。例: SELECT 1 SETTINGS use_query_cache = 1, query_cache_tag = 'abc' と SELECT 1 SETTINGS use_query_cache = 1, query_cache_tag = 'def' は、現在では異なるクエリキャッシュエントリを作成します。#68235 (sakulali)。