分层命名空间 -ag真人官网
功能概述:
分层命名空间(namespace)是百度智能云推出的元数据管理功能。通过分层命名空间,可以很好的支持目录级别的mv与rename操作,同时优化常见读操作list、head,提升数据处理效率与性能,能很好的满足大数据领域的数据湖计算场景。
功能开通:
- 第一步:可提交工单说明需求,系统将为您开通使用权限。
- 第二步:获取权限后,通过bos工具或登录控制台创建需开启分层命名空间的存储桶。
功能架构:
优势:
- 大数据场景下也可以直接享受对象存储带来的自动化数据管理,存储低成本,数据强安全优势
-
原生基于对象的分层namespace带来了大数据计算场景下对于文件语义的高性能表现
- 支持高性能原子rename/delete dir/object
- 远超对象存储的list/head延迟
- 直接基于对象存储的大数据分析(all in object),节约额外的数据复制与流转、存储以及第三方服务费用
- 无额外的运维,管理及学习成本,充分享受对象存储的生态及工具
应用场景:
大数据分析与计算
大数据分析和大数据计算。对象存储作为云端最佳存储方案,bos 提供一整套高性能大数据计算ag真人官网的解决方案。在大数据场景中,bos 可以作为您本地自建或者云端 mapreduce计算集群 、hive、spark离线数仓集群的底层存储系统,原生分层命名空间能力,可以将大数据计算中的大规模批量操作如 rename、list、head 等操作的时延降低约 70%,突破传统对象存储支持大数据计算方案的延迟瓶颈。
使用方式:
目前分层命名空间功能仅支持华北-北京地域的新建存储桶(bucket)开启分层命名空间功能,开启后不支持关闭该功能。控制台开启分层命名空间的具体操作,详见。
您可以通过以下方式在开启了分层命名空间的bucket中创建目录、并进行目录的重命名或删除操作。
方式 | 说明 |
---|---|
各语言sdk | 丰富的demo |
控制台 | 页面操作直观易用,方便操作 |
命令行工具(bos cmd) | 简单易用 |
功能支持与限制
支持
- 支持文件、目录语义和操作
- 目录原子性、毫秒级rename
- 优化读性能
- 支持平层对象存储绝大部分功能
限制
开启分层命名空间的存储桶支持功能与平层命名空间存储桶基本相同,均支持对象级别操作基本均支持比如:上传、下载、复制等;存储桶级别的配置功能如生命周期、事件通知、日志管理等也可正常使用,目前相比起平层命名空间存储桶仅有少部分功能暂不支持,若您有需求可提交工单反馈,具体说明如下:
bucket相关功能
- 不支持回收站
object相关功能
- 不支持追加写(append)文件
- 不支持归档存储类型文件
- 不支持设置和修改文件访问控制权限(object acl)
- 不支持上传带内容的目录(即上传内容非空但文件名末尾是
/
的文件) - 不支持文件软链接功能
接口调整
由于分层命名空间特性导致部分bos api会有部分兼容和语义上的调整,如下所示:
listobjects
对于 平层命名空间存储桶,分层命名空间下的listobjects api的请求参数有所调整,具体说明参见下表,平层命名空间 listobjects详情请查看。
字段 | 类型 | 是否必需 | 描述 |
---|---|---|---|
delimiter | string | 否 | 分隔符; 分层namespace下listobjects必须指定,且只能为/ |
marker | string | 否 | object为字母序排列,从marker之后的第一个开始返回,为对象(文件)的全路径;分层命名空间下,将会返回父目录下的子文件或者子目录按照字典序大于marker的结果 |
maxkeys | int | 否 | 返回object列表长度最大为1000,默认值是1000,如果指定的值大于1000,按1000操作 |
prefix | string | 否 | 必须为对象的父目录,限定listobjects接口只能返回以prefix为父目录下的对象;prefix可以不以/ 结尾,bos会默认为其自动添加目录分隔符 |
特别说明
listobjects会将父目录下的所有子目录与对象按照字典序排序后返回;
listobjects在分层空间存储桶的目录下不再支持列出某个前缀(目录)下的所有文件,只支持根据给出的父目录信息列出子目录和子文件。