日志存储空间优化

背景

在这个大数据时代,数据公司每天都面临大量数据堆积,如果不能有效的利用并发掘他,继而产生价值,那么他同时也会成为一场灾难。无序、无结构的数据堆积,给企业带来的是令人乍舌的高额成本。

优化方式

时间优化

  • 通过时间分区,严格控制日志的存放时间 如:定时删除一年前的数据(业务允许的前提下)
  • ……

空间优化

文件个数优化(HDFS存储)
  • 减少小文件个数
  • 合理分配单个文件大小
  • ……
内容优化
  • 数据结构化
  • 减少不必要字段的存储
  • 不添加默认值,置为空
  • 去除空格、制表符用特殊符号替代,数据不要分段
  • ……
格式优化
文本文件格式

文本文件格式是一种由若干行字符构成的计算机文件。文本文件存在于计算机文件系统中。通常,通过在文本文件最后一行后放置文件结束标志来指明文件的结束。文本文件是指一种容器,而纯文本是指一种内容。文本文件可以包含纯文本。 一般来说,计算机文件可以分为两类:文本文件和二进制文件。如ASCII、MIME、.txt、.doc、.json…

压缩格式

任何一个文件存储在电脑上都有它的格式,例如文本格式像。txt .doc,图像格式 .jpg .tif .bmp等。 所有压缩也有压缩的格式,一般我们看到的压缩格式有。.rar .zip,但主要压缩的作用就是让某一个文件占用空间小点。比如它是30MB,可以压缩到20多MB。

Protocol Buffer

protocolbuffer(以下简称PB)是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#、c++、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 进行数据交换快许多。可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。作为一种效率和兼容性都很优秀的二进制数据传输格式,可以用于诸如网络传输、配置文件、数据存储等诸多领域。

Base64

Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码具有不可读性,需要解码后才能阅读。

优化方案(按优先级排序)

  1. 定时清除不需要的数据
  2. 减少内容存储
  3. 文本文件>>>Protocol Buffer>>>Base64编码>>>压缩文件
    测试数据
    • 文本文件(100G)===>Protocol Buffer(50G) 减小0.5倍
    • Protocol Buffer(50G)===>Base64编码(75G) 增大0.3倍(Protocol Buffer为流文件,如果个数过多不便于存储)
    • Base64编码(75G)===>压缩文件(37.5G) 减小0.5倍
      总存储(37.5G)大小减小0.375倍
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值