DuckDB 是一個開源的列式關聯數據庫管理系統RDBMS),最初由 Mark RaasveldtHannes Mühleisen荷蘭的 Centrum Wiskunde & Informatica (CWI) 開發,並於2019年首次發布。項目背後的團隊表示,每月有數百萬次下載。它被設計用於在嵌入式配置中對大型資料庫進行複雜查詢時提供高性能,例如合併具有數百列和數十億行的表。與其他嵌入式數據庫(例如 SQLite)不同,DuckDB 並不專注於事務處理(OLTP)應用,而是專門用於在線分析處理(OLAP)工作負載。

DuckDB 在其 OLAP 利基市場中不與傳統的 DBMS(如 MSSQLPostgreSQLOracle 資料庫)競爭。雖然使用 SQL 進行查詢,但 DuckDB 針對無服務器應用,並通過使用 Apache Parquet 文件進行存儲來提供極快的響應速度。這些特性使其成為交互模式下大數據集分析的熱門選擇,但不太符合企業數據存儲的要求。

DuckDB 使用向量化查詢處理引擎。DuckDB 沒有任何外部依賴,只需要一個 C++11 編譯器就能完整編譯。DuckDB 也和傳統的客戶端-服務器模型不同,它會在宿主行程中執行(例如,它有 Python 解譯器的綁定,能夠直接將資料放入 NumPy 陣列中)。

商業應用

FacebookGoogleAirbnb 都有使用 DuckDB。

DuckDB 的共同作者 Mühleisen 也經營一家名為 DuckDB Labs 的軟體支援和諮詢公司。該公司不接受風險投資,而是聲明「我們認為投資會迫使項目走向盈利化,我們更希望保持 DuckDB 的開源狀態,讓更多人能夠使用」。

MotherDuck 使用 DuckDB 作為資料平台,它獲得了 1 億美元的資金,投資者包括 Andreessen Horowitz。

外部連結