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设置处理新增或变更的文件。