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

v3.0

StarRocks バージョン 3.0

3.0.6

リリース日: 2023 年 9 月 12 日

新機能

  • 集約関数 group_concat は、DISTINCT 句と ORDER BY 句をサポートします。#28778
  • パーティション内のデータを時間の経過とともに冷却できます。ただし、この機能は list partitioning には対応していません。#29335 #29393

改良点

  • WHERE 句のすべての複合述語とすべての式に対して、暗黙の型変換がサポートされるようになりました。セッション変数 enable_strict_type を使用して、暗黙の型変換を有効または無効にすることができます。このセッション変数のデフォルト値は false です。#21870
  • 文字列から整数への変換における FE と BE のロジックを統一しました。#29969

バグ修正

  • enable_orc_late_materializationtrue に設定して Hive カタログを使用して ORC ファイル内の STRUCT 型データをクエリすると、予期しない結果が返されます。#27971
  • Hive カタログを介してデータクエリを実行する際に、WHERE 句でパーティション列と OR 演算子が指定されている場合、クエリ結果が正しくありません。#28876
  • RESTful API のアクション show_data がクラウドネイティブテーブルの値を間違って返します。#29473
  • shared-data cluster が Azure Blob Storage にデータを格納し、表が作成されている場合、クラスタがバージョン 3.0 にロールバックされた後に FE の起動に失敗します。#29433
  • Iceberg カタログでテーブルをクエリする際、ユーザーはそのテーブルに対して権限を付与されていても、権限がありません。#29173
  • SHOW FULL COLUMNS ステートメントによる列の BITMAPHLL データ型の Default フィールドの値が間違っています。#29510
  • ADMIN SET FRONTEND CONFIG コマンドを使用して FE の動的パラメータ max_broker_load_job_concurrency を変更しても、効果がありません。
  • マテリアライズドビューのリフレッシュ戦略を変更中にマテリアライズドビューがリフレッシュされると、FE の起動に失敗する場合があります。#29964 #29720
  • select count(distinct(int+double)) from table_name を実行すると、unknown error が返されます。#29691
  • プライマリキーテーブルが復元された後、BE が再起動されるとメタデータエラーが発生し、メタデータの不整合が発生します。#30135

3.0.5

リリース日: 2023 年 8 月 16 日

新機能

改良点

  • エラーメッセージ xxx too many versions xxx にさらなるプロンプトを追加しました。#28397
  • 動的パーティショニングはさらにパーティショニングの単位を年に対応させるようになりました。#28386
  • テーブル作成時に式パーティショニングを使用する場合、パーティショニングフィールドは大文字・小文字を区別しなくなりました。また、特定のパーティションにデータを上書きするために INSERT OVERWRITE を使用する場合も同様です。#28309

バグ修正

次の問題を修正しました:

  • FE における表レベルのスキャン統計情報が正しくないため、表のクエリとロードのメトリクスが不正確です。#27779
  • パーティション化されたテーブルのソートキーが変更された場合、クエリ結果は安定しません。#27850
  • データが復元された後、BE と FE のタブレットのバージョン番号が一致しません。#26518
  • コロケーションテーブルを作成する際にバケット数が指定されていない場合、数値が 0 と推測され、新しいパーティションの追加に失敗します。#27086
  • INSERT INTO SELECT の SELECT 結果セットが空の場合、SHOW LOAD が返すロードジョブのステータスは CANCELED です。#26913
  • サブビットマップ関数の入力値が BITMAP 型ではない場合、BE がクラッシュする可能性があります。#27982
  • AUTO_INCREMENT 列が更新されている際に BE がクラッシュする可能性があります。#27199
  • マテリアライズドビューの外部結合とアンチ結合のリライトエラーを修正しました。#28028
  • 平均行サイズの不正確な推定により、プライマリキー部分更新が過剰に大きなメモリを占有します。#27485
  • 無効なマテリアライズドビューがアクティブ化されると、FE がクラッシュすることがあります。#27959
  • Hudi カタログの外部テーブルに基づいて作成されたマテリアライズドビューはリライトされない場合があります。#28023
  • Hive テーブルのデータは、テーブルが削除され、メタデータキャッシュが手動で更新された後でもクエリできます。#28223
  • 同期呼び出しによる非同期マテリアライズドビューの手動リフレッシュは、information_schema.task_runs テーブルに複数の INSERT OVERWRITE レコードが作成されます。#28060
  • ブロックされた LabelCleaner スレッドによる FE メモリリークが発生します。#28311

3.0.4

