cassandra压缩特性介绍

cassandra1.0 compress特性介绍:
cassandra版本1.0增加了压缩特性,与关系型数据库数据文件压缩可能带来系统读写性能损失相比,因为cassandra
数据文件时一次刷新的,而且不可修改的,所以对系统的性能反而有10%的性能提升。

一、cassandra compress适用的场景:
一个row中具有大量的column,而且column相同,至少具有大量共同的column,这种情况下可以达到很高的压缩比,并且获得
很好的读性能。


二、如何配置cassandra压缩:
cassandra的压缩可以指定columnfamily级别的压缩。压缩具有两个属性(compression_options):
sstable_compression:指定压缩算法。
有两种算法:
SnappyCompressor ->google开源的Snappy压缩库,特点是压缩解压缩速度快
DeflateCompressor ->java zip 压缩算法,特点是压缩率高
chunk_length_kb:指定压缩数据块的大小,以KB为单位,默认是64。

三、如何定义压缩的columnfamily:
可以在定义CF指定压缩属性:
CREATE COLUMN FAMILY users
WITH key_validation_class=UTF8Type
AND column_metadata = [
{column_name: name, validation_class: UTF8Type}
{column_name: email, validation_class: UTF8Type}
{column_name: state, validation_class: UTF8Type}
{column_name: gender, validation_class: UTF8Type}
{column_name: birth_year, validation_class: LongType}
]
AND compression_options={sstable_compression:SnappyCompressor, chunk_length_kb:64};

也可以当前系统中修改CF属性,添加压缩特性:
update CF...

四、如果是更新CF,对现有数据如何处理:
当前已经存在的SSTable不会立刻进行压缩,在正常的compaction过程是会对旧SSTable进行压缩,新创建的SSTable会进行压缩。
如果必要,可以通过使用nodetool scrub重建SSTable压缩当前所有的SSTable文件。


五、总结:
Cassandra 1.0的压缩特性是一种简单的在降低磁盘空间需求的同时提高系统性能的方式。压缩特性可以很容易的更新到当前已存在的CF,
并且其实现允许高级用户调整压缩块(chunk)的大小以获取最大的性能。[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23937368/viewspace-1055348/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23937368/viewspace-1055348/

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值