深入浅出cassandra 2 第一个可以运行的例子
在上一篇文章中,我们成功的建立了一个可以cassandra的实例,同时也让它成功的运行起来,下面的工作就是让我们来简单的操作一下这个
号称分布式的号称第二代的数据库系统。
本文主要关注两个部分,
1. 怎么写一个最简单cassandra的sample
2. 怎么去分析这个最简单的sample背后隐含的含义
步骤一:
1. 首先我们创建一个工程,然后将cassandra/lib目录下的包,导入到我们的工程中。
2. 非常重要的一点
编程接口Thrift的配置
使用下面的命令,获取Thrift的压缩包
wget -O thrift.tgz http://gitweb.thrift-rpc.org/?p=thrift.git;a=snapshot;h=HEAD;sf=tgz
如果使用Java语言,可以在解压Thrift后,到安装目录下的/lib/java目录,使用ant编译得到libthrift.jar
注意:
编译Java的jar时,需要用到ant,版本需要在1.7.1及以上,不然在编译时提示"not support nested 'typedef' element"的异常
而且在ant操作时,不能仅仅只拿出lib/java这个文件,须要在整个thrift这个大工程下ant
步骤二:
创建一个类,内容如下:
为了比较好的理解这些名词解释,我们先看看cassandra的数据模型:
Cassandra 的数据模型的基本概念:
keyspace:
用于存放 ColumnFamily 的容器,相当于关系数据库中的 Schema 或 database,
ColumnFamily :
用于存放 Column 的容器,类似关系数据库中的 table 的概念。
SuperColumn :
它是一个特列殊的 Column, 它的 Value 值可以包函多个 Column
- { // 这是一个SuperColumn
- name: "李明杰",
- // 包含一系列的Columns
- value: {
- street: {name: "street", value: "1234 x street", timestamp: 123456789},
- city: {name: "city", value: "san francisco", timestamp: 123456789},
- zip: {name: "zip", value: "94107", timestamp: 123456789},
- }
- }
Columns:
Cassandra 的最基本单位。由 name , value , timestamp 组成
Cassandra 的最基本单位。由 name , value , timestamp 组成
- { // 这是一个column
- name: "李明杰",
- value: "mydream.limj@gmali.com",
- timestamp: 123456789
- }
cassandra的数据模型主要就是由上述几种模型构建而成的,很简单吧,的确是这样,最大的好处就是读写数据的API非常简单.
1. 首先我们来说说keyspace是个什么玩意
打开storage-conf.xml,找到<Keyspaces>这个xml节点,我们可以看到一段对keyspace的说明, 如下:
ColumnFamily在cassandra中概念最接近关系型数据库中的表。而keyspace则是一堆ColumnFamily的集合。如果说ColumnFamily是表,那么我们可以将keyspace称之库我们来看一段简单的配置。
这段配置表示我们的cassandra中有多个keyspace, 而每个keyspace下又有多个ColumnFamil
相关推荐
深入研究Cassandra后重读Dynamo
Title: Mastering Apache Cassandra, 2nd Edition Author: Nishant Neeraj Length: 322 pages Edition: 2 Language: English Publisher: Packt Publishing Publication Date: 2015-02-27 ISBN-10: 1784392618 ISBN-...
Cassandra的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构成的一个分布式网络服务,对Cassandra 的一个写操作,会被复制到其他节点上去,对Cassandra的读操作,也会被路由到某个节点上面去读取。...
cassandra 实战cassandra 实战cassandra 实战cassandra 实战cassandra 实战cassandra 实战cassandra 实战cassandra 实战cassandra 实战cassandra 实战cassandra 实战cassandra 实战cassandra 实战cassandra 实战...
Cassandra The Definitive Guide(2nd) 英文azw3 第2版 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。Cassandra的主要特点就是它不是一个数据库,而是由一堆...对于一个Cassandra群集来说,扩展性能是比较简单的事情,只管在群集里面添加节点就可以了。
Cassandra 2.1.2 源代码 part2 已经编译
Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。其主要功能比Dynamo (分布式的Key-Value存储系统)更丰富,但支持度却不如文档存储MongoDB(介于关系数据库和非关系数据库之间的开源产品,是非...
书中介绍了它无中心架构、高可用、无缝扩展等引人注目的特点,讲述了如何安装、配置Cassandra及如何在其上运行实例,还介绍了对它的监控、维护和性能调优手段,同时还涉及了Cassandra相关的集成工具Hadoop及其类似的...
The rising popularity of Apache Cassandra rests on its ability to handle very large data sets that include hundreds of terabytes -- and that's why this distributed database has been chosen by ...
With this hands-on guide, you'll learn how Apache Cassandra handles hundreds of terabytes of data while remaining highly available across multiple data centers—capabilities that have attracted ...
在这个策略下,token是一个0~2的127次方之间的一个整数(这也意味着理论上cassandra可以支持2的127次方个节点)。之所以是2的127次方,是因为MD5 HASH固定输出128位的数,去掉一位符号位,剩下127位。 cassandra会将...
Cassandra文档
cassandra介绍
1、cassandra的安装、维护使用 2、java操作cassandra实例 3、cql使用详解
DevCenter cassandra客户端 DevCenter cassandra客户端 DevCenter cassandra客户端
Chapter 1. Cassandra's Approach to High Availability Chapter 2. Data Distribution Chapter 3. Replication Chapter 4. Data Centers Chapter 5. Scaling Out Chapter 6. High Availability Features in the ...
spring boot与cassandra集成,使用JPA方式。
Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。其主要功能比Dynamo (分布式的Key-Value存储系统)更丰富,但支持度却不如文档存储MongoDB(介于关系数据库和非关系数据库之间的开源产品,是非...
cassandra