リリース日: 2023 年 7 月 18 日

新機能

  • マテリアライズドビューのリライトにおいて、異なる種類の結合がクエリに含まれていても、クエリの再構築が可能です。#25099

改良点

  • 非同期マテリアライズドビューの手動リフレッシュを最適化しました。REFRESH MATERIALIZED VIEW WITH SYNC MODE 構文を使用して、マテリアライズドビューの同期リフレッシュタスクを呼び出すことができるようになりました。#25910
  • マテリアライズドビューのプレディケートで出力列に含まれていないが、マテリアライズドビューの述語には含まれているクエリもリライトできるようになりました。#23028
  • SQL 方言 (sql_dialect) を trino に設定した場合、テーブルエイリアスは大文字と小文字を区別しません。#26094 #25282
  • テーブル Information_schema.tables_config に新しいフィールド table_id を追加しました。データベース Information_schema のテーブル be_tablets のカラム table_id 上でテーブル tables_config を結合し、タブレットが所属するデータベースとテーブルの名前をクエリすることができます。#24061

バグ修正

次の問題を修正しました:

  • sum 集約関数を含むクエリが単一テーブルマテリアライズドビューからクエリ結果を直接取得するようにリライトされた場合、sum() フィールドの値が型の推論の問題により正しくありません。#25512
  • StarRocks の共有データクラスターで SHOW PROC を使用してタブレットの情報を表示すると、エラーが発生します。
  • CHAR データの長さが最大長を超える場合、INSERT 操作がハングします。#25942
  • FULL JOIN を使用した INSERT INTO SELECT では、一部のデータ行がクエリに失敗して返されません。#26603
  • ALTER TABLE ステートメントを使用してテーブルのプロパティ default.storage_medium を変更しようとすると、エラー ERROR xxx: Unknown table property xxx が発生します。#25870
  • 空のファイルをロードする場合、BROKER LOAD に失敗します。#26212
  • BE の分離が停止する場合があります。#26509

3.0.3

リリース日: 2023 年 6 月 28 日

改良点

  • StarRocks の外部テーブルのメタデータ同期がデータロード時に行われるように変更されました。#24739
  • ユーザーは自動的に作成されるパーティションのテーブルに対して INSERT OVERWRITE を実行する際、パーティションを指定することができます。詳細については、Automatic partitioning を参照してください。#25005
  • パーティションが存在しないテーブルにパーティションを追加する際のエラーメッセージを最適化しました。#25266

バグ修正

次の問題を修正しました:

  • Parquet ファイルが複雑なデータ型を含む場合に、min/max フィルタが誤った Parquet フィールドを取得することがあります。#23976
  • リレーションDBA またはテーブルが削除された後でも、ロードタスクがキューに残ってしまいます。#24801
  • FE 再起動時に BE がクラッシュする場合があります。#25037
  • ロードとクエリのジョブが enable_profile 変数が true に設定されている場合にハングすることがあります。#25060
  • クラスターの BE の数が 3 未満の場合、INSERT OVERWRITE を実行すると不正確なエラーメッセージが表示されます。#25314

3.0.2

リリース日: 2023 年 6 月 13 日

改良点

  • UNION クエリ内の述語を非同期マテリアライズドビューによる再構築後に押し下げることができるようになりました。#23312
  • テーブルに対する自動テーブル分散ポリシーの最適化を行いました。#24543
  • システムクロックの一貫性がサーバー間で異なる場合に誤ったネットワーク時刻が発生するのを防ぐために、システム時刻に依存しないネットワーク時間(NetworkTime) の依存関係を削除しました。#24858

バグ修正

次の問題を修正しました:

  • スキーマ変更は、データロードと同時に発生する場合にハングすることがあります。#23456
  • セッション変数 pipeline_profile_level0 に設定すると、クエリがエラーになります。#23873
  • cloud_native_storage_typeS3 に設定した場合、CREATE TABLE がエラーになります。
  • パスワードを使用しない場合でも、LDAP 認証が成功します。#24862
  • ロードジョブが存在しないテーブルに対して CANCEL LOAD を実行すると失敗します。#24922

アップグレードに関する注意事項

システムに starrocks という名前のデータベースがある場合、アップグレード前に ALTER DATABASE RENAME を実行して別の名前に変更してください。これは、starrocks が特権情報を保存するデフォルトのシステムデータベースの名前であるためです。

3.0.1

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

