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

リリース 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 より多くのdatalakeソースで複合データ型をサポート

2.3 組み込み関数の追加

3 改善と最適化

3.1 パフォーマンス最適化

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

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

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

3.3 セキュリティ強化

4 バグ修正と安定性

4.1 複合データ型

4.2 転置インデックス

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

4.4 テーブルサンプル

4.5 Unique with merge on write

4.6 ロードとコンパクション

4.7 Data Lake互換性

4.8 JDBC外部テーブル互換性

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

その他

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