メインコンテンツまでスキップ

v2.4

StarRocks バージョン 2.4

2.4.5

リリース日: 2023年4月21日

改善点

  • メタデータのアップグレードでエラーが発生する可能性があるため、リストパーティション構文を禁止しました。#15401
  • マテリアライズドビューでBITMAP、HLL、PERCENTILE型をサポートしました。#15731
  • storage_medium の推論を最適化しました。BEがSSDとHDD両方のストレージデバイスを使用する場合、storage_cooldown_time プロパティが指定されている場合、StarRocksは storage_mediumSSD に設定します。それ以外の場合、StarRocksは storage_mediumHDD に設定します。#18649
  • スレッドダンプの精度を向上させました。#16748
  • ロードの前にメタデータの圧縮をトリガすることにより、ロードの効率を最適化しました。#19347
  • ストリームロードプランナーのタイムアウトを最適化しました。#18992
  • 値の列から統計情報を収集することを禁止することで、ユニークキーのテーブルのパフォーマンスを最適化しました。#19563

バグ修正

以下のバグが修正されました:

  • CREATE TABLEでサポートされていないデータ型が使用されるとNPEが返されます。 #20999
  • ショートサーキットを使用したブロードキャストジョインのクエリで間違った結果が返されます。 #20952
  • データの切り捨てロジックによるディスクの占有問題。 #20590
  • AuditLoaderプラグインはインストールも削除もできない。 #20468
  • タブレットのスケジュール中に例外がスローされると、同じバッチの他のタブレットはスケジュールされません。 #20681
  • 非サポートされたSQL関数を使用して同期マテリアライズドビューの作成時に不明なエラーが返される。 #20348
  • 複数のCOUNT DISTINCT計算が正しく再書き換えられません。 #19714
  • コンパクション中のタブレットに対するクエリで間違った結果が返されます。 #20084
  • 集約を使用するクエリで間違った結果が返されます。 #19725
  • NULLのparquetデータをNOT NULLの列にロードするとエラーメッセージが返されません。 #19885
  • リソースグループの同時実行数制限が連続して達成される場合、クエリ同時実行メトリックが遅く減少します。 #19363
  • InsertOverwriteJob の状態変更ログを再生するとFEが起動に失敗します。 #19061
  • プライマリーキーテーブルのデッドロック。 #18488
  • Co-locationテーブルでは、ADMIN SET REPLICA STATUS PROPERTIES ("tablet_id" = "10003", "backend_id" = "10001", "status" = "bad"); のようなステートメントを使用してレプリカの状態をbad に手動で指定することができます。BEの数がレプリカの数以下または同じ場合、破損したレプリカは修復できません。#17876
  • ARRAY関連の関数によって引き起こされる問題。 #18556

2.4.4

リリース日: 2023年2月22日

改善点

  • ロードの高速なキャンセルをサポートしました。 #15514 #15398 #15969
  • コンパクションフレームワークのCPU使用率を最適化しました。 #11747
  • バージョンが欠落しているタブレットでの累積コンパクションをサポートしました。 #17030

バグ修正

