Apache cassandra

第1章引言

1.1编写目的

介绍apache cassandra。

1.2非关系型数据库—Cassandra

1.2.1简介

Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。其主要功能比Dynomite(分布式的Key-Value存储系统)更丰富,但支持度却不如文档存储MongoDB(介于关系数据库和非关系数据库之间的开源产品,是非关系数据库当中功能最丰富,最像关系数据库的。支持的数据结构非 常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。)Cassandra最初由Facebook开发,后转变成了开源项目。它是 一个网络社交云计算方面理想的数据库。以Amazon专有的完全分布式的Dynamo为基础,结合了Google BigTable基于列族(Column Family)的数据模型。P2P去中心化的存储。很多方面都可以称之为Dynamo 2.0。

  主要特性:

  ● 分布式

  ● 基于column的结构化

  ● 高伸展性

1.2.2功能

Cassandra的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构成的一个分布式网络服务,对Cassandra 的一个写操作,会被复制到其他节点上去,对Cassandra的读操作,也会被路由到某个节点上面去读取。对于一个Cassandra群集来说,扩展性能 是比较简单的事情,只管在群集里面添加节点就可以了。

  这里有很多理由来选择Cassandra用于您的网站。和其他数据库比较,有三个突出特点:

  模式灵活:使用Cassandra,像文档存储,你不必提前解决记录中的字段。你可以在系统运行时随意的添加或移除字段。这是一个惊人的效率提升,特别是在大型部署上。

  真正的可扩展性:Cassandra是纯粹意义上的水平扩展。为给集群添加更多容量,可以指向另一台电脑。你不必重启任何进程,改变应用查询,或手动迁移任何数据。

  多数据中心识别:你可以调整你的节点布局来避免某一个数据中心起火,一个备用的数据中心将至少有每条记录的完全复制。

  一些使Cassandra提高竞争力的其他功能:

  范围查询:如果你不喜欢全部的键值查询,则可以设置键的范围来查询。

  列表数据结构:在混合模式可以将超级列添加到5维。对于每个用户的索引,这是非常方便的。

  分布式写操作:有可以在任何地方任何时间集中读或写任何数据。并且不会有任何单点失败。

  应用客户:twitter、facebook

第2章安装cassandra

2.1下载cassandra

到官方网站上下载最新版本

http://cassandra.apache.org/

我使用的测试版本是1.1.1

2.2解压缩

到主目录

cd ~

建立文件夹

mkdir cassandra

解压缩

tar -zxvf apache-cassandra-1.1.1-bin.tar.gz

2.3运行

首先创建几个文件夹

sudo mkdir -p /var/log/cassandra

sudo chown -R {你的用户名} -R /var/log/cassandra

sudo mkdir /var/lib/cassandra

sudo chown -R {你的用户名} /var/lib/cassandra

进入{cassandra_home}目录,输入bin/cassandra -f,启动cassandra,加上f表示前台运行

你应该能看到如下的界面

 

输入jps,得到

19702 Jps

19522 CassandraDaemon

输入 netstat -an | grep 9160查看启动情况

 

那么恭喜你现在已经有了一个单节点的cassandra集群了。

2.4客户端

进入{cassandra_home}目录,运行bin/cassandra-cli

 

 

输入?或者help;可以看到客户端可以使用的命令列表。

第3章操作

3.1下载cassandra

进入{cassandra_home}目录,运行bin/cassandra-cli

3.1.1环境描述

查看集群名称

show cluster name;

集群中哪些keyspace可用

show keyspaces;

查看系统使用的API版本

show api version;

3.1.2创建列族

创建keyspace

create keyspace MyKeyspace with replication_factor=1;

使用创建的keyspace

use MyKeyspace;

创建列族

create column family User;

查看列族的定义

describe keyspace MyKeyspace;

3.1.3读写数据

写入数据

set User['lgstar']['fname'] = 'Eben'

set User['lgstar']['email'] = 'me@example.com'

查看列数

count User['lgstar']

得到数据

get User['lgstar']

删除列

del User['lgstar']['email']

整行删除

del User['lgstar']

时间: 2024-11-22 16:55:20

Apache cassandra的相关文章

Apache Cassandra数据库的优缺点有哪些?

本文将超越众所周知的一些细节,探讨与 Cassandra 相关的不太明显的细节.您将检查 Cassandra http://www.aliyun.com/zixun/aggregation/14208.html">数据模型.存储模式设计.架构,以及与 Cassandra 相关的潜在惊喜. 在数据库历史文章 "What Goes Around Comes Around"中,Michal Stonebraker 详细描述了存储技术是如何随着时间的推移而发展的.实现关系模型之

Apache Cassandra v0.8.0-final发布 开源分布式Key-Value存储系统

