Lance 命名空间规范¶
Lance 命名空间是一个开放规范,建立在基于存储的 Lance 表和文件格式之上,旨在标准化对 Lance 表(又称 Lance 数据集)集合的访问。它描述了像 Apache Hive MetaStore (HMS)、Apache Gravitino、Unity Catalog 等元数据服务应该如何存储和使用 Lance 表,以及 ML/AI 工具和分析计算引擎应该如何与 Lance 表集成。
为什么是命名空间而不是目录?¶
在数据库系统中,描述容器概念的术语有很多,例如命名空间、目录、模式、数据库、元数据存储和元湖。其中,命名空间和目录在现代湖仓架构中变得最为突出。
术语目录通常暗示一个至少有两级的层次结构。例如,Apache Hive 使用目录 → 数据库 → 表模型,而 Apache Iceberg 的 REST 目录则采用目录 → 多级命名空间 → 表的层次结构。
相比之下,ML 和 AI 社区倾向于更扁平的组织模型。通常将数据集存储在简单的目录中,并使用标签等灵活系统进行分类,而不是僵化的层次结构。
为了更好地支持这种使用模式,Lance 采用术语命名空间来表示所有容器概念——包括传统上称之为目录的概念。通过 Lance 命名空间,我们提供了一个灵活的多级命名空间抽象,允许用户以最符合其数据组织策略的方式构建和管理 Lance 数据集。