以下のバグが修正されました:

  • 無効なDATE値が指定された場合に過剰な動的パーティションが作成されます。 #17966
  • デフォルトのHTTPSポートでElasticsearch外部テーブルに接続できない。 #13726
  • Stream Loadのトランザクションタイムアウト後にBEがStream Loadトランザクションをキャンセルできなくなる。 #15738
  • 単一のBE上でのローカルシャッフル集計から間違ったクエリ結果が返される。 #17845
  • "wait_for_version version: failed: apply stopped" エラーメッセージでクエリが失敗する場合があります。 #17848
  • OLAPスキャンのバケット式が正しくクリアされていないため、間違ったクエリ結果が返されます。 #17666
  • Colocateグループ内の動的パーティションテーブルのバケット数を変更できず、エラーメッセージが返されます。 #17418
  • リーダー以外のFEノードに接続し、SQLステートメントUSE <catalog_name>.<database_name>を送信すると、非リーダーのFEノードはSQLステートメントをリーダーのFEノードに転送し、<catalog_name>を除外して転送します。その結果、リーダーFEノードは default_catalog を使用するように選択し、指定されたデータベースを見つけることができません。 #17302
  • 辞書の前にdictmappingのチェックロジックが間違っています。 #17405
  • BEが時折のハートビートをFEに送信し、ハートビート接続がタイムアウトすると、FEはBEが利用できないと判断し、BE上のトランザクションが失敗します。 #16386
  • フォロワーFE上の新しくクローンされたタブレットに対して get_applied_rowsets が失敗します。 #17192
  • フォロワーのFEで SET variable = default を実行するとNPEが発生します。 #17549
  • プロジェクションの式が辞書によって再書き換えられません。 #17558
  • 週単位の動的パーティションの作成ロジックが間違っています。 #17163
  • ローカルシャッフルから間違ったクエリ結果が返されます。 #17130
  • インクリメンタルクローンが失敗する場合があります。 #16930
  • CBOが誤った論理を使用して2つの演算子が等価かどうかを比較するため、CBOの統計情報の収集に問題があります。 #17199 #17227
  • JuiceFSへのアクセスに失敗するため、JuiceFSスキーマが正しくチェックおよび解決されません。 #16940

2.4.3

リリース日: 2023年1月19日

改善点

  • Analyze中に対応するデータベースとテーブルが存在するかどうかを確認するために、StarRocksは対応するデータベースとテーブルが存在するかどうかを確認します。 #14467
  • サポートされていないデータ型の列は、外部テーブル上のクエリでマテリアライズされません。 #13305
  • FEの起動スクリプト start_fe.sh に対して、Javaのバージョンチェックを追加しました。 #14333

バグ修正

以下のバグが修正されました:

  • タイムアウトが設定されていない場合、Stream Loadは失敗する場合があります。 #16241
  • 高いメモリ使用量時にBRPC Sendがクラッシュすることがあります。 #16046
  • StarRocksは、より初期のバージョンのStarRocksインスタンスからデータをロードできません。#16130
  • マテリアライズドビューのリフレッシュの失敗により、メモリリークが発生することがあります。 #16041
  • スキーマ変更が公開ステージで立ち往生します。 #14148
  • マテリアライズドビューQeProcessorImplの問題によるメモリリーク。 #15699
  • limit 句を使用するクエリの結果が一貫していません。 #13574
  • INSERTによるメモリリーク。 #14718
  • プライマリーキーテーブルはTablet Migrationを実行します。 #13720
  • Broker Load中にBroker Kerberosチケットがタイムアウトします。 #16149
  • ビューの nullable 情報が不正確に推論されます。 #15744

動作の変更

  • デフォルトのThrift Listenのバックログを 1024 に変更しました。 #13911
  • SQLモード FORBID_INVALID_DATES を追加しました。このSQLモードはデフォルトで無効です。有効にすると、StarRocksはDATE型の入力値を検証し、入力が無効な場合にエラーを返します。 #14143

2.4.2

リリース日: 2022年12月14日

改善点

  • バケットヒントのパフォーマンスを最適化しました。 #13142

バグ修正

以下のバグが修正されました:

  • プライマリーキーインデックスのフラッシュにより、BEがクラッシュする場合があります。 #14857 #14819
  • マテリアライズドビュータイプがSHOW FULL TABLESで正しく識別されない。 #13954
  • StarRocks v2.2 を v2.4 にアップグレードした後、BEがクラッシュする場合があります。 #13795
  • Broker LoadがBEをクラッシュさせる場合があります。 #13973
  • セッション変数 statistic_collect_parallel が効果を持ちません。 #14352
  • INSERT INTO によりBEがクラッシュする場合があります。 #14818
  • JAVA UDFによりBEがクラッシュする場合があります。 #13947
  • 部分的な更新中にレプリカのクローンを作成すると、BEがクラッシュし、再起動に失敗します。 #13683
  • Colocated Joinが機能しない場合があります。 #13561

動作の変更

  • ページキャッシュがデフォルトで有効になりました("disable_storage_page_cache" = "false")。デフォルトのキャッシュサイズ(storage_page_cache_limit)はシステムメモリの20%です。
  • CBOがデフォルトで有効になりました。セッション変数 enable_cbo は非推奨となりました。
  • ベクトル化エンジンがデフォルトで有効になりました。セッション変数 vectorized_engine_enable は非推奨となりました。

