親愛的社群小夥伴們,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_search
、normal_cdf
、to_iso8601
、from_iso8601_date
、SESSION_USER()
、last_query_id
函式。#38226 #40695 #41075 #41600 #39575 #40739 aes_encrypt
和aes_decrypt
函式支援 GCM 模式。#40004- Profile 中輸出變更的會話變數值。#41016 #41318
半結構化資料管理
- 新增陣列函式
array_match_all
和array_match_any
。#40605 #43514 - 陣列函式
array_agg
支援在 ARRAY 中巢狀 ARRAY/MAP/STRUCT。#42009 - 新增近似聚合統計函式
approx_top_k
和approx_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_percentage
和inverted_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 檢視文件