现在的位置: 首页 > 综合 > 正文

深入浅出cassandra 2 第一个可以运行的例子

2018年03月22日 ⁄ 综合 ⁄ 共 6143字 ⁄ 字号 评论关闭

 

深入浅出cassandra 2 第一个可以运行的例子

在上一篇文章中,我们成功的建立了一个可以cassandra的实例,同时也让它成功的运行起来,下面的工作就是让我们来简单的操作一下这个
号称分布式的号称第二代的数据库系统。

 

本文主要关注两个部分,
1. 怎么写一个最简单cassandra的sample
2. 怎么去分析这个最简单的sample背后隐含的含义

步骤一:
1. 首先我们创建一个工程,然后将cassandra/lib目录下的包,导入到我们的工程中。

2. 非常重要的一点

 

编程接口Thrift的配置 
使用下面的命令,获取Thrift的压缩包
如果使用Java语言,可以在解压Thrift后,到安装目录下的/lib/java目录,使用ant编译得到libthrift.jar

 

注意:
编译Java的jar时,需要用到ant,版本需要在1.7.1及以上,不然在编译时提示"not support nested 'typedef' element"的异常

 

而且在ant操作时,不能仅仅只拿出lib/java这个文件,须要在整个thrift这个大工程下ant       

 

步骤二:
创建一个类,内容如下:
Java代码 :

为了比较好的理解这些名词解释,我们先看看cassandra的数据模型: 

 

Cassandra 的数据模型的基本概念: 
keyspace: 
用于存放 ColumnFamily 的容器,相当于关系数据库中的 Schema 或 database, 
ColumnFamily : 
用于存放 Column 的容器,类似关系数据库中的 table 的概念。 

SuperColumn : 
它是一个特列殊的 Column, 它的 Value 值可以包函多个 Column 

Columns: 
Cassandra 的最基本单位。由 name , value , timestamp 组成 
cassandra的数据模型主要就是由上述几种模型构建而成的,很简单吧,的确是这样,最大的好处就是读写数据的API非常简单. 
1. 首先我们来说说keyspace是个什么玩意
打开storage-conf.xml,找到<Keyspaces>这个xml节点,我们可以看到一段对keyspace的说明, 如下:

ColumnFamily在cassandra中概念最接近关系型数据库中的表。而keyspace则是一堆ColumnFamily的集合。如果说ColumnFamily是表,那么我们可以将keyspace称之库

我们来看一段简单的配置。

 

Java代码 
 

      

    这段配置表示我们的cassandra中有多个keyspace, 而每个keyspace下又有多个ColumnFamily.

     

    抱歉!评论已关闭.