Apache Doris 3.0.3 版本正式釋出

SelectDB技术团队發表於2024-12-09

親愛的社群小夥伴們,Apache Doris 3.0.3 版本已於 2024 年 12 月 02 日正式釋出。 該版本進一步提升了系統的效能及穩定性,歡迎大家下載體驗。

  • GitHub 下載:https://github.com/apache/doris/releases
  • 官網下載:https://doris.apache.org/download

行為變更

  • 禁止在具有同步物化檢視的 MOW 表上進行列更新。#40190
  • 調整 RoutineLoad 的預設引數以提升匯入效率。#42968
  • 當 StreamLoad 失敗時,LoadedRows 的返回值調整為 0。#41946 #42291
  • 將 Segment cache 的預設記憶體限制調整為 5%。#42308 #42436

新特性

  • 引入 enable_cooldown_replica_affinity 會話變數,用以控制冷熱分層副本的親和性。#42677

Lakehouse

  • 新增 table$partition 語法,用於查詢 Hive 表的分割槽資訊。#40774 檢視文件
  • 支援建立 Text 格式的 Hive 表。#41860 #42175 檢視文件

非同步物化檢視

  • 引入新的物化檢視屬性 use_for_rewrite。當 use_for_rewrite 設定為 false 時,物化檢視不參與透明改寫。#40332

查詢最佳化器

  • 支援關聯非聚合子查詢。#42236

查詢執行

  • 增加了 ngram_searchnormal_cdfto_iso8601from_iso8601_dateSESSION_USER()last_query_id 函式。#38226 #40695 #41075 #41600 #39575 #40739
  • aes_encryptaes_decrypt 函式支援 GCM 模式。#40004
  • Profile 中輸出變更的會話變數值。#41016 #41318

半結構化資料管理

  • 新增陣列函式 array_match_allarray_match_any#40605 #43514
  • 陣列函式 array_agg 支援在 ARRAY 中巢狀 ARRAY/MAP/STRUCT。#42009
  • 新增近似聚合統計函式 approx_top_kapprox_top_sum#44082

改進與最佳化

儲存

  • 支援將 bitmap_empty 作為預設值。#40364
  • 引入 insert_timeout 會話變數,用以控制 DELETE 語句的超時時間。#41063
  • 改進部分錯誤提示資訊。#41048 #39631
  • 改進副本修復的優先順序排程。#41076
  • 提高了建表時對時區處理的魯棒性。#41926 #42389
  • 在建立表時檢查分割槽表示式的合法性。#40158
  • 在 DELETE 操作時支援 Unicode 編碼的列名。#39381

存算分離

  • 存算分離模式支援 ARM 架構部署。#42467 #43377
  • 最佳化檔案快取的淘汰策略和鎖競爭,提高命中率及高併發點查效能。#42451 #43201 #41818 #43401
  • S3 storage vault 支援 use_path_style,解決物件儲存使用自定義域名的問題。#43060 #43343 #43330
  • 最佳化存算分離配置及部署,預防不同模式下的誤操作。#43381 #43522 #43434 #40764 #43891
  • 最佳化可觀測性,並提供刪除指定 segment file cache 的介面。#38489 #42896 #41037 #43412
  • 最佳化 Meta-service 運維介面:RPC 限速及修復 tablet 後設資料修正。#42413 #43884 #41782 #43460

Lakehouse

  • Paimon Catalog 支援阿里雲 DLF 和 OSS-HDFS 儲存。#41247 #42585 檢視文件
  • 支援讀取 OpenCSV 格式的 Hive 表。#42257 #42942
  • 最佳化了訪問 External Catalog 中 information_schema.columns 表的效能。#41659 #41962
  • 使用新的 Max Compute 開放儲存 API 訪問 Max Compute 資料來源。#41614
  • 最佳化了 Paimon 表 JNI 部分的排程策略,使得掃描任務更加均衡。#43310
  • 最佳化了 ORC 小檔案的讀取效能。#42004 #43467
  • 支援讀取 brotli 壓縮格式的 parquet 檔案。#42177
  • information_schema 庫下新增 file_cache_statistics 表,用於檢視後設資料快取統計資訊。#42160

查詢最佳化器

  • 最佳化:當查詢僅註釋不同時,可以複用同一個 SQL Cache。#40049
  • 最佳化:提升了在資料頻繁更新時統計資訊的穩定性。#43865 #39788 #43009 #40457 #42409 #41894
  • 最佳化:提升常量摺疊的穩定性。#42910 #41164 #39723 #41394 #42256 #40441
  • 最佳化:列裁剪可以生成更優的執行計劃。#41719 #41548

查詢執行

  • 最佳化了 sort 運算元的記憶體使用。#39306
  • 最佳化了 ARM 下運算的效能。#38888 #38759
  • 最佳化了一系列函式的計算效能。#40366 #40821 #40670 #41206 #40162
  • 使用 SSE 指令最佳化 match_ipv6_subnet 函式的效能。#38755
  • 在 insert overwrite 時支援自動建立新的分割槽。#38628 #42645
  • 在 Profile 中增加了每個 PipelineTask 的狀態。#42981
  • IP 型別支援 runtime filter。#39985

半結構化資料管理

  • 審計日誌中輸出 prepared statement 的真實 SQL。#43321
  • filebeat doris output plugin 支援容錯、進度報告等。#36355
  • 倒排索引查詢效能最佳化。#41547 #41585 #41567 #41577 #42060 #42372
  • 陣列函式 array overlaps 支援使用倒排索引加速。#41571
  • IP 函式 is_ip_address_in_range 支援使用倒排索引加速。#41571
  • 最佳化 VARIANT 資料型別的 CAST 效能。#41775 #42438 #43320
  • 最佳化 Variant 資料型別的 CPU 資源消耗。#42856 #43062 #43634
  • 最佳化 Variant 資料型別的後設資料和執行記憶體資源消耗。#42448 #43326 #41482 #43093 #43567 #43620

