轉自:OSC開源社群(oschina2013)
DuckDB 1.0.0 代號 "Snow Duck"(雪鴨),寓意著 DuckDB 在數據分析領域已經達到了一個新的高度。
2024 年 6 月 3 日,備受矚目的數據分析引擎 DuckDB 迎來了一個重要的裏程碑 ——1.0.0 版本正式釋出。
DuckDB 是高效能的分析型關聯式資料庫,旨在實作高效的數據分析。它易於安裝,執行速度非常快,並且可以在行程內 (in-process) 執行。
DuckDB 背後的核心思想是保留 SQLite 的簡單性和易用性,同時透過 R/Python 和 RDBMS 之間的快速分析處理和快速數據傳輸進行增強,以處理 OLAP 工作負載。
該計畫被命名為 「DuckDB」,因為建立者認為鴨子具有彈性並且可以靠任何東西為生,類似於他們設想的資料庫系統執行方式 。
DuckDB 1.0.0 代號為 "Snow Duck"(雪鴨),寓意著 DuckDB 在數據分析領域已經達到了一個新的高度,同時也象征著 DuckDB 團隊對系統穩定性的不懈追求。
DuckDB 計畫始於 2018 年,經過近 6 年的不斷打磨,如今已發展成為一個擁有 30 多萬行 C++ 引擎程式碼、4.2 萬次程式碼送出、解決了 4000 個 issue 的成熟開源計畫。
DuckDB 以其卓越的查詢效能和易用性在業界贏得了廣泛贊譽,GitHub 和社交媒體平台上的關註者數以萬計,每月下載量高達數百萬次,僅擴充套件模組的下載流量就超過了每天 4TB。現在,就連維基百科也開始認可 DuckDB 的地位。
DuckDB 之所以選擇在此時釋出 1.0.0 版本,是因為團隊意識到,數據管理系統作為應用程式的核心元件,開發者和使用者之間存在著信任的契約。
使用者依賴資料庫提供正確的查詢結果並確保數據安全,而系統開發者需要意識到不能隨意破壞使用者應用程式的責任。
DuckDB 致力於成為人們構建應用程式的可靠基礎, 1.0.0 版本的釋出標誌著 DuckDB 在 儲存格式穩定性、查詢語意一致性等方面的重大突破,為使用者提供了強有力的穩定性保證 。
公告寫道,釋出v1.0.0的主要障礙之一是儲存格式 (storage format.)。DuckDB有自己的客製數據儲存格式。這種格式允許使用者在單個檔中管理許多(可能非常大的)表,具有完整的事務語意和最先進的壓縮。
但設計新的檔格式並非沒有挑戰,隨著時間的推移,DuckDB 必須對格式進行重大更改。這導致了 DuckDB 成為次優方案,即每當釋出新的DuckDB版本時,使用舊版本建立的檔無法與新的DuckDB版本配合使用,必須手動升級。
此問題在2月份的v0.10.0中得到了解決——引入了DuckDB儲存格式的回溯相容性和有限的前向相容性。團隊稱此功能現已使用一段時間,沒有出現嚴重問題——他們有信心保證使用DuckDB v1.0.0建立的DuckDB檔將與未來的DuckDB版本相容。
除了系統穩定性
,DuckDB 1.0.0
另一個核心方面是跨版本的穩定性。
雖然永遠不會破壞任何人的工作流程可能是不可能的,但他們
在今後會
更加謹慎地處理面向使用者的變化。
特別是,DuckDB
計劃專註於為SQL方言以及C API提供穩定性。
展望未來,DuckDB 將持續專註於系統穩定性,同時也計劃豐富 DuckDB 周邊的擴充套件環境。透過社群貢獻的擴充套件,DuckDB 有望成為下一個數據革命的基礎,為使用者提供高效能的統一 SQL 介面。
此外,DuckDB 背後有著強大的資金支持和長期發展戰略。
DuckDB Labs 公司目前擁有近 20 人的核心團隊,專註於 DuckDB 的長期戰略發展; 而非營利性的 DuckDB 基金會則確保了 DuckDB 在 MIT 開源授權下的長期發展。
P.S. 據稱 DuckDB Labs 公司 CTO Mark 是最主力的程式設計師,50%的程式碼是他一人完成,另外還有13個程式設計師,1個測試實習生,1個人負責開發者生態,1個人負責培訓與文件。
Reference
https://github.com/duckdb/duckdb/releases/tag/v1.0.0
https://duckdb.org/2024/06/03/announcing-duckdb-100.html
推薦閱讀 點選標題可跳轉
1、
2、
3、