當前位置: 妍妍網 > 碼農

「鴨子資料庫」DuckDB正式釋出1.0穩定版:C++引擎程式碼超30萬行、百萬級月下載量

2024-06-05碼農

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

END

熱門文章

-

-

-

-

-