隨着數據集的不斷擴大和分佈式處理的複雜性加劇,現代數據工作流面臨越來越大的挑戰。許多組織發現,傳統的數據處理系統在處理時間、內存限制和分佈式任務管理方面存在顯著的短板。在這樣的背景下,數據科學家和工程師往往需要花費大量時間在系統維護上,而非從數據中提取有價值的見解。顯然,市場迫切需要一種既能簡化流程又不犧牲性能的工具。

最近,DeepSeek AI 發佈了 Smallpond,這是一個輕量級的數據處理框架,基於 DuckDB 和3FS 構建。Smallpond 旨在將 DuckDB 在進程內的高效 SQL 分析擴展到分佈式環境中。通過與3FS—— 一種針對現代 SSD 和 RDMA 網絡優化的高性能分佈式文件系統 —— 的結合,Smallpond 爲處理大型數據集提供了實用的解決方案,避免了長時間運行服務的複雜性和高昂的基礎設施開銷。
Smallpond 框架設計簡單且模塊化,與 Python3.8至3.12版本兼容,用戶可以通過 pip 快速安裝,迅速開始數據處理。框架的一大亮點是支持手動數據分區,用戶可以根據文件數量、行數或特定列的哈希值來進行分區,這種靈活性使得用戶能夠根據自身的數據和基礎設施進行定製處理。
在技術層面,Smallpond 充分利用 DuckDB 的原生 SQL 查詢性能,並與 Ray 集成以實現分佈式計算節點的並行處理。這種結合不僅簡化了擴展操作,還確保在多個節點之間高效處理工作負載。此外,通過避免持久化服務,Smallpond 降低了通常與分佈式系統相關的運營開銷。
在性能測試中,Smallpond 在 GraySort 基準測試中表現出色,僅用30多分鐘就對110.5TiB 的數據進行了排序,平均吞吐量達到了每分鐘3.66TiB。這些性能指標表明,Smallpond 能夠滿足處理從數 TB 到 PB 級別數據的組織需求。作爲一個開源項目,Smallpond 也歡迎用戶和開發者的參與,以實現進一步的優化和適應多樣化的使用場景。
Smallpond 爲分佈式數據處理邁出了重要一步,它通過將 DuckDB 的高效性擴展到分佈式環境中,結合3FS 的高吞吐能力,爲數據科學家和工程師提供了一個實用的工具。無論是處理小型數據集還是擴展到 PB 級別的操作,Smallpond 都是一個有效且易於接入的框架。
項目:https://github.com/deepseek-ai/smallpond?tab=readme-ov-file
劃重點:
🌟 Smallpond 是 DeepSeek AI 推出的輕量級數據處理框架,基於 DuckDB 和3FS 構建。
⚙️ 支持 Python3.8至3.12,用戶可快速安裝並靈活定製數據處理。
🚀 在 GraySort 基準測試中,Smallpond 以超高性能展示了其處理 TB 級數據的能力。
