打开 OSS 多版本:合规和分析两不误 | 学习笔记

开发者学堂课程【数据湖 JindoFS + OSS 实操干货36讲打开 OSS 多版本:合规和分析两不误 】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/833/detail/13971


打开 OSS 多版本:合规和分析两不误

 

内容介绍

一、      背景介绍

二、      功能

1.    OSS支持功能

2.    OSS对象数据多版本管理

3.    OSS对象数据多版本状态

4.    开启/暂停OSS多版本

5.    使用注意事项

6.    查看对象的多版本

7.    JindoFS OSS SDK的优化

 

一、   背景介绍:阿里云对象存储 OSS

1.    一种海量、安全、低成本、高可靠的云存储服务;

2.    适合存放任意类型的文件;

3.    提供容量和处理能力弹性扩展;

4.    提供多种存储类型供选择;

5.    数据设计持久性不低于99.9999999999%(12个9),服务可用性(或业务连续性)不低于99.995%。

 

二、   功能

1.    OSS 支持功能

1)    数据的上传以及下载;

2)    OSS 对象生命周期的管理;

3)    同城/异地的数据容灾;

4)    OSS 对象数据保留合规;

5)    数据的加密解密;

6)    数据的多版本管理

https://help.aliyun.com/?spm=a2c4g.11174283.6.538.70a37da2T4gFyT

2.    OSS 对象数据多版本管理

1)    功能介绍

单份数据在OSS上存在多个版本。

2)    使用场景

数据误删除:当前OSS不提供回收站,如果要恢复已删除的数据可以使用OSS多版本;

文件被覆盖:对于网盘、在线协作类产品,文件会被频繁修改,针对文件的编辑会产生大量的临

时版本。可以使用版本控制功能找回某个时间点的版本。

3.    OSS对象数据多版本状态

1)    未开启状态

默认情况下 OSS 版本状态为未开启的状态,一旦开启,无法退回到未开启状态。

2)    开启状态

当 OSS 版本控制处于开启状态,OSS 将为新上传的对象生成全局唯一的版本ID。

3)    暂停状态

OSS 将为新上传的 Object 生成特殊字符串为“null”的版本ID。

4.    开启/暂停OSS多版本

1)    跨区域复制

利用跨区域复制,可以快速构建跨越数百公里的数据异地备份的方案,更好地满足数据异地备份保护或行业合规要求,提升业务持续能力。跨区城复制功能,可降低自建异地数据备份中心的投入。跨区域复制功能支持将本 Bucket 的所有数据但括新增更新、删除操作同步到日标 Bucket 中。

2)    同城冗余存储

同城冗余存储(ZRS)是 OSS 推出的多可用区A将数据以冗余方式,存储在同一个区域(Region)的3 个可用区(AZ)中,避免单机房整体故障造成的数据无法访问或丢失,RPO/RTO=0,确保企业业务连续运行。

3)    版本控制

开启版本控制特性后,针对数据的覆盖性和删除操作将会以历史版本的形式保存下来。通过文件(Object)的版本管理,能够将 Bucke t中存储的 Object 恢复至任意时刻的历史版本。开启版本控制特性后,删除标记过多易导致list慢等问题,建议配置生命周期定期清理删除标记。

5.    使用注意事项

1)    功能互斥

同一 Bucket 中,版本控制与合规保留策略或镜像回源无法同时配置。如果 Bucket 已开启版本控制,上传文件时附加的覆盖同名文件请求头 x-oss-forbid-overwrite 将不生效。

2)    使用注意事项

开启多版本本身不会产生任何费用,但是由于开启多版本,同一 已过对象会存在多个版本的历史数据,会增加数据的存储成本。OSS 多版本历史版本过多可能导致List 过慢的问题,建议配置生命周期定期清理。

6.    查看对象的多版本

1)    控制台查看;

2)    Ossutil64 命令行查看。

7.    JindoFS OSS SDK的优化

1)    存在问题

由于 Hive/Spark 任务在任务执行过程中会产生临时数据,在任务执行成功后这些临时数据会被删除,因此会产生很多历史版本数据,导致后续任务 List 过慢,后续任务性能会受到影响。

2)    JindoFS OSS SDK 优化

JindoFS 对于这种情况存在优化,对于 committer 产生的临时数据的历史版本信息可以通过设置 fs.oss.committer.magic.clean.versions.enabled。

 

上一篇:PHP学习日记 Windows配置PHP+Nginx+自动化脚本


下一篇:HTTP响应消息中的状态代码