`

cassandra 学习日记

阅读更多

本文所有实例的测试环境如下:

操作系统:Windows7(32位)

cassandra:apache-cassandra-0.6.1

JDK:jdk1.6.0_14

 

1、安装cassandra

 

     1.1> 下载地址:http://cassandra.apache.org/

 

     1.2> 修改基本的配置

          一、先修改storage-conf.xml:

              欲修改节点名称如下:

               DataFileDirectory、CommitLogDirectory

               以上两个个均为文件路径,根据自己的情况做更改。

 

          二、修改 log4j.properties

               把日志路径改为自己的就行了;看日志便于排查问题。

 

          其它配置项修改

                根据配置文件的说明,即可定制自己的配置!如果看不明白说明的话,请在网上先搜索下!

 

     1.3> 环境变量配置(针对windows操作系统)

            CASSANDRA_HOME:自己的CASSANDRA根路径

            例如:CASSANDRA_HOME:D:\apache-cassandra-0.5.1

 

     1.4> 启动cassandra

           执行 bin/cassandra.bat(windows)   bin/cassandra (Linux)

           看到启动页的最后一行为如下内容,即为启动成功!

           “ INFO - Starting up server gossip”

 

     1.5> 配置结束

 

2、 cassandra 数据模型

 

       set Keyspace1.Standard1['jsmith']['first'] = 'John'
                  \                    \                 \           \             \
                   \                    \                 \_ key   \             \_ value
                    \                    \                              \_ column
                     \_ keyspace  \_ column family

 

      [Keyspace]
            Cassandra中的最大组织单元,其中包含了一系列Column family。

      [Column family(CF)]
            CF是某个特定Key的数据集合,每个CF物理上被存放在单独的文件中。

      [Key]
            数据必须通过Key来访问,Cassandra允许范围查询.
            例如:start => ‘10050′, :finish => ‘10070′

      [Column]

在Cassandra中Column是最小的数据单元,column和value构成一个对。
比如:name:“jacky”,column是name,value是jacky,每个column:value后都有一个时间戳:timestamp。
 


      [Super column]

Super column是一种特殊的column,里面可以存放任意多个普通的column。而且一个CF中同样可以有任意多个Super column,一个CF只能定义使用Column或者Super column,不能混用。
下面是Super column的一个例子,homeAddress这个Super column有三个column:分别是street,city和zip:
homeAddress: {street:"binjiang road", city:"hangzhou", zip:"310052",}
 


      [Sorting]

Cassandra取出的数据顺序是总是一定的。因为数据保存时已经按照定义的规则存放,所以取出来的顺序已经确定了,这是一个巨大的性能优势。有意思的是,Cassandra按照column name而不是column value来进行排序,它定义了以下几种选项:BytesType, UTF8Type, LexicalUUIDType, TimeUUIDType, AsciiType,  和LongType,用来定义如何按照column name来排序。实际上,就是把column name识别成为不同的类型,以此来达到灵活排序的目的。UTF8Type是把column name转换为UTF8编码来进行排序,LongType转换成为64位long型,TimeUUIDType是按照基于时间的UUID来排序。例如:
Column name按照LongType排序:
{name: 3, value: “jacky”},
{name: 123, value: “hellodba”},

Column name按照UTF8Type排序:
{name: 123, value: “hellodba”},
{name: 3, value: “jacky”},

 

3、数据操作

 

    3.1 客户端命令

 

          3.1.1 客户端命令连接服务端

          linux和windows的连接方式稍有差异。

          linux:

          #cassandra-cli connect <ip> 9160

 

          windows:

          先执行cassandra-cli.bat

          再输入 connect <ip> 9160,然后回车。

 

          3.1.2 set、 get、 del、 count

 

              set 新增和编辑

              get 查询

              del  删除

              count  按照参数统计记录数

 

              如果编辑某条数据,只需set新的value即可;用法跟Map一样!

 

              例子如下:

 

cassandra> set Keyspace1.Standard2['jsmith']['first'] = 'John'
Value inserted.

cassandra> get Keyspace1.Standard2['jsmith']['first']
=> (column=first, value=John, timestamp=1273452409212000)

cassandra> del Keyspace1.Standard2['jsmith']['first']
column removed.

 

          3.1.3 其它命令

 

              1、describe keyspace <keyspacename>                              Describe keyspace.
              2、exit                                                                   Exit CLI.
              3、quit                                                                   Exit CLI.
              4、show config file                                Display contents of config file.
              5、show cluster name                                          Display cluster name.
              6、show keyspaces                                           Show list of keyspaces.
              7、show api version                                        Show server API version.

 

    3.2 代码连接(java)

 

 

 

 

 

分享到:
评论

相关推荐

    cassandra 学习

    ### Cassandra学习知识点详解 #### 一、Cassandra简介与历史 **Cassandra**是一款高性能的分布式NoSQL数据库系统,由Facebook开发并在2008年开源。它最初是为了支持Facebook的收件箱搜索功能而设计的,其核心设计...

    nosql cassandra学习教程

    Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。其主要功能比Dynomite(分布式的Key-Value存储系统)更丰富,但支持度却不如文档存储MongoDB(介于关系数据库和非关系数据库之间的开源产品,是非...

    Cassandra个人学习笔记总结

    ### Cassandra 1.0新特性解析与集群部署规划 #### 一、Cassandra 1.0新特性概览 Cassandra 1.0版本引入了一系列关键改进,旨在增强其存储能力、读写效率以及整体系统稳定性。以下是该版本中值得注意的新特性: 1....

    cassandra学习资料收集

    【Cassandra学习资料详解】 Cassandra,全称为Apache Cassandra,是一款高性能、可扩展且高度可用的分布式NoSQL数据库系统。它的设计目标是处理大规模数据,适用于互联网规模的应用场景,如日志存储、用户行为分析...

    cassandra学习笔记

    token是cassandra里相当重要的一个概念,它是cassandra用来平衡集群内各节点负载的一个属性。cassandra里有不同的token分配策略,推荐采用默认的RandomPartitioner分区策略。在这个策略下,token是一个0~2的127次方...

    Cassandra 权威指南 大数据学习必备

    Cassandra 权威指南 大数据学习必备。 本书是一本广受好评的Cassandra图书。与传统的关系型数据库不同,Cassandra是一种开源的分布式存储系统。书中介绍了它无中心架构、高可用、无缝扩展等引人注目的特点,讲述了...

    Nosql - Cassandra 入门学习

    【Cassandra 入门学习】 Cassandra是一款分布式NoSQL数据库系统,特别适合处理大量结构化和半结构化数据。它的设计灵感来源于Google的Bigtable,旨在提供高可用性、线性可扩展性和强一致性的数据存储解决方案。在...

    Learning_Apache_Cassandra

    整体而言,文档内容丰富,涉及了Cassandra的安装、数据模型设计、核心操作,以及高级查询技巧,旨在为读者提供从基础到进阶的全面Cassandra学习路径。这本书适用于那些希望在自己的项目中使用Cassandra的开发者,...

    DevCenter cassandra客户端

    8. **教学和学习工具**:对于初学者,DevCenter提供了一个学习Cassandra和CQL的理想环境。用户可以即时看到查询结果,理解NoSQL数据库的工作方式。 通过使用DevCenter,开发人员和管理员能够更加高效地管理他们的...

    spring boot与cassandra集成,使用JPA方式。

    在本文中,我们将深入探讨如何将Spring Boot框架与Cassandra数据库集成,并利用Java Persistence API (JPA) 进行数据操作。Spring Boot以其简洁的配置和开箱即用的特性,已经成为Java开发中的首选框架之一。而...

    cassandra-3.11.3下载

    Cassandra是一款分布式、高度可扩展的NoSQL数据库系统,由Facebook于2008年开源,并在随后被Apache软件基金会接纳为顶级项目。Cassandra的设计灵感来源于Google的Bigtable,旨在处理大规模的数据存储需求,特别适合...

    Cassandra在饿了么的应用

    标题中提到的"Cassandra在饿了么的应用"意味着文章将讨论Apache Cassandra这个大规模分布式NoSQL数据库系统在...对于关注分布式数据库系统、大数据架构设计及NoSQL数据库应用的读者来说,这是一个不可多得的学习案例。

    Cassandra实战.pdf

    这些工具和服务共同构成了Cassandra生态系统的重要组成部分,极大地降低了学习和使用的门槛,使得Cassandra成为众多大型企业和云服务提供商的首选数据库解决方案之一。 总之,《Cassandra实战.pdf》不仅介绍了...

    cassandra-operator,apache-cassandra的kubernetes算子.zip

    Cassandra-Operator是针对Apache Cassandra在Kubernetes集群中部署和管理的一个开源项目。它使得在Kubernetes环境中运行和扩展Cassandra数据库变得更加简单和自动化。在这个压缩包“cassandra-operator,apache-...

    Learning Apache Cassandra 2015

    ### 学习Apache Cassandra 2015:深入理解NoSQL数据库系统 #### 一、了解Apache Cassandra及其特性 **Apache Cassandra**是一款分布式NoSQL数据库系统,由Facebook开发并在2008年作为开源项目发布。它以Amazon的...

    java NoSql Cassandra hector

    Java NoSQL Cassandra Hector详解 在当今大数据时代,非关系型数据库(NoSQL)因其灵活性、高可扩展性和高性能,越来越受到开发者的青睐。Cassandra,作为NoSQL数据库家族中的重要一员,尤其在大规模分布式存储系统...

    Cassandra

    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 ...

    Cassandra_概要指南

    ### Cassandra概要指南 #### 一、Cassandra的诞生与背景 Cassandra作为一个高可靠性的大规模分布式存储系统,它的诞生背景源于互联网Web2.0应用的飞速发展以及云计算技术的普及。随着用户数据量的爆炸性增长和对...

Global site tag (gtag.js) - Google Analytics