金庸笔下十大悲情人物:NoSQL数据库:Cassandra安装配置到入门

来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 20:47:40
Cassandra简介:
Cassandra属于最近比较流行的一款NoSQL数据库,http://nosql-database.org/中给NoSQL的定义如下:
下一代的数据库产品应该具备这几点:非关系型的,分布式的,开源的,可以线性扩展的。这类数据库最初的目的在于提供现代网站可扩展的数据库解决方案。这个运动开始于2009年初,目前正在迅速的发展。这种类型的数据库具有:自由的schema,数据多处备份,简单的编程API,数据的最终一致性保证等等。所以我们将这种类型的数据库称为NoSQL(不仅仅是SQL,全称为“not only sql”)。
下面我们一起来看看如果分别在Windows环境下安装和部署Cassandra。
下载cassandra 去http://cassandra.apache.org/下载即可。
下载JDK 网上一搜索一大把。
一、环境要求:
1.安装Java的JDK 配置环境
假如JDK安装目录在:C:\Program Files\Java\jdk1.6.0下
右击我的电脑->高级->环境变量->新建->变量名输入:JAVA_HOME(注意:变量名一定得为这个), 变量值就将JDK安装目录复制到里面
2. 配置Cassandra环境
假如Cassandra 解压在目录:D:\apache-cassandra-0.7.6-2下
右击我的电脑->高级->环境变量->新建->变量名输入:Cassandra_Path变量值就将Cassandra 解压在目录复制到里面
环境配置好后接下来开始应用
二、Cassandra应用:
1. Cassandra 图解

Cassandra 的数据模型的基本概念:
1). Cluster : Cassandra 的节点实例,它可以包含多个 Keyspace
2). Keyspace : 用于存放 ColumnFamily 的容器,相当于关系数据库中的 Schema 或 database
3). ColumnFamily : 用于存放 Column 的容器,类似关系数据库中的 table 的概念
4). SuperColumn :它是一个特列殊的 Column, 它的 Value 值可以包函多个 Column
5). Columns:Cassandra 的最基本单位。由 name , value , timestamp 组成
2.启动Cassandra步骤:
打开bin文件夹下面cassandra.bat服务(注意:打开该服务后不能关闭否则后面连接不上)
打开bin 文件夹下面的cassandra-cli.bat 输入:connect localhost/9160 连接canssandra数据库
三、Cassandra的目录说明
bin 存放与 Cassandra 操作的相关脚本
conf 存放配置文件的目录
interface Cassandra 的 Thrift 接口定义文件,可以用于生成各种编程语言的接口代码
Javadoc 源代码的 javadoc
lib Cassandra 运行时所需的 jar 包
通过Cassandra自带的控制台(Cassandra-cli.bat)实现数据增、删、改、查
一般的网站介绍Cassandra入门都是写:
set Keyspace1.Standard2[studentA][age] = 18
要注意的是,刚开始Keyspace1.Standard2是不存在或者没有用命令指定到到Keyspace1下面,所以不能直接写:
set Keyspace1.Standard2[studentA][age] = 18
因为这样的话就相当于直接在keyspace1下面的standard2中添加一Columns,如果你Cassandra中没有keyspace1或者没有用命令指定到keyspace1下自然会报错的。
下面我将从创建keyspace到往中间插入值开始讲起:
1. 创建keyspace (twissandra)
[default@unknown] create keyspace twissandra with replication_factor=1
and placement_strategy=org.apache.cassandra.locator.SimpleStrategy;
2. 创建Column Family
[default@unknown] use twissandra; //先将当前指令定位到keyspace: twissandra下
下面创建 Column Family(users)
[default@twissandra] create column family users with comparator = UTF8Type
... and column_metadata = [{column_name: password, validation_class:
... UTF8Type}];
3. 在twissandra. Users下面插入值
[default@twissandra] set users[jsmith][password]=ch@ngem3;
4. 获取刚插入的值
[default@twissandra] get users[jsmith];