2.4.1

リリース日: 2022年11月14日

新機能

  • JOIN操作を高速化するため、複数の基底テーブルを基に非同期マテリアライズドビューを作成できるようになりました。非同期マテリアライズドビューはすべての テーブルタイプ をサポートしています。詳細については、マテリアライズドビューを参照してください。
  • INSERT OVERWRITEを使用してデータを上書きする機能をサポートしました。詳細については、INSERTを使用してデータをロードするを参照してください。
  • [プレビュー] ステートレスなCompute Nodes (CN) を提供します。CNをKubernetes(K8s)クラスタにデプロイし、StarRocks Operatorを使用してCNを自動的に水平スケーリングすることができます。詳細については、StarRocks Operatorを使用してKubernetes上でCNをデプロイおよび管理するを参照してください。
  • アウタージョインが、ジョイン項目が <<=>>=<> の比較演算子で関連付けられる非同等ジョインをサポートするようになりました。詳細については、SELECTを参照してください。
  • Apache IcebergおよびApache Hudiからのデータへの直接クエリを可能にするIcebergカタログおよびHudiカタログの作成をサポートしました。詳細については、IcebergカタログおよびHudiカタログを参照してください。
  • CSV形式のApache Hive™テーブルのARRAY型の列をクエリできるようになりました。詳細については、外部テーブルを参照してください。
  • DESCを使用して外部データのスキーマを表示できるようになりました。詳細については、DESCを参照してください。
  • GRANTを使用して特定のロールやIMPERSONATE権限をユーザーに付与し、REVOKEを使用してそれらを取り消すことができるようになりました。また、IMPERSONATE権限を持つユーザーとしてSQLステートメントを実行することもサポートしています。詳細については、GRANTREVOKEEXECUTE ASを参照してください。
  • FQDNアクセスを有効にしました。これにより、ドメイン名またはホスト名とポートの組み合わせをBEまたはFEノードの一意の識別子として使用できます。これにより、IPアドレスの変更によるアクセスの失敗を防ぐことができます。詳細については、FQDNアクセスの有効化を参照してください。
  • flink-connector-starrocksがPrimary Keyテーブルの部分更新をサポートしています。詳細については、flink-connector-starrocksを使用してデータをロードを参照してください。
  • 次の新しい関数が追加されました:
    • array_contains_all: 特定の配列が別の配列の部分集合かどうかを確認します。詳細については、array_contains_allを参照してください。
    • percentile_cont: 線形補間を使用してパーセンタイル値を計算します。詳細については、percentile_contを参照してください。

改善点

  • プライマリーキーテーブルはVARCHAR型のプライマリーキーインデックスをディスクにフラッシュすることをサポートします。バージョン2.4.0以降、プライマリーキーテーブルは永続的なプライマリーキーインデックスがオンになっているかどうかに関係なく、プライマリーキーインデックスのデータ型をサポートします。
  • 外部テーブル上のクエリパフォーマンスを最適化するための改善点:
    • 小規模なフィルタリングが含まれるデータレイク上のクエリパフォーマンスを最適化するために、Parquet形式の外部テーブルのクエリ中に遅延マテリアライズをサポートしています。
    • 小規模なI/O操作をマージすることでデータレイクのクエリの遅延を減らし、外部テーブルのクエリパフォーマンスを向上させます。
  • ウィンドウ関数のパフォーマンスを最適化しました。
  • Cross Joinのパフォーマンスを最適化するために、述語プッシュダウンをサポートしました。
  • CBO統計にヒストグラムを追加しました。完全な統計情報の収集をさらに最適化しました。
  • タブレットスキャンの並列処理を最適化し、スキャンパフォーマンスがタブレットの数に依存しないようにしました。その結果、バケットの数をより簡単に設定できるようになりました。
  • 圧縮されたTXTファイルのApache Hiveでのクエリをサポートしました。
  • デフォルトのPageCacheサイズの計算とメモリの一貫性チェックのメカニズムを調整し、マルチインスタンス展開時のOOM問題を回避しました。
  • プライマリーキーテーブルの大規模なバッチロードのパフォーマンスを、final_merge操作を削除することにより最大2倍向上させました。
  • 高い並行ストリームロードのパフォーマンスを向上させるために、Stream Loadトランザクションインターフェースを提供し、Apache Flink®やApache Kafka®などの外部システムからデータをロードするトランザクションに対して2フェーズコミット(2PC)を実装しました。
  • 関数:
    • 複数のCOUNT(DISTINCT)を1つのステートメントで使用できます。詳細については、countを参照してください。
    • ウィンドウ関数min()とmax()はスライドウィンドウをサポートします。詳細については、ウィンドウ関数を参照してください。
    • window_funnel関数のパフォーマンスを最適化しました。詳細については、window_funnelを参照してください。

