近日,Apache Doris(incubating) 透過社群投票,成功釋出第一個版本0.9.0。
Doris 是什麼?
Doris(原百度 Palo)是一款基於大規模並行處理技術的分散式 SQL 資料庫,由百度在2017年開源,2018年進入 Apache 孵化器。
Doris 的主要特性
1. 相容MySQL協議,支援包括多表Join、子查詢、視窗函式、CTE在內的豐富的SQL語法。支援諸多常見BI報表系統,能極大降低使用者的學習和遷移成本。
2. 支援高併發點查詢和高吞吐的多維分析查詢場景。透過分割槽裁剪、預聚合、謂詞下推、向量化執行等技術,以及高效的列式儲存引擎即資料壓縮演算法,滿足不同業務場景下的延遲和吞吐需求。
3. 特有的資料預聚合功能。支援預聚合表和基準表同步原子更新,為報表場景提供更快速的查詢響應。
4. 提供強大的擴充套件性和高可用特性。所有資料都採用多副本的方式保證資料的高可靠。同時提供全自動的副本選擇、均衡和修復功能,為使用者提供7*24 小時的高可用資料庫系統。
5. 提供友好的線上表結構變更功能,能有效應對業務上的需求變化。
6. 提供兩級資料劃分功能以及分層儲存功能。使用者可以更靈活的對資料進行管理和維護。
Doris在百度內部已應用於包括百度鳳巢、百度統計等200多個業務線。最大單一業務資料量超過500TB。同時在百度公有云和toB業務中也獲得了高度認可。自開源以來,已有包括小米、美團、搜狐、新浪微博、瓜子、鏈家、上海繹維、零售魔方、量化派在內的十多家公司將 Doris 使用在生產環境中。
首個 Release 版本釋出
作為 Doris 進入 Apache 孵化器以來的第一個Release版本,該版本在功能、效能、易用性、穩定性方面做了諸多改進。下面介紹本次釋出的一些主要功能
1. 流式匯入
之前版本中,Doris只支援批次的非同步匯入方式。這樣的匯入方式對Kafka、Spark Streaming等流式系統來說並不友好。另外,批次匯入執行過程中有多次落盤操作,導致匯入整體效率不高,單機匯入速度大概在10-20MB/s。
新的匯入方式,採用micro-batch的思想,Doris一方面支援了同步匯入資料,方便對接流式資料來源;另一方面也極大的提高了匯入效率,單節點匯入吞吐能夠達到100MB/s;小資料量匯入延時從分鐘級降低到毫秒級。
2. Co-Location Join
透過對錶資料分佈的管理,支援多表資料的原地Join操作。減少Join操作的網路傳輸,極大降低Join類查詢的延遲。(感謝美團同學的貢獻)
3. 高效的資料分片管理
透過引入RocksDB來儲存資料分片的元資訊,極大地減少隨機IO 操作。單機50萬分片啟動時間從10分鐘降到了20秒。
4. 更豐富的叢集狀態查詢和管理
提供多達100多項監控指標,以及豐富的監控Dashboard;提供當前查詢和歷史查詢的資源消耗展示和統計;提供更完善的副本管理和狀態查詢工具。方便運維人員快速定位系統故障和找出效能瓶頸。
5. 提供Docker 開發環境映象
開發人員無需再應對複雜的編譯依賴,可以在絕大部分環境下快速搭建Doris編譯除錯環境。
6. Apache License 2.0
License 修改為 Apache License 2.0,任何公司或者個人都可以自由的使用和開發Doris。
7. Bug及穩定性問題修復
多達30餘項BUG及穩定性問題修復。助力Doris成為更成熟穩定的資料庫產品。
目前也有越來越多的開發者加入Doris社群。Doris團隊非常感謝使用者的支援,將一如既往的努力,推進Doris向著更開放、合作、商業化更友好、周邊工具更豐富的方向不斷前進。
同時,我們也維護了 Doris 的百度分支。百度分支將會與社群分支保持同步,並更快速的修復 Bug,且更加頻繁的進行版本釋出。使用者可以將百度分支的釋出版本用於生產環境以保證更加穩定的線上服務。
Doris計劃在2019年4月釋出下一個Apache官方版本。在新的版本中,Doris將增加與Kafka的資料對接能力,支援對ElasticSearch的資料查詢能力,以及包括使用者自定義函式(UDF),Decimal資料型別改進等多項功能更新和效能最佳化。
敬請期待,歡迎體驗!