Cassandra 1.0 参考(2) ColumnFamily的定义
2011-10-24 14:57
197 查看
命名空间: Apache.Cassandra
属性:
方法:
本文参考:
Compaction and Repair http://blog.labin.cc/?p=332
本文出自 “大型网站应用技术” 博客,谢绝转载!
属性:
名称 | 类型 | 默认值 | 说明 |
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刪除的時候是伪刪除,通过增加一个刪除标记(Tombstone)來标识数据数据已经被删除;当进行Compaction操作时(压实),存在时间超过gc_grace的Tombstone才会被真正的删除。减少这个值可以使垃圾更快被回收(存储空间更快地释放)。这个值不应该被设置的太小(例如:少于一天),设置的太小可能造成数据部一致,例如:如果使用CL.ONE來進行刪除操作时,当gc_grace太小导致在通过Read repair或Anti Entropy削减Inconsistency Window之前就发生Compaction,那么刪除实际上是失败的(因為其他副本节点没有进行删除也没有进行标记)。 |
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最多允許多少个相似大小的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,我们可以设定一個值來決定是不是要在背景进行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
本文出自 “大型网站应用技术” 博客,谢绝转载!
相关文章推荐
- Cassandra 1.0 参考(1) Keyspace的定义
- Cassandra 1.0.0 参考(3) Column的定义
- Windows Server 2012平台配置Exchange Server 2013高可用参考v1.0
- javascrit2.0完全参考手册(第二版) 第2章第1节 基本定义
- 关注JBoss SEAM 1.0,重新定义的web应用架构
- Android系统中自带的图标&一些预定义样式&参考颜色值
- 关于asp.net Ajax1.0 错误:'sys'未定义解决方法 (手动配置Ajax 在Web.cofig中)
- cassandra1.0的内存和磁盘管理的提升
- HTML 4.01 / XHTML 1.0 参考手册
- [HTML] HTML 4.01 / XHTML 1.0 参考手册
- 随机产生13个0~51不同的随机数 -思想(定义参考系)
- Cassandra就要迎来1.0版本啦
- Facebook Pop 代码解析及使用指南(部分代码参考第三方研究及官方定义)
- HTML 4.01 / XHTML 1.0 参考手册(按字母顺序排列)
- Android系统中自带的图标&一些预定义样式&参考颜色值
- Android系统中自带的图标&一些预定义样式&参考颜色值
- 这篇文章主要介绍了C#中的匿名方法,包括其由来、定义及用法等,需要的朋友可以参考下
- Android系统中自带的图标&一些预定义样式&参考颜色值
- GObject 参考手册:教程:如何定义和实现接口
- LoRaWAN网络服务器演示:服务器间接口定义(R1.0)部分翻译