バグ修正

以下のバグが修正されました:

  • DESCで返されるDECIMALデータ型がCREATE TABLEステートメントで指定したものと異なる。 #7309
  • FEのメタデータ管理の問題がFEの安定性に影響します。 #6685 #9445 #7974 #7455
  • データロードに関連する問題:
    • ARRAYカラムが指定されている場合、Broke Loadが失敗します。 #9158
    • Broker Loadを介した非重複キーテーブルへのデータのロード後、レプリカが一貫していません。 #8714
    • ALTER ROUTINE LOADの実行時にNPEが発生します。 #7804
  • データレイク解析関連の問題:
    • Hive外部テーブルのParquetデータでのクエリが失敗します。 #7413 #7482 #7624
    • Elasticsearch外部テーブルの limit 句を使用したクエリで間違った結果が返されます。 #9226
    • 複雑なデータ型を持つApache Icebergテーブル上のクエリで不明なエラーが発生します。 #11298
  • リーダーFEとフォロワーFEノード間でメタデータが一貫していません。 #11215
  • BEがBITMAPデータのサイズが2GBを超えるとクラッシュする場合があります。 #11178

動作の変更

  • Page Cacheはデフォルトで有効になりました("disable_storage_page_cache" = "false")。デフォルトのキャッシュサイズ(storage_page_cache_limit)はシステムメモリの20%です。
  • CBOはデフォルトで有効になりました。セッション変数 enable_cbo は非推奨となりました。
  • ベクトル化エンジンはデフォルトで有効になりました。セッション変数 vectorized_engine_enable は非推奨となりました。

2.4.0

リリース日: 2022年10月20日

新機能

  • JOIN操作を高速化するため、複数の基底テーブルを基に非同期マテリアライズドビューを作成できるようになりました。非同期マテリアライズドビューはすべての テーブルタイプ をサポートしています。詳細については、マテリアライズドビューを参照してください。
  • INSERT OVERWRITEを使用してデータを上書きする機能をサポートしました。詳細については、INSERTを使用してデータをロードするを参照してください。
  • [プレビュー] ステートレスなCompute Nodes (CN) を提供します。CNをKubernetes(K8s)クラスタにデプロイし、StarRocks Operatorを使用してCNを自動的に水平スケーリングすることができます。詳細については、StarRocks Operatorを使用してKubernetes上でCNをデプロイおよび管理するを参照してください。
  • アウタージョインが、ジョイン項目が <<=>>=<> の比較演算子で関連付けられる非同等ジョインをサポートするようになりました。詳細については、SELECTを参照してください。
  • Apache IcebergおよびApache Hudiからのデータへの直接クエリを可能にするIcebergカタログおよびHudiカタログの作成をサポートしました。詳細については、IcebergカタログおよびHudiカタログを参照してください。
  • CSV形式のApache Hive™テーブルのARRAY型の列をクエリできるようになりました。詳細については、外部テーブルを参照してください。
  • DESCを使用して外部データのスキーマを表示できるようになりました。詳細については、DESCを参照してください。
  • GRANTを使用して特定のロールやIMPERSONATE権限をユーザーに付与し、REVOKEを使用してそれらを取り消すことができるようになりました。また、IMPERSONATE権限を持つユーザーとしてSQLステートメントを実行することもサポートしています。詳細については、GRANTREVOKEEXECUTE ASを参照してください。
  • FQDNアクセスを有効にしました。これにより、ドメイン名またはホスト名とポートの組み合わせをBEまたはFEノードの一意の識別子として使用できます。これにより、IPアドレスの変更によるアクセス失敗を防ぐことができます。詳細については、FQDNアクセスの有効化を参照してください。
  • flink-connector-starrocksがPrimary Keyテーブルの部分更新をサポートしています。詳細については、flink-connector-starrocksを使用してデータをロードを参照してください。
  • 次の新しい関数が追加されました:
    • array_contains_all: 特定の配列が別の配列の部分集合かどうかを確認します。詳細については、array_contains_allを参照してください。
    • percentile_cont: 線形補間を使用してパーセンタイル値を計算します。詳細については、percentile_contを参照してください。

