`

【赵强老师】NoSQL数据库之Cassandra基础

阅读更多

一、Cassandra简介

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

二、安装与配置

  • 解压安装包
tar -zxvf apache-cassandra-3.11.3-bin.tar.gz -C ~/training/
  • 设置环境变量
CASSANDRA_HOME=/root/training/apache-cassandra-3.11.3
export CASSANDRA_HOME
PATH=$CASSANDRA_HOME/bin:$PATH
export PATH
  • 将以下三个地址设置为Linux相应的IP
listen_address: 192.168.56.111
rpc_address: 192.168.56.111
 - seeds: "192.168.56.111"
  • 启动Cassandra
注意:要以root用户启动Cassandra,需要使用-R参数。
命令:cassandra -R
  • 验证Cassandra运行环境:nodetool工具
命令:nodetool status

 

从Cassandra 2.1版本开始,日志和数据都被存放在logs和data的子目录下。老版本默认保存在/var/log/cassandra和 /var/lib/cassandra。

三、Cassandra的配置参数

核心配置文件:conf/cassandra.yaml,启动过程中的日志信息如下图所示:

  • 主要的运行时参数
cluster_name: 集群的名称
storage_port:节点内部通信的端口(默认: 7000)
listen_address:Cassandra绑定的、用来连接其他Cassandra节点的IP地址或者主机名称。(默认: localhost)
native_transport_port:客户端监听CQL本地传输的端口(默认: 9042)
  • 目录相关的参数
data_file_directories:这个目录位置就是表数据存储的地方(在SSTables里)。Cassandra将数据均匀的分布在这个位置,受配置的压缩策略粒度的限制。
commitlog_directory:这个目录是commit log 存放的地方。为了获得最佳的写入性能,将commit log放在单独的磁盘分区,或者(理想情况下)和data文件目录分开的物理设备上。commit log只能追加的。
saved_caches_directory:这个目录是table key和row缓存存放的地方。默认位置:$CASSANDRA_HOME/data/saved_caches
hints_directory:设置hints的存储位置(默认: $CASSANDRA_HOME/data/hints)

四、Cassandra的基本操作

(一)登录CQL客户端:cqlsh localhost

  • 查看表system.local的结构:

  • 查询系统的信息:

  • 查看表空间:describe keyspaces;

  • 查看已有表:describe tables;

  • 查看表结构:describe table table_name;

(二)使用Cassandra的Java客户端

Cassandra使用cql语言作为操作语言,Cassandra在2.0之后,在操作上越来越像sql数据库的操作,这样想从传统关系型数据库,切换到Cassandra的话,上手成本也越来越低。使用官方java驱动操作Cassandra非常简单。maven引入相关的依赖如下所示:

<dependency>
	<groupId>info.archinnov</groupId>
	<artifactId>achilles-core</artifactId>
	<version>6.0.0</version>
	<classifier>shaded</classifier>
</dependency>

下面执行CRUD操作:

分享到:
评论

相关推荐

    10天掌握MongoDB

    综上所述,MongoDB作为一种现代的NoSQL数据库系统,其强大的功能和灵活的数据模型使其成为处理大规模、高并发数据场景的首选数据库之一。通过熟悉上述知识点,开发者能够更加高效地运用MongoDB进行应用程序开发,...

    传智播客 赵强 Oracle课件

    赵强老师在传智播客的Oracle课程是专为IT专业人士和对数据库技术感兴趣的学员设计的一系列教学资料,旨在深入浅出地讲解Oracle的核心概念、功能以及实际操作技巧。 在赵强老师的课程中,你可以学到以下几个重要的...

    赵强老师的Oracle课件

    想要好好地学习Oracle数据库的朋友呀,你错过了她就太不值得了。里面有好多的Oracle操作命令可能你都没接触过吧。好了,话不多多说。坚信资料不错!你,值得拥有!OK.还有,之所有要你2分打赏,是我给了你这么好的...

    从零开始oracle

    ### Oracle基础教程:从零开始了解Oracle9i #### 关系型数据库系统简介 ##### 1.1.1 什么是关系型数据 关系型数据是一种按照关系数学模型组织和存储的数据形式。这种模型以二维表格的方式呈现数据,表格中的每一...

    Oracle数据库赵强视频教程【3天】

    教程名称:Oracle 数据库赵强视频教程【3天】教程目录:【】Oracle安装与管理、SQL语句(赵强)【】Orcale存储过程jdbc与Orcale大文本操作等(赵强)【】SQL简单查询触发器视图(赵强)  资源太大,传百度网盘了,链接在...

    精通JSP编程 作者赵强

    《精通JSP编程》是赵强先生的一部深入解析JSP技术的专业著作,该书针对JSP编程进行了全面且深入的讲解,旨在帮助读者掌握JSP的核心概念和技术,提升Web应用开发能力。根据提供的文件名列表,我们可以推测书籍的章节...

    精通JSP编程 作者赵强 编

    精通JSP编程 作者赵强 编 12-18节

    Oracle学习笔记(传智播客 赵强)

    在Oracle数据库的学习中,SQL优化是一项至关重要的技能,因为它直接影响到数据库的性能和查询效率。以下是一些关于SQL优化的关键知识点: 1. **使用列名代替通配符(*)**:在编写SQL查询时,避免使用`*`来获取所有列...

    二年级数学生活中的大数赵强PPT课件.pptx

    赵强老师在课件中选择了具有代表性的例子,如天空中闪烁的星星、高大的教学楼、雄伟的东方明珠电视塔、世界之巅珠穆朗玛峰,以及丰富多彩的中国鸟类种类和跨越江河的壮丽桥梁。这些例子不仅贴近学生的实际生活,还能...

    [1120][赵强精通JSP编程][37M]

    根据提供的文件信息,我们可以推断出这是一份与Java Server Pages (JSP)相关的学习资料介绍,特别是关于赵强编写的《精通JSP编程》这本书的相关信息。下面将基于这个理解来生成相关知识点。 ### 一、JSP基础概念 ...

    oracle 课件

    - **理论教学**:占培训内容的 50%,主要包括数据库基本概念、SQL 语言基础、表和索引的创建与管理等内容,通过文字和图片的形式进行讲解。 - **实践操作**:同样占据 50% 的比例,重点在于通过实际操作来加深理解,...

    oracle讲义

    Oracle数据库管理系统是全球广泛使用的大型关系型数据库系统之一,它为各类企业和组织提供高效的数据存储和管理解决方案。本文将深入探讨"Oracle讲义"中涉及的关键知识点,包括Oracle的体系结构、文件管理、光标、...

    oracle课件

    Oracle数据库系统是全球广泛使用的大型关系型数据库管理系统之一,它在企业级数据管理、数据分析以及应用程序开发中扮演着核心角色。本"Oracle课件"集合为初学者提供了一个丰富的学习平台,通过PPT格式深入浅出地...

    day2013-0110-webLogic配置和集群(赵强).zip

    总结,"day2013-0110-webLogic配置和集群(赵强)"这个资料包涵盖了WebLogic的基础配置、集群搭建、高可用性设置以及一些高级特性的讲解。对于希望深入理解和操作WebLogic的用户来说,这是一份非常有价值的参考资料。...

    二年级数学生活中的大数赵强PPT学习教案.pptx

    在我们日常生活中,数字的应用无处不在,从简单的计数到复杂的科学研究,都需要用到...教师在教学过程中,应不断引导学生进行估算、比较和排序,通过实践加深对大数概念的理解,从而为他们的数学学习打下坚实的基础。

    java 的基础用运

    数据库交互是Web应用开发的重要部分,因此课程中会涵盖JDBC(Java Database Connectivity)技术,使学生能够通过Java代码实现对MySQL或Oracle等数据库的数据存取。此外,课程还会教授如何使用监听器来统计在线用户,...

    八种编程语言毕业设计参考文献

    10. **汪赵强.《网页制作与JSP技术》**(2010):不仅介绍了JSP技术,还涵盖了网页制作的基本知识,适合Web开发初学者。 11. **孙卫琴.《Tomcat与JavaWeb开发技术详解》**(2009):详细介绍了Tomcat服务器以及与之...

    LoadRunner性能测试巧匠训练营-完整版(带目录)-赵强邹伟伟

    《LoadRunner性能测试巧匠训练营》是一本深入讲解LoadRunner性能测试的教材,由赵强和邹伟伟两位专家共同编著。该资源提供的是完整版,且无需密码即可解压阅读,对于想要学习和提升LoadRunner性能测试技能的人来说,...

    信息存储技术的发展赵强.doc

    信息存储技术,作为信息技术的基石之一,从早期的岩画、古书,到现代的半导体、磁盘、光存储,再到先进的集群存储和虚拟化技术,其发展历程见证了人类社会的巨大变革。自20世纪开始,随着“万物皆可数”的理念推动,...

Global site tag (gtag.js) - Google Analytics