Cassandra--memtable SSTable

memtable是可以使用key来访问的基础的数据回写缓存–并不是flush的时候,将membable完全写入缓存。

将memtable写入到sstable的过程叫做flush,当你想减少commitlog的消耗时间时,你可以启动flush。

meltable按照key来排序,按照序列化的方式回写。回写是非常快的,消耗仅仅是增加commitlog和分期序列化的写。

当flushed时,SSTable文件是不可以被修改的。

当绑定一些SSTable文件时,读应该是可以被允许的。

Cassandra 的compactions(合并):合并旧的SSTable文件为一个新的。compactions策略是可启动的。

SizeTieredCompactionStrategy 是讲sstable合并成相似大小的。

LeveledCompactionStrategy是讲sstable按照等级进行排序,每次的操作都比前面的大。

由于SSTable是按照key值进行排序的,因此合并是非常高效的。合并操作的负载是非常均衡的。

Cassandra通过两步骤来减轻合并对应用的影响:
1、Cassandra通过变量compaction_throughput_mb_per_sec(default 16MB/S)可以调节合并时I/O大小。
2、Cassandra当发现合并的partition为hot时,Cassandra将会请求一个合并的partition为一个新的cache。

当合并完成后,旧的SSTable文件当被读结束后会被删除。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值