新機能

  • SPILL TO DISK をサポートし、大規模な演算子の中間計算結果をディスクにスピルして、大規模な演算子のメモリ使用量を削減します。詳細については、Spill to diskを参照してください。
  • Routine Load は、Avro データを読み込むことができるようになりました。
  • Microsoft Azure Storage(Azure Blob Storage および Azure Data Lake Storage を含む)をサポートします。

改良点

  • 共有データクラスターは、StarRocks の外部テーブルを使用して別の StarRocks クラスターとデータを同期することがサポートされています。
  • Information Schemaload_tracking_logs を追加して、最近のロードエラーの記録を行います。
  • CREATE TABLE ステートメントで特殊文字を無視します。#23885

バグ修正

次の問題を修正しました:

  • Primary Key テーブルの場合、SHOW CREATE TABLE によって返される情報が正しくありません。#24237
  • Routine Load ジョブ中に BE がクラッシュする可能性があります。#20677
  • サポートされていないプロパティが指定されている場合、NULL ポインタエラー (NPE) が発生します。#21374
  • ALTER TABLE ステートメントを使用してテーブルのプロパティ default.storage_medium を変更しようとすると、エラー ERROR xxx: Unknown table property xxx が発生します。#25870
  • 空のファイルをロードする場合、BROKER LOAD が失敗します。#26212
  • レプリカ数が 3 未満のクラスターで INSERT OVERWRITE が実行されると、正確なエラーメッセージが表示されません。#25314

アップグレードに関する注意事項

システムに starrocks という名前のデータベースがある場合、アップグレード前に ALTER DATABASE RENAME を実行して別の名前に変更してください。これは、starrocks が特権情報を保存するデフォルトのシステムデータベースの名前であるためです。

3.0.0

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

新機能

システムアーキテクチャ

  • ストレージとコンピュートを分離しました。 StarRocks は現在、S3 互換のオブジェクトストレージにデータ永続化をサポートし、リソースの分離度を高め、ストレージコストを削減し、コンピュートリソースをよりスケーラブルにすることができます。ホットデータキャッシュとしてローカルディスクを使用して、クエリのパフォーマンスを向上させます。新しい共有データアーキテクチャのクエリパフォーマンスは、ローカルディスクキャッシュがヒットした場合に、従来のアーキテクチャ(共有しない)と同等です。詳細については、Deploy and use shared-data StarRocksを参照してください。

ストレージエンジンとデータ取り込み

  • グローバルに一意な ID を提供するために AUTO_INCREMENT 属性がサポートされ、データ管理が容易になりました。
  • 自動的なパーティション作成およびパーティショニング式がサポートされ、パーティションの作成が簡単になり、柔軟性が向上しました。
  • Primary Key テーブルは、CTE や他のテーブルへの参照を含む完全な UPDATE と DELETE 構文をサポートするようになりました。
  • Broker Load ジョブと INSERT INTO ジョブのロードプロファイルが追加されました。ロードプロファイルをクエリして、ロードジョブの詳細を表示することができます。使用法は Analyze query profile と同じです。

データレイクアナリティクス

  • [プレビュー] Presto/Trino 互換の SQL 方言をサポートします。Presto/Trino の SQL は自動的に StarRocks の SQL パターンにリライトされます。詳細については、システム変数 sql_dialect を参照してください。
  • [プレビュー] JDBC カタログ のサポートが追加されました。
  • SET CATALOG を使用して現在のセッションでカタログを手動で切り替えることができるようになりました。

権限とセキュリティ

  • フル RBAC 機能を備えた新しい特権システムを提供し、ロール継承とデフォルトロールをサポートします。詳細については、Overview of privileges を参照してください。
  • より多くの特権管理オブジェクトと、より細かい粒度の特権を提供します。詳細については、Privileges supported by StarRocks を参照してください。

クエリエンジン

  • ジョインテーブルのより多くのクエリが クエリキャッシュ を活用できるようになりました。たとえば、クエリキャッシュは Broadcast Join や Bucket Shuffle Join をサポートするようになりました。
  • グローバル UDF (ユーザー定義関数) をサポートします。
  • ダイナミック アダプティブ並列性: StarRocks はクエリの同時実行数に対して pipeline_dop パラメーターを自動的に調整するようになりました。

SQL 参照

改良点

配置

