Apache Doris 2.0.3 版本正式釋出
親愛的社群小夥伴們, Apache Doris 2.0.3 版本已於 2023 年 12 月 14 日正式釋出,該版本對複雜資料型別、統計資訊收集、倒排索引、資料湖分析、分散式副本管理等多個功能進行了最佳化 ,歡迎大家下載體驗。
此外,由衷感謝 104 位貢獻者,他們為 Apache Doris 2.0.3 版本提交了超過 1000 個功能最佳化項以及問題修復,為效能及穩定性提升做出重要貢獻。
新增特性
自動統計資訊收集
統計資訊是 CBO 最佳化器進行代價估算時的依賴,透過收集統計資訊有助於最佳化器瞭解資料分佈特性、執行計劃成本估算以及執行計劃選擇,用於查詢效率的提升。
從 2.0.3 版本開始,Apache Doris 支援了自動統計資訊收集,並預設為開啟狀態。在每次匯入事務提交後,Apache Doris 會記錄匯入事務更新的表資訊,並估算表統計資訊的健康度。當健康度低於配置引數時,Doris 將自動觸發統計資訊收集作業。為了降低統計資訊作業的資源開銷,Apache Doris 會自動採取取樣的方式收集統計資訊,使用者也可根據需求調整引數以獲得更準確的資料分佈資訊。
更多資訊請參考:
資料湖框架支援複雜資料型別
l
Java UDF、JDBC catalog、Hudi MOR 表等功能支援複雜資料型別
l
Paimon catalog 支援複雜資料型別
l
Paimon catalog 支援 Paimon 0.5 版本
增加更多內建函式
l
新最佳化器支援
BitmapAgg 函式
l
支援
SHA 系列摘要函式
l
聚合函式
min_by 和 max_by 支援 bitmap 資料型別
l
增加
milliseconds/microseconds_add/sub/diff 函式
l
增加
json_insert, json_replace, json_set JSON 函式
改進最佳化
效能最佳化
l 在過濾率高的倒排索引 match where 條件和過濾率低的普通 where 條件組合時,大幅降低索引列的 IO
l 最佳化經過 where 條件過濾後隨機讀資料的效率
l 最佳化在 JSON 資料型別上使用老的 get_json_xx 函式的效能,提升 2-4 倍
l 支援配置降低讀資料執行緒的優先順序,保證寫入的 CPU 資源和實時性
l 增加返回 largeint 的 uuid-numeric 函式,效能比返回 string 的 uuid 函式快 20 倍
l Case when 的效能提升 3 倍
l 在儲存引擎執行中裁剪不必要的謂詞計算
l 支援 count 運算元下推到儲存層
l 最佳化支援 and or 表示式中包含 nullable 型別的計算效能
l 支援更多場景下 limit 運算元提前到 join 前執行的改寫,以提升執行效率
l 增加消除 inline view 中的無用的 order by 運算元,以提升執行效率
l 最佳化了部分情況下的基數估計和代價模型的準確性,以提升執行效率
l 最佳化了 JDBC catalog 的謂詞下推邏輯和大小寫邏輯
l 最佳化了 file cache 的第一次開啟後的讀取效率
l 最佳化 Hive 表 SQL cache 策略,使用 HMS 中儲存的分割槽更新時間作為 cache 是否失效的判斷,提高 cache 命中率
l 最佳化了 Merge-on-Write compaction 效率
l 最佳化了外表查詢的執行緒分配邏輯,降低記憶體使用
l 最佳化 column reader 的記憶體使用
分散式副本管理改進
l 最佳化跳過刪除分割槽、 colocate group、持續寫時均衡失敗、冷熱分層表不能均衡等;
安全性提升
l
審計日誌外掛的配置使用
token 代替明文密碼以增強安全性
l
log4j 配置安全性增強
l
日誌中不顯示使用者敏感資訊
Bugfix 和穩定性提升
複雜資料型別
l
修復了
map/struct 對定長 CHAR(n) 沒有正確截斷的問題
l
修復了
struct 巢狀 map/array 寫入失敗的問題
l
修復了
count distinct 不支援 array/map/struct 的問題
l
解決
query 中出現 delete 複雜型別之後,升級過程中出現 BE crash 的問題
l
修復了
jsonb 在 where 條件中 BE crash 問題
l
修復了
outer join 中有 array 型別時 BE crash 的問題
l
修復
orc 格式 decimal 型別讀取錯誤的問題
倒排索引
l
修復了關閉倒排索引查詢時
OR NOT 組合 where 條件結果錯誤的問題
l
修復了空陣列的倒排索引寫入時
BE crash 的問題
l
修復輸出為空的情況下
index compaction BE crash 的問題
l
修復新增列沒有寫入資料時,增加倒排索引
BE crash 的問題
l
修復
1.2 版本誤建倒排索引後升級 2.0 等情況下倒排索引硬鏈缺失和洩露的問題
物化檢視
l
修復
group by 語句中包括重複表示式導致 BE crash 的問題
l
禁止檢視建立時
group by 子句中使用 float/double 型別
l
增強支援了
select 查詢命中物化檢視的功能
l
修復當使用了表的
alias 時物化檢視不能命中的問題
l
修復了建立物化檢視中使用
percentile_approx 的問題
取樣查詢
l
修復
table sample 功能在 partition table 上無法正常工作的問題
l
修復
table sample 指定 tablet 無法工作的問題
主鍵表
l
修復基於主鍵條件更新的空指標異常
l
修復部分列更新欄位名大小寫問題
l
修復
schema change 時 mow 會出現重複 key 的問題
匯入和 Compaction
l
修復
routine load 多表時 unkown slot descriptor 錯誤
l
修復記憶體統計併發訪問導致
BE crash 問題
l
修復重複取消匯入導致
BE crash 的問題
l
修復
broker load 時 broker 連線報錯問題
l
修復
compaction 和 scan 併發下 delete 謂詞可能導致查詢結果不對的問題
l
修復
compaction task 存在時列印大量 stacktrace 日誌的問題
資料湖相容性
l
解決
iceberg 表中包含特殊字元導致查詢失敗的問題
l
修復
Hive metastore 不同版本的相容性問題
l
修復讀取
MaxCompute 分割槽表錯誤的問題
l
修復備份到物件儲存失敗的問題
JDBC 外表相容性
l
修復
JDBC catalog 處理 Oracle 日期型別格式錯誤的問題
l
修復
JDBC catalog 讀取 MySQL 0000-00-00 日期異常的問題
l
修復從
MariaDB 讀取資料時間型別預設值為 current_timestamp 時空指標異常問題
l
修復
JDBC catalog 處理 bitmap 型別時 BE crash 的問題
SQL規劃和最佳化
l
修復了部分場景下分割槽裁剪錯誤的問題
l
修復了部分場景下子查詢處理不正確的問題
l
修復了部分語義解析的錯誤
l
修復
right outer/anti join 時,有可能丟失資料的問題
l
修復了謂詞被錯誤的下推穿過聚合運算元的問題
l
修正了部分情況下返回的結果
header 不正確的問題
l
包含有
nullsafeEquals 表示式(<=>)作為連線條件時,可以正確對規劃出 hash join
l
修復了
set operation 運算元中無法正確列裁剪的問題
行為變更
l
複雜資料型別
array/map/struct 的輸出格式改成跟輸入格式以及 JSON 規範保持一致,跟之前版本的主要變化是日期和字串用雙引號括起來,array/map 內部的空值顯示為 null 而不是 NULL。
l
預設情況下,當使用者屬性
resource_tags.location
沒有設定時,只能使用 default 資源組的節點,而之前版本中可以訪問任意節點。
l
支援
SHOW_VIEW 許可權,擁有 SELECT 或 LOAD 許可權的使用者將不再能夠執行
SHOW CREATE VIEW
語句,必須單獨授予 SHOW_VIEW 許可權。
來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/70017904/viewspace-3000783/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Apache Doris 2.0.5 版本正式釋出Apache
- Apache Doris 2.0.5 版本正式釋出!Apache
- Apache Doris 2.0.4 版本正式釋出Apache
- Apache Doris 3.0.3 版本正式釋出Apache
- Apache Doris 1.2.2 Release 版本正式釋出Apache
- Apache Doris 1.2.4 Release 版本正式釋出|版本通告Apache
- 更穩定!Apache Doris 1.2.1 Release 版本正式釋出Apache
- 全面進化!Apache Doris 1.2.0 Release 版本正式釋出|版本通告Apache
- Apache DolphinScheduler 3.2.2 版本正式釋出!Apache
- Apache APISIX 3.1.0 版本正式釋出ApacheAPI
- Apache Doris(incubating) 成功釋出第一個版本0.9.0ApacheBAT
- Apache HugeGraph1.0.0 版本正式釋出!Apache
- Apache SeaTunnel 2.3.8版本正式釋出!Apache
- 特性速覽| Apache Hudi 0.5.3版本正式釋出Apache
- Apache Flink 1.16 正式釋出Apache
- Apache APISIX Ingress 1.6 正式釋出!ApacheAPI
- 重磅!Apache Kafka 3.3 正式釋出!ApacheKafka
- openGauss 2.0.0 版本正式釋出
- 重磅|Apache ShardingSphere 5.0.0 即將正式釋出Apache
- Apache Dubbo 正式釋出 HTTP/3 版本 RPC 協議,弱網效率提升 6 倍ApacheHTTPRPC協議
- Apache Hudi 0.6.0版本重磅釋出Apache
- Apache Hudi 0.13.0版本重磅釋出!Apache
- Apache Hudi 0.8.0版本重磅釋出Apache
- SuperEdge v0.6.0 版本正式釋出
- [版本釋出]ThinkOX V1正式版釋出【版本號V1.0.2】
- 如何完成一次Apache的版本釋出Apache
- 專案動態|Apache Pulsar 2.7.4 版本釋出Apache
- Semantic Kernel 正式釋出 v1.0.1 版本
- 為.netcore助力--WebApiClient正式釋出core版本NetCoreWebAPIclient
- Apache Spark 3.0 預覽版正式釋出,多項重大功能釋出ApacheSpark
- Apache Dubbo 多語言體系再添新員:首個 Rust 語言版本正式釋出ApacheRust
- Apache Flink 1.6.0 正式釋出,涵蓋多項重要更新Apache
- 棄用Java 8,Apache Kafka釋出3.0正式版JavaApacheKafka
- OpenHarmony 4.1 Release版本正式釋出,邀您體驗
- Taro 正式釋出 3.4 版本: 全面支援 Preact & Vue 3.2ReactVue
- 體驗 正式釋出 的OSM v1.0.0 版本
- 時序資料庫 TDengine 3.0.2.0 版本正式釋出資料庫
- Spring Cloud 2020.0.0 正式釋出,全新顛覆性版本!SpringCloud