首页 > 其他分享 >对象存储服务的压缩特性

对象存储服务的压缩特性

时间:2024-08-07 23:19:10浏览次数:11  
标签:存储 对象 压缩 特性 访问 频率 压缩算法

在对象存储服务中集成压缩算法,可以有效节省最终占用的空间,提升介质的利用效率,提高存储的收益。
选择压缩算法时,通常综合考虑对象的格式、访问频率、访问时延、存储服务的负载、存储服务器的硬件规格、存储介质的规格等。
对于高压缩比的文本类数据,通常建议在客户端应用侧完成压缩,这样除节省存储空间,还节省了传输带宽和网络传输引入的时延。
对于二进制类的文件,考虑到压缩的收益比较低,通常不建议进行压缩。
对于访问频率较低的归档类的冷数据,通常选择高压缩比的压缩算法,有助于节省空间。
对于访问频率中等的温数据,初期可采用解压吞吐量高的压缩算法,待访问量逐渐下降到一定程度之后变为冷数据,此时在后台任务中逐步转换为采用高压缩比的算法,同时兼顾访问效率和存储空间的利用率。
对于已压缩的对象,假如一定时间内访问频率超出阈值,可以还原一份非压缩的副本,通过空间换时间的方式,改善访问效率。
对于大量的小文件,比如小于1MB,可以考虑采用先聚合再压缩的策略,改善压缩算法的工作收益。
对于大的文件,比如超出10GB,可以依据压缩算法的特点,拆解为多个块,同时压缩,充分利用硬件,缩短压缩算法的工作时间,同时也可以改善访问时解压文件的效率。

实现时的关注点,如下:

  • 数据的格式
    • 文本,比如TXT、XML、INI、PROPERTIES、CSV、JSON、YAML等
    • 二进制,比如图片、视频、音频、可执行文件等
  • 压缩的算法
    • 无损压缩
    • 有损压缩
  • 压缩算法的评估指标
    • 吞吐量
      • 压缩时吞吐量
      • 解压时吞吐量
    • CPU使用量
    • 内存使用量
    • 硬盘使用量
    • 压缩比率
  • 常见的压缩算法
    • gzip
    • bzip2
    • zip
    • lzw
    • snappy
    • zstd
  • 专用的压缩算法
    • H264
    • MPEG2
    • MPEG4
    • JPEG
  • 执行压缩操作的位置
    • 客户应用
    • 对象SDK
    • 对象存储服务
  • 执行压缩的时机
    • 写入时压缩
    • 后台压缩
      • 对于未压缩的对象,在创建后、访问频率较低,可在后台任务中转换为压缩文件,节省存储空间
      • 对于已压缩的对象,访问频率超过一定阈值,可在后台任务中创建一个非压缩的副本,通过空间换时间的方式来提升访问效率
  • 压缩的粒度
    • 以文件为粒度,执行压缩
    • 以数据块为粒度,执行压缩
  • 压缩算法的选择
    • 针对所有的文件,使用统一的压缩算法
    • 依据文件类型的特点,使用特定的压缩算法
    • 由客户指定压缩算法

参考资料

标签:存储,对象,压缩,特性,访问,频率,压缩算法
From: https://www.cnblogs.com/jackieathome/p/18348046

相关文章

  • 模型压缩-模型蒸馏、模型剪枝、模型量化
    一、模型蒸馏1.1简介知识蒸馏是指通过教师模型指导学生模型训练,通过蒸馏的方式让学生模型学习到教师模型的知识,最终使学生模型达到或媲美教师模型的准确度。在模型压缩中,教师模型是一个预训练好的复杂的模型,而学生模型是一个规模较小的模型。如分类任务中,由训练好的教......
  • 为什么并查集路径压缩不需要维护rank?
    在基于rank进行优化的并查集中,路径压缩确实不需要维护rank数组。这是因为路径压缩和rank优化有不同的目的和作用机制。让我们详细解释一下原因:Rank优化的目的:Rank优化的主要目的是在合并两个集合时,让较小的树成为较大的树的子树,以保持树的平衡性。这样可以避免树变得过于深,从而......
  • 考虑电解槽变载启停特性与阶梯式碳交易机制的综合能源系统优化调度研究(Matlab代码实现
     ......
  • 临时存储超限导致的Pod集体驱逐故障排查
    背景        在某天的下午,我们突然收到告警,埋点服务的接口报大量502,持续了大约2分钟,然后就自动恢复了,于是便开始排查问题所在。排查过程        在上面的故障现象中,我们首先怀疑是微服务出现了问题,因此进行了以下排查:    1.登录KubeSphere控制台后......
  • ceph分布式存储系统
    cephceph是一个开源的,用c++语言编写的分布式的存储系统,存储文件数据。lvm逻辑卷可以扩容raid磁盘阵列高可用基于物理意义上的存储系统分布式就是多台物理磁盘组成的一个集群,在这个基础之后实现高可用,扩展特点:1、远程访问2、多个服务器组成的虚拟硬盘3、分布式......
  • uniapp 解决andorid10以上App文件存储到手机盘目录
    file.js方法:/**@Descripttion:*@version:V1.0.0*@Author:BaiYayong*@Date:2024-08-0610:25:48*@LastEditTime:2024-08-0715:50:33*//*使用该类应开启以下权限(读取和写入)<uses-permissionandroid:name="android.permission.READ_EXTERNAL_STOR......
  • [Java基础]Java8新特性
    Interfaceinterface的设计初衷是面向抽象,提高扩展性。这也留有一点遗憾,Interface修改的时候,实现它的类也必须跟着改。为了解决接口的修改与现有的实现不兼容的问题。新interface的方法可以用default或static修饰,这样就可以有方法体,实现类也不必重写此方法。一个interf......
  • 数据结构 - 并查集路径压缩
    ......
  • KVM——存储池与快照
    目录KVM存储池的重要概念和功能KVM存储池的管理方式KVM存储池在虚拟机迁移中的作用制作存储池 存储池相关管理命令 KVM快照KVM快照的概念和作用注意事项在KVM(Kernel-basedVirtualMachine)虚拟化平台中,存储池(StoragePool)是用来管理和存储虚拟机镜像及其相关数据......
  • 设计一位字段结构存储下面信息。 字体ID:0~255之间的一个数 字体大小:0~127之间的一个数
    /设计一位字段结构存储下面信息。字体ID:0~255之间的一个数字体大小:0~127之间的一个数对齐:0~2之间的一个数表示左对齐,居中,右对齐加粗:开(1)或闭(0)斜体:开(1)或闭(0)在程序中使用该结构来打印字体参数,并使用循环菜单来让用户改变参数。例如,该程序的一个运行示例如下:IDSIZEALIGNMEN......