Apache Cassandra是一套开源分布式数据库管理系统.它最初由Facebook开发,用于储存特别大的数据. Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable.Cassandra的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构成的一个分布式网络服务,对Cassandra 的一个写操作,会被复制到其它节点上去,对Cassandra的读操作,也会被路由到某个节点上面去读取.对于一个Cassandra群集来说,扩展性能是比较简单的事情,只管在群集里

Apache Spark技术实战(三)利用Spark将json文件导入Cassandra &SparkR的安装及使用

<一>利用Spark将json文件导入Cassandra 概要 sbt cassandra spark-cassandra-connector 实验目的 将存在于json文件中的数据导入到cassandra数据库,目前由cassandra提供的官方工具是json2sstable,由于对cassandra本身了解不多,这个我还没有尝试成功. 但想到spark sql中可以读取json文件,而spark-cassadra-connector又提供了将RDD存入到数据库的功能,我想是否可以将两者结合

Apache Spark技术实战(二)KafkaWordCount &amp;PackratParsers实例 &amp;Spark Cassandra Connector的安装和使用

<一>KafkaWordCount 概要 Spark应用开发实践性非常强,很多时候可能都会将时间花费在环境的搭建和运行上,如果有一个比较好的指导将会大大的缩短应用开发流程.Spark Streaming中涉及到和许多第三方程序的整合,源码中的例子如何真正跑起来,文档不是很多也不详细. 本篇主要讲述如何运行KafkaWordCount,这个需要涉及Kafka集群的搭建,还是说的越仔细越好. 搭建Kafka集群 步骤1:下载kafka 0.8.1及解压 wget https://www.apach

借助JArchitect探究Cassandra CLI内部机制

关系型数据库管理系统(RDBMS)是存储和使用数据最常用的系统,但对于超 大量数据,这些数据库的扩展性不是很好. 近年来,由于对关系型数据库替代产品的需求日益增长,NoSQL的概念已经受 到广泛的欢迎.NoSQL背后的最大动机是可扩展性.NoSQL数据库解决方案提供了 一种存储和使用超大量数据的方法,而且开销更小,工作量更少,性能更好,停 机时间更短. Apache Cassandra是一个基于列的NoSQL数据库.它是Facebook为推动其收件 箱搜索功能而开发的,后来成为Apache的开源

关于Cassandra的错误观点

正如Apache Cassandra的名称是来自于著名的物洛伊女巫一样,在它身上确实 存在着各种误解.和大多数误解一样,至少在一开始时它们确实是有那么一点道 理的,但随着Cassandra不断地深化与改善,这些误解的内容已经不复存在了.在 本文中,我将针对五个常见的疑惑作出解释,澄清人们的困惑. 误解:Cassandra就是一个嵌套的map 随着使用Cassandra的应用程序变得越来越复杂,以下观点正在逐渐变得清晰 起来:与"任何东西都是一个数组缓冲"或者"任何东西都是一

如何使用JFreeChart来分析Cassandra/Oracle插入海量数据的性能

为了分析在插入海量数据到Cassandra集群或者Oracle时的表现,也就是插入速率,我们用java程序对插入数据的用时进行了采样,最终用JFreeChart把采样结果绘制出来了. 为了公平起见,我们做了以下处理: 1.所有的循环变量都放在了循环外面 2.对于Cassandra的replication-factor设置为1,这样插入数据不需要插入额外的备份. 3.对于Oracle我们用预编译语句,这样插入操作的执行计划可以重用. 4.所有的测试都在周末进行,这样不可能有其他人去干扰这些服务器.

大数据分析平台解析:什么是Apache Spark?

Apache Spark是一款快速.灵活且对开发者友好的工具,也是大型SQL.批处理.流处理和机器学习的领先平台. 2009年,Apache Spark从美国U.C. Berkeley的 AMPLab为起步,现在已经成为世界上主要的大数据分布式处理框架之一.Spark可以以各种方式进行部署,为Java.Scala.Python和R编程语言提供本地绑定,并支持SQL.流数据.机器学习和图形处理.已经被银行.电信公司.游戏公司.政府以及苹果.Facebook.IBM和微软等领域的企业和科技巨头所使用

Julien Nioche谈Apache Nutch 2的特性及产品路线图

原文地址: http://www.infoq.com/cn/articles/nioche-apache-nutch2 开源的Web搜索框架Apache Nutch的2.1版本已于2012年10月5日发布,该版本的新特性包括:支持一些改进属性,用于更好地配置Solr:更新到各个Gora依赖:可以选择构建弹性搜索中的索引.Nutch既可以运行在单台服务器上,也可以用作大规模抓取平台运行在Hadoop集群上. Nutch框架的2.0版本在经历了两年开发之后,已于今年7月发布,该版本以Apache G