改善点

  • プライマリーキーテーブルはVARCHAR型のプライマリーキーインデックスをディスクにフラッシュすることをサポートします。バージョン2.4.0以降、プライマリーキーテーブルは永続的なプライマリーキーインデックスがオンになっているかどうかに関係なく、プライマリーキーインデックスのデータ型をサポートします。
  • 外部テーブル上のクエリパフォーマンスを最適化するための改善点:
    • 小規模なフィルタリングが含まれるデータレイク上のクエリパフォーマンスを最適化するために、Parquet形式の外部テーブルのクエリ中に遅延マテリアライズをサポートしています。
    • 小規模なI/O操作をマージすることでデータレイクのクエリの遅延を減らし、外部テーブルのクエリパフォーマンスを向上させます。
  • window_funnel関数のパフォーマンスを最適化しました。
  • Cross Joinのパフォーマンスを最適化するために、述語プッシュダウンをサポートしました。
  • CBO統計にヒストグラムを追加しました。完全な統計情報の収集をさらに最適化しました。
  • タブレットスキャンの並列処理を最適化し、スキャンパフォーマンスがタブレットの数に依存しないようにしました。その結果、バケットの数をより簡単に設定できるようになりました。
  • 高い並行ストリームロードのパフォーマンスを向上させるために、Stream Loadトランザクションインターフェースを提供し、Apache Flink®やApache Kafka®などの外部システムからデータをロードするトランザクションに対して2フェーズコミット(2PC)を実装しました。
  • カウント関数(COUNT)で複数のCOUNT(DISTINCT)を1つのステートメントで使用できるようになりました。
  • ウィンドウ関数min()とmax()がスライドウィンドウをサポートします。

バグ修正

次のバグが修正されました:

  • 全体としてのDECIMALデータ型とCREATE TABLEステートメントで指定したものが異なる。 #7309
  • FEのメタデータ管理に関連する問題がFEの安定性に影響します。 #6685 #9445 #7974 #7455
  • データロードに関連する問題:
    • ARRAYの指定時にBroke Loadに失敗する。 #9158
    • Broker Loadを介した非ダブリケートキーテーブルへのデータのロード後、レプリカが一貫していません。 #8714
    • ALTER ROUTINE LOADの実行時にNPEが発生する。 #7804
  • データレイク解析に関連する問題:
    • Hive外部テーブルのParquetデータに対するクエリが失敗する。 #7413 #7482 #7624
    • Elasticsearch外部テーブルの limit 句を含むクエリで間違った結果が返される。 #9226
    • 複雑なデータ型を持つApache Icebergテーブル上のクエリで不明なエラーが発生する。 #11298
  • リーダーFEとフォロワーFEノード間のメタデータに不一致が発生する。 #11215
  • BEがBITMAPデータサイズが2GBを超えるとクラッシュする。 #11178

動作の変更

次の変更が加わりました:

  • デフォルトでPage Cacheが有効になりました。デフォルトのキャッシュサイズ (storage_page_cache_limit) はシステムメモリの20%です。
  • デフォルトでCBOが有効になりました。セッション変数 enable_cbo は非推奨となりました。
  • デフォルトでベクトル化エンジンが有効になりました。セッション変数 vectorized_engine_enable は非推奨となりました。

その他の変更:

  • Resource Groupの安定リリースを発表しました。
  • JSONデータ型および関連する関数の安定リリースを発表しました。