datachain-ai/datachain
The Context Layer for unstructured data: typed, versioned datasets over S3, GCS, Azure
What it solves
DataChain 解決了管理、查詢與處理儲存在雲端 bucket(S3、GCS、Azure)中的大量非結構化資料(如影像、影片與文件)的困難。它消除將資料複製到資料庫的需求,提供資料集版本化的方式,並允許在不將整個資料集載入記憶體的情況下,以高速進行中繼資料查詢與相似度搜尋。
How it works
DataChain 充當「情境層」,透過 Pydantic schema 將雲端儲存索引成具型別的資料集。它由三個主要元件組成:
- Compute Engine:一個平行且分散式的 Python 引擎,對檔案執行使用者自訂函式(UDF),具備 async I/O、失敗執行的 checkpoint 復原,以及僅處理新檔案的增量更新。
- Dataset DB:持久化儲存(本機 SQLite),追蹤 schema、版本、檔案指標與中繼資料。這使得在數百萬筆記錄上能以毫秒級的過濾、join 與向量相似度搜尋。
- Knowledge Base:衍生的 markdown 摘要層,讓資料集結構與血統對人類與 AI 代理皆可讀取。
Who it’s for
此工具設計給資料工程師與 AI 實務者,需為非結構化資料建構具彈性的資料管線,並希望將資料情境直接整合至 AI 代理工作流程(例如使用 Claude Code、Cursor 或 GitHub Copilot)。
Highlights
- Zero-copy indexing:資料保留在雲端儲存中;僅管理中繼資料與指標。
- Resilient pipelines:自動 checkpoint 讓管線在崩潰後可從最後成功的批次恢復。
- Warehouse-speed queries:向量與中繼資料過濾以向量化操作對 Dataset DB 執行。
- Agent Integration:內含「skill」,讓 AI 代理能理解資料 schema 並自動產生管線。
- Incremental Processing:僅使用
delta=True設定處理新增或變更的檔案。