日期:2014-05-16 浏览次数:20514 次
本文所有实例的测试环境如下:
操作系统:Windows7(32位)
cassandra:apache-cassandra-0.6.1
JDK:jdk1.6.0_14
?
1、安装cassandra
?
???? 1.1> 下载地址:http://cassandra.apache.org/
?
???? 1.2> 修改基本的配置
????????? 一、先修改storage-conf.xml:
????????????? 欲修改节点名称如下:
?????????????? DataFileDirectory、CommitLogDirectory
?????????????? 以上两个个均为文件路径,根据自己的情况做更改。
?
????????? 二、修改 log4j.properties
?????????????? 把日志路径改为自己的就行了;看日志便于排查问题。
?
????????? 其它配置项修改
??????????????? 根据配置文件的说明,即可定制自己的配置!如果看不明白说明的话,请在网上先搜索下!
?
???? 1.3> 环境变量配置(针对windows操作系统)
??????????? CASSANDRA_HOME:自己的CASSANDRA根路径
??????????? 例如:CASSANDRA_HOME:D:\apache-cassandra-0.5.1
?
???? 1.4> 启动cassandra
?????????? 执行 bin/cassandra.bat(windows)?? bin/cassandra (Linux)
?????????? 看到启动页的最后一行为如下内容,即为启动成功!
???????? ? “ INFO - Starting up server gossip”
?
???? 1.5> 配置结束
?
2、 cassandra 数据模型
?
?????? set Keyspace1.Standard1['jsmith']['first'] = 'John'
????????????????? \??????????????????? \???????????????? \?????? ? ? \???????? ??? \
?????????????????? \??????????????????? \???????????????? \_ key?? \????????? ?? \_ value
??????????????????? \??????????????????? \?????????????????? ? ? ?????? \_ column
????????? ? ? ? ? ?? \_ keyspace? \_ column family
?
? ? ? [Keyspace]
??????????? Cassandra中的最大组织单元,其中包含了一系列Column family。
????? [Column family(CF)]
??????????? CF是某个特定Key的数据集合,每个CF物理上被存放在单独的文件中。
????? [Key]
??????????? 数据必须通过Key来访问,Cassandra允许范围查询.
??????????? 例如:start => ‘10050′, :finish => ‘10070′
????? [Column]
在Cassandra中Column是最小的数据单元,column和value构成一个对。 比如:name:“jacky”,column是name,value是jacky,每个column:value后都有一个时间戳:timestamp。?
????? [Super column]
Super column是一种特殊的column,里面可以存放任意多个普通的column。而且一个CF中同样可以有任意多个Super column,一个CF只能定义使用Column或者Super column,不能混用。 下面是Super column的一个例子,homeAddress这个Super column有三个column:分别是street,city和zip: homeAddress: {street:"binjiang road", city:"hangzhou", zip:"310052",}?
????? [Sorting]
Cassandra取出的数据顺序是总是一定的。因为数据保存时已经按照定义的规则存放,所以取出来的顺序已经确定了,这是一个巨大的性能优势。有意思的是,Cassandra按照column name而