lance-format — Lance 格式
v7Lance v7 的参考资料 - 开放的列式湖仓格式,用于多模态 AI - 及其 Rust 工作空间(`lance`、`lance-table`、`lance-file`、`lance-encoding`、`lance-index`、`lance-io`、`lance-namespace` 等)。在直接构建于 Lance 包时使用 - 创建或读取 `.lance` 数据集、清单、片段、删除文件、2.x 文件格式和结构编码、向量/标量/全文/地理索引、MemWAL 流式写入、乐观并发提交和提交处理器、模式演化、版本控制、时间旅行、标签、分支、稳定行 ID、命名空间或对象存储配置。触发器包括 lance 包、`.lance` 文件、Lance 数据集、Lance 文件格式、结构编码、IVF_PQ、IVF_HNSW、IVF_RQ、RaBitQ、Lance FTS、zonemap、MemWAL、OCC 重试、Lance 模式演化、Lance 命名空间、pylance。这是 Lance 格式和引擎(`lance-format/lance` 仓库),而非 LanceDB 数据库产品 - 但同时也是 LanceDB 构建基础的正确参考资料。
运行时依赖
安装命令
点击复制技能文档
Lance v7 参考 Lance 是一种用于多模态 AI 的开源列式格式 - “一种比 Parquet 快 100 倍的列式数据格式,用于随机访问”。它不仅仅是一个格式,而是一个由多个互操作的规范组成的栈:文件格式、表格格式、索引格式、目录规范和命名空间客户端规范。Rust 工作区 lance-format/lance 实现了所有这些,以及 Python(pylance)和 Java 绑定。这个技能跟踪 v7.0.0-beta.16(lance-format/lance Git 标签)。请针对标签进行固定,而不是主分支 - Lance 每隔几天发布 beta 标签,下一个格式的编码可能会发生变化。深度参考是 references/lance-reference.md。为任何具体的模式、参数、proto 或约束加载它。这个文件是导向:先读它,然后跳转到您需要的参考部分。
Lance 与 LanceDB 这两个是不同的东西,将它们混淆会产生错误的答案。Lance - 格式和引擎。lance-format/lance 存储库;lance /lance-* Rust 箱;pylance。它为您提供数据集、文件/表格格式、索引、提交、扫描。直接被 DuckDB、Polars、Ray、Spark、PyTorch、DataFusion 或您自己的 Rust/Python 代码使用。这个技能是关于 Lance 的。LanceDB - 一个单独的数据库产品(lancedb/lancedb),建立在 Lance 之上。它添加了查询构建器 API、嵌入注册表、重新排名器作为 API、多语言 SDK 平等性和托管云/企业级别。这里不涉及。如果您在 Cargo.toml 中链接 lance 箱,您直接使用 Lance - 使用这个技能。如果一个问题是关于 LanceDB 内部的,底层存储层仍然是 Lance,因此这个技能仍然是格式本身的权威。
箱工作区 rust/ 下的 23 个箱目录。lance 是公共入口点;其余的是它下面的层。完整的表格,描述和引用在 references/lance-reference.md 第 2 节中。
箱角色 lance 公共入口点 - 数据集、扫描器、索引、提交 lance-table 表格格式 - 清单、功能标志、提交处理器、行 ID lance-file 文件格式 - 文件读取器/写入器 lance-encoding 结构编码、压缩(内部使用,不供外部使用) lance-index 标量/向量/FTS/系统索引 lance-io 对象存储、I/O 调度器 lance-core 共享错误/结果、缓存、数据类型 lance-datafusion DataFusion 粘合剂(exec、expr、planner、UDFs) lance-linalg SIMD L2/点/余弦/哈明核 lance-tokenizer FTS 标记器栈(简单、ngram、jieba、lindera、词干提取器) lance-geo 地理空间 UDFs(特性门控 geo) lance-namespace / -impls / -datafusion 命名空间特征、目录/REST 实现、DataFusion 目录桥 lance-arrow、lance-core、lance-tools、fsst、lance-bitpacking、... Arrow 扩展、CLI、压缩子箱 所有这些共享版本 = "7.0.0-beta.16",除了 lance-arrow-scalar(固定 58.0.0,跟踪 Arrow)和 lance-namespace-datafusion(固定 7.0.0-beta.9)。工作区:版本 2024,rust-version = 1.91.0,解析器 = "3"。
文件格式版本 文件格式携带一个单一的主要.次要版本。每个数据集在创建时通过 data_storage_version 选择并固定一旦数据集存在(要更改它,请重写数据集)。版本 状态 备注 0.1(遗留) 只读 原始格式;不再可写 2.0 稳定 删除行组;列表/FSL/原始类型的 null 支持 2.1 当前默认(稳定) 自适应结构编码;更好的整数/字符串压缩;结构字段中的 null;更好的嵌套随机访问。自 Lance 5.0.0 起默认 2.2 下一个(不稳定) 地图类型、Blob v2、VariablePackedStruct、更大的迷你块。Map 和 Blob v2 所需;编码可能仍然会发生变化 stable 和 next 是别名,通过运行的 Lance 版本解析 - 固定一个显式的数字以获得确定性的行为。
v7 中的新功能 v6 -> v7 边界是一个破坏性变化:feat!:使数据集对象存储访问基于基础(#6647)- 对象存储访问现在范围为数据集基础,而不是平面全局路径,这支持多基础存储(热/冷分层、浅克隆)。v7 beta 中的主要主题是 MemWAL - 一个用于高吞吐量流式写入的实验性 LSM/预写日志架构(WAL 附加器/尾部原语、分片写入器、Lance 原生内存 HNSW 索引、共享内存:// 对象存储方案)。同时登陆 v7 时代:分支(Git 风格,沿着标签)、分段和分布式索引构建(FTS、位图、btree)、较新的标量索引(zonemap、bloom filter、ngram)、geo/RTree 索引和 lance-geo 箱、清单版本提示用于快速查找最新版本,以及目录/命名空间/表格/索引规范的正式拆分。详细信息在 references/lance-reference.md 第 14 节中。
导航参考 references/lance-reference.md 是完整的 v7 参考,重新定位到 v7.0.0-beta.16 源。加载您任务的部分:什么是 Lance - 湖仓库规范栈 箱工作区 - 所有 23 个箱,什么做什么,公共入口点 文件格式 - 版本、包含...