ストレージエンジンとデータ取り込み

  • データ取り込みのための CSV パラメーターが追加されました。SKIP_HEADER、TRIM_SPACE、ENCLOSE、および ESCAPE をサポートします。STREAM LOADBROKER LOADROUTINE LOAD を参照してください。
  • Primary Key テーブルでは、主キーとソートキーが分離されました。テーブルを作成する際に、ソートキーを ORDER BY で別途指定できるようになりました。
  • 大量データの取り込み、部分更新、および永続的な主インデックスの場合など、Primary Key テーブルへのデータ取り込みのメモリ使用量を最適化しました。
  • 非同期 INSERT タスクの作成がサポートされました。詳細については、INSERT および SUBMIT TASK を参照してください。#20609

マテリアライズドビュー

  • マテリアライズドビューの再構築機能を最適化しました。以下の機能が追加されました:
    • View Delta Join、Outer Join、Cross Join のリライトをサポートします。
    • パーティション付き Union の SQL リライトを最適化しました。
  • マテリアライズドビューのビルド機能を改良しました。CTE、select *、Union に対応しています。
  • SHOW MATERIALIZED VIEWS が返す情報を最適化しました。
  • MV パーティションの一括追加をサポートし、マテリアライズドビューのビルド時のパーティション追加の効率が向上しました。#21167

クエリエンジン

  • すべてのオペレーターがパイプラインエンジンでサポートされるようになりました。後のバージョンではパイプラインコードが削除されます。
  • Big Query のポジショニングが改善され、ビッグクエリログが追加されました。SHOW PROCESSLIST では CPU 情報とメモリ情報を表示できるようになりました。
  • Outer Join Reorder を最適化しました。
  • SQL パースステージでのエラーメッセージを最適化し、より正確なエラーポジショニングと明確なエラーメッセージを提供します。

データレイクアナリティクス

  • メタデータの統計情報の収集を最適化しました。
  • 外部カタログで管理され、Apache Hive™、Apache Iceberg、Apache Hudi、または Delta Lake に格納されたテーブルの作成ステートメントを表示するために、SHOW CREATE TABLE をサポートしました。

バグ修正

  • StarRocks のソースファイルのライセンスヘッダーにあるいくつかの URL へのアクセスができない場合があります。#2224
  • SELECT クエリ中に不明なエラーが返されます。#19731
  • SHOW/SET CHARACTER をサポートします。#17480
  • ロードされたデータが StarRocks がサポートするフィールド長を超えた場合、返されるエラーメッセージが正しくありません。#14
  • show full fields from 'table' をサポートします。#17233
  • パーティションの剪定がマテリアライズドビューリライトを失敗させます。#14641
  • CREATE MATERIALIZED VIEW ステートメントに count(distinct) が含まれ、count(distinct) が DISTRIBUTED BY カラムに適用される場合、MV リライトが失敗します。#16558
  • VARCHAR 列がマテリアライズドビューのパーティション列として使用されている場合に、FE の起動に失敗する場合があります。#19366
  • ウィンドウ関数 LEADLAG は、IGNORE NULLS を正しく処理しません。#21001
  • 一時的なパーティションの追加が自動パーティション作成と競合します。#21222

動作の変更

  • 新しい RBAC 特権システムは、以前の特権およびロールをサポートしています。ただし、GRANT および REVOKE などの関連ステートメントの構文は変更されています。
  • SHOW MATERIALIZED VIEW を SHOW MATERIALIZED VIEWS に名前を変更しました。
  • 以下の予約語を追加しました: AUTO_INCREMENT、CURRENT_ROLE、DEFERRED、ENCLOSE、ESCAPE、IMMEDIATE、PRIVILEGES、SKIP_HEADER、TRIM_SPACE、VARBINARY。

アップグレードに関する注意事項

v2.5 から v3.0 にアップグレードしたり、v3.0 から v2.5 にダウングレードすることができます。

理論上は、v2.5 より前のバージョンからのアップグレードもサポートされます。システムの可用性を確保するため、まずクラスターを v2.5 にアップグレードしてから v3.0 にアップグレードすることをお勧めします。

v3.0 から v2.5 へのダウングレード時には、以下のポイントに注意してください。

BDBJE

StarRocks は v3.0 で BDB ライブラリをアップグレードしましたが、BDBJE はロールバックすることができません。そのため、ダウングレード後も v3.0 の BDB ライブラリを使用する必要があります。以下の手順を実行してください:

  1. v2.5 のパッケージで FE パッケージを置き換えた後、v3.0 の fe/lib/starrocks-bdb-je-18.3.13.jarfe/lib/je-7.*.jar を削除し、v2.5 の fe/lib ディレクトリにコピーします。

特権システム

新しい RBAC 特権システムは、v3.0 にアップグレードした後、デフォルトで使用されます。v2.5 にダウングレードすることはできません。