Cassandra目前最新版本是1.2.1, 可以在http://cassandra.apache.org 下载
我是在Ubuntu下配置的, 下载完压缩包之后,直接解压缩.
我的Ubuntu是12
jdk环境 1.6
解压后得到7个 文件夹,其中
bin下有一些工具,比如 cqlsh cassandra-cli 是跟数据库交互用的工具
conf 是配置文件
lib是要用到的包,如果用java写代码,里面有一些jar包是可以直接用的
javadoc是文档
可以用到的就这么多了.要运行cassandra 首先要建立cassandra的数据文件夹和日志文件夹并保证它们是可读的
用以下命令:
建立日志文件夹
sudomkdir -p /var/log/cassandra
sudochown -R `whoami` /var/log/Cassandra
建立数据文件夹
sudo mkdir -p /var/lib/cassandra
sudo chown -R `whoami` /var/lib/Cassandra
这两个文件夹是默认的,你可以在conf文件夹下面更改配置文件来设定自己的数据和日志文件夹
设置完成后可以运行 ./bin-cassandra -f 启动服务器, -f告诉cassandra留在前台,可以看日志输出.
至此,你已经拥有一台cassandra服务器了
到这里,我解释几个概念, 这几个概念并没有这么简单, 跟关系数据也完全不同,不过我可以类比下,
但是也似乎完全没有可比性,正如上文所说,你只知道马匹的情况下,我如何比喻你也理解不了汽车为
何物的,我只有告诉你, 汽车也有四个腿...
下面就是纯比喻,为了好理解,建议去看专业文档理解这些东西
Keyspace 类比RDBMS的 database 是数据库的最外层容器
column family 列族 类比 RDBMS table 相当于表格
rowkey 行键值 类比 RDBMS 的 primary key 主键
super column family 超级列族...没有可比性 相当于列列面套了很多列
用cassandra要打破行的传统思维,因为cassandra是面向列的,这些是我最近几天的收获,跟大家分享下
cassandra的一个keyspace里面能建立很多column family 一个column family是很多类似column的集合
这句话我看到就很郁闷了, 其实我觉得就是表,但是也不能理解成平面的二维表.
RDBMS中,你建立一个表, 有一个主键userid,然后后面跟着一群,比如username,sex,age等
这时候,我们认为,userid,知道以后,就能搜索到username,sex,age, 一行数据是一个整体,这整张表就只有这四个列.
cassandra里面不一样,
cassandra要这样理解, 比如rowkey是userid,
我第一行数据是 1, 张三, 男 ,18 第二行数据可以是 2, 李四, 男, 22,已婚.
第二行数据比第一行多了一个列, 这在cassandra中是特点,casssandra第一行可以有几万个列
或者第二行只有几个列.
所以,cassandra的一行其实是一个列的容器. 也就是我有一个key,然后我可以用这个key为
键值,往列里面装填数据,. 每行的列都不必是一样的.
列有一个列名,有一个数据, 这些可以通过rowkey检索到.
....这个也太难讲明白了...汗...果然是只可意会不可言传啊..我说我为什么在开窍之前一直不理解呢,虽然现在也不是特别明白....算了,下一章