Cassandra,为什么SSTABLE count是1列族(表)的3
我是卡桑德拉的新手, 1) 为什么单列族有3个sstable。 2) 表(列族)的每一列是否存储在环的不同节点中?或者完全列族存储在单个节点中(如果我没有设置复制因子) 例如: 表:信息1 SSTable计数:3Cassandra,为什么SSTABLE count是1列族(表)的3,cassandra,cassandra-2.0,Cassandra,Cassandra 2.0,我是卡桑德拉的新手, 1) 为什么单列族有3个sstable。 2) 表(列族)的每一列是否存储在环的不同节点中?或者完全列族存储在单个节点中(如果我没有设置复制因子) 例如: 表:信息1 SSTable计数:3 Space used (live), bytes: 221521 Space used (total), bytes: 226349 SSTable Compression Ratio: 0.2548965072049006 Number of keys
Space used (live), bytes: 221521
Space used (total), bytes: 226349
SSTable Compression Ratio: 0.2548965072049006
Number of keys (estimate): 384
Memtable cell count: 7817866
Memtable data size, bytes: 38797312
Memtable switch count: 51
Local read count: 0
Local read latency: 0.000 ms
Local write count: 26539152
Local write latency: 0.000 ms
Pending tasks: 0
Bloom filter false positives: 0
(三)
提交日志同步:定期
提交日志同步周期单位:10000
Commitlog同步为10秒。但数据未传输或刷新到光盘?。
Memtable数据大小,字节:38797312
据我所知,Cassandra为SSTable创建了三个文件,一个用于数据,另一个用于bloom过滤器,第三个用于索引
我认为这会对您有所帮助。SSTable是不可变的,因此,每当发生插入/更新时,Cassandra都会在另一个SSTable中写入插入或更新数据的新时间戳版本,而不是覆盖行。通过执行压缩,可以将所有SStable合并到单个SStable中 压缩通过分区键合并每个SSTable数据中的数据,根据其时间戳选择要存储的最新数据 1) 为什么单列族有3个sstable 每当memtable刷新到磁盘上时,就会创建一个新的SSTABLE。什么时候冲洗?memtable已满或提交日志已满或触发手动刷新时。节点中SSTABLE的数量有一个限制,该限制是可配置的(最小阈值,即一次节点中可以存在的SSTABLE的最大数量)。当超过此限制时,将触发压缩,这将合并SSTABLES,并使用分区键从所有SSTABLES中获取的最新时间戳数据创建一个新SSTABLE 2) 这是表格的每一列吗 没有1-1映射b/w列族和sstable。每当memtable刷新到磁盘上时,就会创建一个新的SSTABLE