|
但in memory这种模式非常耗费内存,原因有以下两点。
1 由于Hypertable设计时为了支持稀疏表,每个value是单独存的,而不是按行存的,因此每个value都需要存一份key (包括row key、column family、column qualifier和timestamp,最小开销16字节),再加上map数据结构的开销24字节,一个value至少有40字节额外开销,一个帖子就是40×13=520字节,比帖子的实际内容(平均300多字节)还多。
2 为了支持高并发,Hypertable采用了MVCC(Multi-version Concurrency Control)模式存储<key, value>,也就是说,删改一个value时只是追加了一个补丁,而不是在原值基础上修改,多余的版本只有当Cell Cache大小达到一定程度时才会清理。
|
|