OceanBase中的压缩库 -- snappy,lzo,none

对于存储系统来说压缩库是必不可少的,通过压缩数据块,既可以大幅节省磁盘空间,又可以加快IO。

OceanBase中使用了snappy,lzo两种压缩库,可以通过配置选用不同库。同时OceanBase被设计成可以用任何压缩库。如果需要让OceanBase支持一个名为zip的压缩库,只需要做如下几步:

1. 在common/compress/目录下新建zip_compressor.cpp(h)文件,实现(ob_compressor.h)中的ObCompressor中的接口。在你的实现中你可以去调用具体的开源zip库。

2. 编译,会在.libs目录下生成一组libzip_1*的文件 (注意,这是一个隐藏目录,以“."开头)


在部署阶段,部署脚本会把common/compress/.libs下的所有文件都拷贝到部署目录中,并在启动OceanBase server的时候设置LD_LIBRARY_PATH到部署目录

如果你要写测试代码来测试OceanBase sstable模块,也需要指定压缩库。这个时候你需要手工在LD_LIBRARY_PATH中指定libzip_1*所在的路径。


none这个表示不使用压缩,none_compressor.cpp中只是实现了一个空接口,这种面向接口的编程方式在此不赘述。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值