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

リリース 2.0.3

コミュニティユーザーと開発者のおかげで、Doris 2.0.3バージョンでは、オプティマイザ統計、転置インデックス、複合データタイプ、データレイク、レプリカ管理を含む約1000の改善とバグ修正が行われました。

1 動作変更

  • 複合データタイプarray/map/structの出力フォーマットが入力フォーマットとJSON仕様に一致するように変更されました。前バージョンからの主な変更点は、DATE/DATETIMEとSTRING/VARCHARが二重引用符で囲まれ、ARRAY/MAP内のnull値がNULLではなくnullとして表示されることです。
  • SHOW_VIEW権限がサポートされました。SELECTまたはLOAD権限を持つユーザーは、'SHOW CREATE VIEW'ステートメントを実行できなくなり、SHOW_VIEW権限を別途付与される必要があります。

2 新機能

2.1 オプティマイザの統計の自動収集をサポート

統計の収集は、オプティマイザがデータ分散特性を理解し、より良いプランを選択してクエリ性能を大幅に向上させるのに役立ちます。バージョン2.0.3から正式にサポートされ、デフォルトで終日有効になっています。

2.2 より多くのデータレイクソースで複合データタイプをサポート

2.3 ビルトイン関数の追加

3 改善と最適化

3.1 性能最適化

  • フィルタ率の高い転置インデックスMATCH WHERE条件と、フィルタ率の低い通常のWHERE条件が組み合わされた場合、インデックス列のI/Oが大幅に削減されます。
  • whereフィルタ後のランダムデータアクセスの効率を最適化。
  • JSONデータタイプに対する従来のget_json_xx関数の性能を2~4倍最適化。
  • データ読み取りスレッドの優先度を下げる設定をサポートし、リアルタイム書き込み用のCPUリソースを確保。
  • largeintを返すuuid-numeric関数を追加。文字列を返すuuid関数より20倍高速。
  • case whenの性能を3倍最適化。
  • ストレージエンジンの実行で不要な述語計算を削除。
  • countオペレータをストレージ層にプッシュダウンしてcount性能を向上。
  • andやor式でのnullableタイプの計算性能を最適化。
  • より多くのシナリオでjoin前のlimitオペレータの書き換えをサポートし、クエリ性能を向上。
  • インラインビューから不要なorder byオペレータを削除してクエリ性能を向上。
  • 一部のケースでカーディナリティ推定とコストモデルの精度を最適化。
  • jdbc catalogの述語プッシュダウンロジックを最適化。
  • ファイルキャッシュを初回有効化する際の読み取り効率を最適化。
  • hiveテーブルsqlキャッシュポリシーを最適化し、HMSに保存されたパーティション更新時刻を使用してキャッシュヒット率を向上。
  • mow compactionの効率を最適化。
  • 外部テーブルクエリのスレッド配分ロジックを最適化してメモリ使用量を削減。
  • カラムリーダーのメモリ使用量を最適化。

3.2 分散レプリカ管理の改善

分散レプリカ管理の改善には、パーティション削除のスキップ、colocateグループ削除、継続的な書き込みによるバランス失敗、ホットコールドセパレーションテーブルバランスが含まれます。

3.3 セキュリティ強化

4 バグ修正と安定性

4.1 複合データタイプ

4.2 転置インデックス

4.3 マテリアライズドビュー

4.4 テーブルサンプル

4.5 merge on writeのunique

4.6 ロードとcompaction

4.7 データレイク互換性

4.8 JDBC外部テーブル互換性

4.9 SQLプランナーとオプティマイザ

その他

改善とバグ修正の完全なリストはgithub dev/2.0.3-mergedをご覧ください。