命名空间: Apache.Cassandra
属性:
名称
|
类型
|
默认值
|
说明
|
Column_metadata
|
List<ColumnDef>
|
n/a
|
构造属性
|
Column_type
|
string
|
Standard
|
所保存的Column的类型,所设置数据为
Standard或Super,Super就是SuperColumn
|
Comment
|
string
|
n/a
|
备注
|
Compaction_strategy
|
string
|
SizeTiered
|
SizeTiered 这是在1.0之前唯一的压实策略,这个压实策略会导致很大I/O操作,长时间的压实操作会导致文件规模更大,会对磁盘的操作产生负面影响,但不影响读写性能。当使用此策略时,会导致会使用1倍以上的磁盘空间。
LeveledCompactionStrategy
平整
压实
策略
限制
的
SSTables
大小
,
一个小的文件
大小
(
默认
为
5 MB的
)
,使
SSTables
不
继续
增长
的大小
与
每个连续的
压实
。
磁盘I/O
更均匀
和可预见的
SSTables
是
不断
被
压缩
成
逐渐变大
的
水平
。
在每个级别上
,
行键
合并
到
非
重叠
SSTables
。
这可以提高
读取
性能
,
因为
卡桑德拉
可以决定
在
每个级别
SSTables
检查
行
的关键数据
的
存在
。
这
是仿照
谷歌的
leveldb
实施
压实
战略
。
|
Compaction_strategy_options
|
Dictionary
<string, string>
|
sstable_size_in_mb,5
|
当使用LeveledCompactionStrategy 时,sstable_size_in_mb才生效
|
Comparator_type
|
string
|
BytesType
|
定义的数据类型,用于验证和排序的列名。有几个内置的列比较。请注意,ColumnFamily创建后将不能被更改
|
Compression_options
|
Dictionary
<string, string>
|
n/a
|
ColumnFamily的压缩属性
sstable_compression:
指定压缩算法在压缩SSTable文件时使用。Cassandra支持两个内置压缩类:SnappyCompressor(Snappy Compression Library)和DeflateCompressor(JAVA zip implementation)。Snappy Compression Library提供更快的压缩/解压缩,而JAVA zip implementation提供了更好的压缩比。选择是正确的,取决于读取性能节省空间的要求。对于读沉重的工作量,建议使用Snappy Compression Library。开发人员还可以实现自定义的压缩类,可以继承org.apache.cassandra.io.compress.ICompressor接口。
chunk_length_kb 设置压缩块的大小,以KB为单位。默认值(64)是一个比较好的建议数字。对于多个列的行,它允许读无需解压整个行一列数据的64KB片。
|
Default_validation_class
|
string
|
|
定义用来验证列的数据类型
|
Gc_grace_seconds
|
int
|
864000
|
默认值为10天。因为Cassandra�h除的�r候是伪�h除,通过增加一个�h除标记(Tombstone)�肀晔妒�据数据已经被删除;当进行Compaction操作时(压实),存在时间超过gc_grace的Tombstone才会被真正的删除。减少这个值可以使垃圾更快被回收(存储空间更快地释放)。这个值不应该被设置的太小(例如:少于一天),设置的太小可能造成数据部一致,例如:如果使用CL.ONE�磉M行�h除操作时,当gc_grace太小导致在通过Read repair或Anti Entropy削减Inconsistency Window之前就发生Compaction,那么�h除实际上是失败的(因�槠渌�副本节点没有进行删除也没有进行标记)。
|
Id
|
int
|
|
|
Key_alias
|
byte[]
|
|
|
Key_cache_save_period_in_seconds
|
int
|
n/a
|
多少时间会将Key Cache保存在磁盘上
|
Key_cache_size
|
double
|
100000
|
Key Cache的大小
|
Key_validation_class
|
string
|
|
定义的数据类型用来验证Key的值。有几个内置的关键验证器,但CounterColumnType(分布式计数器)不能作为一个行的Key验证器使用。
|
Keyspace
|
string
|
|
ColumnFamily所属的KeySpace
|
Max_compaction_threshold
|
int
|
32
|
设定Minor Compaction最多允�S多少个相似大小的SSTables合并成一个SSTable。降低这个值会让Minor Compaction更频繁发生。
|
Merge_shards_chance
|
double
|
|
|
Min_compaction_threshold
|
int
|
4
|
设定Minor Compaction(合并大小相似的SSTables)最少需要多少个SSTables。调高这个值会减少Minor Compaction的发生。
|
Name
|
string
|
|
ColumnFamily的名称
|
Read_repair_chance
|
double
|
100
|
如果读取的Consistency Level设定成ONE,我们可以设定一��值��Q定是不是要在背景进行 Read Repair。预设值是一定会进行Read Repair,可以通过降低这个值�硖嵘�Read的Throughput。对于当写入用CL.ALL而读取采用ONE的,可以很放心的降低这个值。
|
Replicate_on_write
|
bool
|
|
|
Row_cache_keys_to_save
|
int
|
|
|
Row_cache_provider
|
string
|
ConcurrentLinkedHash
CacheProvider
|
指定列家庭使用的行缓存。允许的值是:* ConcurrentLinkedHashCacheProvider - Row Cache使用的JVM的Heap内存,提供同一行Cassandra到0.8之前的版本的缓存行为。 *(默认)SerializingCacheProvider - 缓存行被序列化并存储在内存中的JVM Heap的,它可以减少垃圾收集(GC)在JVM上的压力,从而提高系统的性能。序列化行也比反序列化行较小的8-12倍。这是推荐的设置,只要你有jna.jar在CLASSPATH,使本地方法。
|
Row_cache_save_period_in_seconds
|
int
|
n/a
|
多少时间保存Row Cache到磁盘上
|
Row_cache_size
|
double
|
0
|
Row Cache的大小
|
Subcomparator_type
|
string
|
BytesType
|
当使用superColumn时,该设置才生效
|
方法:
名称
|
参数
|
说明
|
CfDef
|
<无>
|
构造函数
|
Read
|
TProtocol iprot
|
从Cassandra读取相关信息
|
ToString
|
<无>
|
输出KeySpeace的定义:
名称,策略类,策略选项,同步因子,ColumnFamily定义,是否持久化
|
Write
|
TProtocol oprot
|
将相关信息写到Cassandra
|
本文参考:
Compaction and Repair http://blog.labin.cc/?p=332
本文出自 “大型网站应用技术” 博客,谢绝转载!