許可權

  • LDAP 新增配置項 ldap_group_filter 用於自定義過濾 group。#43292

其他

  • FE 監控項中的連線數資訊支援按使用者分別顯示。#39200

問題修復

儲存

  • 修復 IPv6 hostname 使用問題。#40074
  • 修復 broker/s3 load 進度展示不準確問題。#43535
  • 修復查詢從 FE 可能卡住的問題。#41303 #42382
  • 修復異常情況下自增 id 重複的問題。#43774 #43983
  • 修復 groupcommit 偶發 NPE 問題。#43635
  • 修復 auto bucket 計算不準確的問題。#41675 #41835
  • 修復 FE 重啟時流控多表不能正確規劃的問題。#41677 #42290

存算分離

  • 修復 MOW 主鍵表 delete bitmap 過大可能導致 coredump 的問題。#43088 #43457 #43479 #43407 #43297 #43613 #43615 #43854 #43968 #44074 #41793 #42142
  • 修復 segment 檔案為 5MB 整數倍時上傳物件失敗的問題。#43254
  • 修復 aws sdk 預設重試策略不生效的問題。#43575 #43648
  • 修復 alter storage vault 時指定錯誤 type 也能繼續執行的問題。#43489 #43352 #43495
  • 修復大事務延遲提交過程中 tablet_id 可能為 0 的問題。#42043 #42905
  • 修復常量摺疊 RCP 以及 FE 轉發 SQL 可能不在預期的計算組執行的問題。#43110 #41819 #41846
  • 修復 meta-service 接收到 RPC 時不嚴格檢查 instance_id 的問題。#43253 #43832
  • 修復 FE follower information_schema version 沒有及時更新的問題。#43496
  • 修復 file cache rename 原子性以及指標不準確的問題。#42869 #43504 #43220

Lakehouse

  • 禁止帶有隱式轉換的謂詞條件下推給 JDBC 資料來源,避免不一致的查詢結果。#42102
  • 修復 Hive 高版本事務表的一些讀取問題。#42226
  • 修復 Export 命令可能導致死鎖的問題。#43083 #43402
  • 修復無法查詢 Spark 建立的 Hive 檢視的問題。#43552
  • 修復 Hive 分割槽路徑中包含特殊字元導致分割槽裁剪有誤的問題。#42906
  • 修復 Iceberg Catalog 無法使用 AWS Glue 的問題。#41084

非同步物化檢視

  • 修復基表重建後,非同步物化檢視可能無法重新整理的問題。#41762

查詢最佳化器

  • 修復使用多列 range 分割槽時,分割槽裁剪結果可能有誤的問題。#43332
  • 修復部分 limit offset 場景下計算結果錯誤的問題。#42576

查詢執行

  • 修復 hash join 時 array 型別的大小超過 4G 導致 BE Core 的問題。#43861
  • 修復 is null 謂詞運算部分場景下結果不正確的問題。#43619
  • 修復 bitmap 型別在 hash join 時輸出結果不正確的問題。#43718
  • 修復一些函式結果計算錯誤的問題。#40710 #39358 #40929 #40869 #40285 #39891 #40530 #41948 #43588
  • 修復一些 JSON 型別解析的問題。#39937
  • 修復 varchar 和 char 型別在 runtime filter 運算時的問題。#43758 #43919
  • 修復一些 decimal256 在標量函式和聚合函式里使用的問題。#42136 #42356
  • 修復 arrow flight 在連線時報 Reach limit of connections 錯誤的問題。#39127
  • 修復 k8s 環境下,BE 可用記憶體統計不正確的問題。#41123

半結構化資料管理

  • 調整 segment_cache_fd_percentageinverted_index_fd_number_limit_percent 的預設值。[#42224](https://github.com/apache/doris/pull/42224
  • logstash 支援 group_commit。#40450
  • 修復 build index 時 coredump 的問題。#43246 #43298
  • 修復 variant index 的問題。#43375 #43773
  • 修復後臺 compaction 異常情況下可能出現的 fd 和記憶體洩漏。#42374
  • 倒排索引 match null 正確返回 null 而不是 false。#41786
  • 修復 ngram bloomfilter 索引 bf_size 設定為 65536 時 coredump 的問題。#43645
  • 修復複雜資料型別 JOIN 可能出 coredump 的問題。#40398
  • 修復 TVF JSON 資料 coredump 的問題。#43187
  • 修復 bloom filter 計算日期和時間的精度問題。#43612
  • 修復 IPv6 型別行存 coredump 的問題。#43251
  • 修復關閉 light_schema_change 時使用 VARIANT 型別 coredump 的問題。#40908
  • 提升高併發點查的 cache 效能。#44077
  • 修復刪除列時 bloom filter 索引沒有同步更新的問題。#43378
  • 修復 es catalog 在陣列和標量混合資料等特殊情況下的不穩定問題。#40314 #40385 #43399 #40614
  • 修復異常正則匹配導致的 coredump 問題。#43394

許可權

  • 修復若干許可權授權之後無法正常限制的問題。#43193 #41723 #42107 #43306
  • 加強若干許可權校驗。#40688 #40533 #41791 #42106

其他

  • 補充了審計日誌表和檔案中缺失的審計日誌欄位。#43303 檢視文件

相關文章