《NOSQL数据库技术》课件第9章-Cassandra列族数据库.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《NOSQL数据库技术》课件第9章-Cassandra列族数据库.pptx》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NOSQL数据库技术 NOSQL 数据库技术 课件 Cassandra 数据库
- 资源描述:
-
1、目录目录Cassandra DBCassandra DB基础基础1CQLCQL数据管理操作数据管理操作2CassandraCassandra集群管理集群管理3CassandraCassandra数据库管理数据库管理4小结小结51官网:官网:https:/cassandra.apache.org/doc/latest/9.1 Cassandra DB基础基础2 本章学习内容本章学习内容思维导思维导图如下图如下9.1.1 下载与安装下载与安装 CassandraCassandra支持多平台安装支持多平台安装 官方官方网址:网址:https:/cassandra.apache.orghttps:/c
2、assandra.apache.org/文件名为文件名为apache-cassandra-3.11.6-bin.tar.gzapache-cassandra-3.11.6-bin.tar.gz 解解压到安装目录下压到安装目录下39.1.1 下载与安装下载与安装n这里以这里以WindowsWindows平台为例说明安装过程,平台为例说明安装过程,LinuxLinux平台平台操作过程类似,一般包含如下操作过程类似,一般包含如下5 5个步骤个步骤。n1 1)配置环境变量配置环境变量:配置:配置CASSANDRA_HOMECASSANDRA_HOME为安装路为安装路径,并在径,并在pathpath后面
3、增加后面增加“%CASSANDRA_HOME%bin;%CASSANDRA_HOME%bin;”。n2 2)确认环境变量设置成功确认环境变量设置成功:重新开启新的命令窗口,请:重新开启新的命令窗口,请注意一定要新开命令窗口才可以查看到被新建或修改的注意一定要新开命令窗口才可以查看到被新建或修改的环境变量。在新的命令窗口中输入环境变量。在新的命令窗口中输入echo%echo%Java_homeJava_home%或或echo%echo%Cassandra_HomeCassandra_Home%输出环境变量的值,会获取输出环境变量的值,会获取到刚才设置的值。到刚才设置的值。n3 3)修改默认配置文
4、件修改默认配置文件,即,即%CASSANDRA_HOME%CASSANDRA_HOME%confconf文件夹下的文件夹下的cassandra.yamlcassandra.yaml文件。文件。9.1.1 下载与安装下载与安装n3 3)修改默认修改默认配置文件配置文件(续续),即即%CASSANDRA_HOME%CASSANDRA_HOME%confconf文件夹下的文件夹下的cassandra.yamlcassandra.yaml文件文件n 修改数据存储文件路径修改数据存储文件路径,先本地新建先本地新建datadata目录,对应配置目录,对应配置项如项如图所示图所示 将将其修改为本地新建的其修
5、改为本地新建的datadata路径,示例如下。路径,示例如下。data_file_directoriesdata_file_directories:-D:BDAapache-cassandra-3.11.6data -D:BDAapache-cassandra-3.11.6data9.1.1 下载与安装下载与安装n 修改日志文件存储路径修改日志文件存储路径,先本地新建,先本地新建commitLogcommitLog目录,对目录,对应配置项如应配置项如图所图所示示。n将将其修改为本地新建的日志文件存储路径,示例如下。其修改为本地新建的日志文件存储路径,示例如下。commitLog_directo
6、rycommitLog_directory:D:BDAapache-cassandra-D:BDAapache-cassandra-3.11.6commitLog3.11.6commitLogn 修改缓存文件存储路径修改缓存文件存储路径,先本地新建先本地新建saved_cachessaved_caches目录,同目录,同前找到对应配置项后,修改为本地路径,示例如下前找到对应配置项后,修改为本地路径,示例如下。saved_caches_directorysaved_caches_directory:D:BDAapache-cassandra-3.11.6saved_cachesD:BDAapac
7、he-cassandra-3.11.6saved_caches9.1.1 下载与安装下载与安装n 启动前,在启动前,在%CASSANDRA_HOME%bin%CASSANDRA_HOME%bin下的下的cassandra.batcassandra.bat与与cassandra.in.batcassandra.in.bat两个文件中分别添加以下内容两个文件中分别添加以下内容,两个环境变量的值修改为读者自己的环境配置。,两个环境变量的值修改为读者自己的环境配置。set JAVA_HOME=C:Program FilesJavajdk1.8.0_181set JAVA_HOME=C:Program
8、FilesJavajdk1.8.0_181set set CASSANDRA_HOME=D:BDAapache-cassandra-3.11.6CASSANDRA_HOME=D:BDAapache-cassandra-3.11.6n启动服务,启动服务,执行执行%CASSANDRA_HOME%bin%CASSANDRA_HOME%bin下的下的cassandra.batcassandra.bat,看到如,看到如图所图所示内容即表示安装成功。示内容即表示安装成功。9.1.1 下载与安装下载与安装nWindowsWindows下运行下运行CassandraCassandra除了需要除了需要JREJR
9、E外,还需要外,还需要Python2.7Python2.7,如果安装了,如果安装了Python3Python3以上的环境,需要单以上的环境,需要单独安装一个独安装一个Python2.7Python2.7的的环境环境;n在在CassandraCassandra安装目录下的安装目录下的bincqlsh.batbincqlsh.bat文件设置文件设置Python2.7Python2.7的路径。如的路径。如图所图所示,同时需将示,同时需将Python2.7Python2.7安装安装路径添加到系统环境变量路径添加到系统环境变量PathPath中;中;n或者或者为方便切换为方便切换Python2Pytho
10、n2与与Python3Python3可创建可创建PythonHOMEPythonHOME环境变量,并指向环境变量,并指向Python2.7Python2.7安装路径安装路径。CassandraCassandra数据库配置文件是数据库配置文件是YAMLYAML格式文件格式文件 注意修改参数时格式缩进和对齐要求注意修改参数时格式缩进和对齐要求 启动服务后在命令行窗口输入启动服务后在命令行窗口输入cqlshcqlsh即可进入即可进入shellshell交互环境交互环境 把把CassandraCassandra安装成服务的方法安装成服务的方法 1 1)在在binbin目录下建立目录目录下建立目录dae
11、mondaemon 2 2)下载并将)下载并将prunsrv.exeprunsrv.exe拷贝至拷贝至daemondaemon文件夹下文件夹下 3 3)在在binbin目录下目录下执行执行Cassandra.bat installCassandra.bat install参考:参考:https:/https:/ 下载与安装下载与安装9.1.1 下载与安装下载与安装n在在CQLSHCQLSH交互环境下查询当前集群信息命令,如看到如交互环境下查询当前集群信息命令,如看到如图所图所示结果表示安装示结果表示安装成功成功n执行执行cqlshcqlsh-help-help命令可显示有关命令可显示有关cql
12、shcqlsh命令的帮助命令的帮助信息信息n在在CentOSCentOS上上可以采用可以采用“yum”yum”命令在线安装命令在线安装CassandraCassandra最新稳最新稳定定版本版本nbinbin目录和目录和tool/bin tool/bin 目录下提供的常用目录下提供的常用工具工具nnodetoolnodetool:用于监控管理集群节点的工具包。:用于监控管理集群节点的工具包。nsstableloadersstableloader :加载:加载 SStableSStable 到集群中。到集群中。nsstablescrubsstablescrub :删除集群中的冗余数据:删除集群中
13、的冗余数据9.1.2 数据类型数据类型 CassandraCassandra数据库提供了丰富的数据库提供了丰富的数据类型数据类型 原原生类型生类型(Native_typeNative_type)集合集合类型类型(Collection_typeCollection_type)用户用户定义类型定义类型(User_defined_typeUser_defined_type)元组元组类型类型(Tuple_typeTuple_type)自定义自定义类型类型(Custom_typeCustom_type)11 1 1、CassandraCassandra原原生类型生类型(Native_typeNative
14、_type)129.1.2 数据类型数据类型数据类型数据类型常量常量描述描述1字符串型字符串型asciistring表示ASCII字符串textstring表示UTF8编码的字符串varcharstring表示UTF8编码的字符串2整型整型bigintinteger表示64位有符号长整数intinteger表示32位有符号整数tinyintinteger表示8位有符号整数smallintinteger表示16位有符号整数varintinteger表示可变精度整数3浮点型浮点型decimalinteger,float表示精度可变浮点数doubleinteger,float表示64位IEEE-75
15、4浮点数floatinteger,float表示32位IEEE-754浮点数 1 1、CassandraCassandra原原生类型生类型(Native_typeNative_type)139.1.2 数据类型数据类型数据类型数据类型常量常量描述描述4日期型日期型dateinteger,string一般格式为:yyyy-mm-ddtimeinteger,string一般格式为:hh:mm:ss.ffftimestampinteger,string表示时间戳,精度到毫秒timeuuiduuid时间相关的uuid,可以使用now()作为值durationduration持续时间,使用ISO8601
16、格式5其他类型其他类型Booleanboolean表示true或falsecounterinteger表示计数器列,可进行增量、减量运算inetstring表示一个IP地址,IPv4或IPv6blobblob表示任意字节数组uuiduuid表示UUID数据https:/cassandra.apache.org/doc/3.11.6/cql/types.html#dates 2 2、CassandraCassandra数据库数据库集合数据类型集合数据类型主要包含以下主要包含以下4 4种种 列表类型列表类型:列表:列表中的值可以中的值可以重复重复 listT list value,valueval
17、ue,value,.,.集合类型集合类型:集合中的值不可以重复出现集合中的值不可以重复出现 setT set value,value,value,value,.键值对集合键值对集合:使用使用columnkeycolumnkey来访问来访问 mapT map key1:value1,key2:value2,T key1:value1,key2:value2 frozenfrozen:是:是对前面三种集合类型的限定,将其对前面三种集合类型的限定,将其所有元素进行序列化,所有元素进行序列化,形成一个形成一个整体整体。没用没用frozenfrozen时,集合类型均可以对单个元素操作,限定时,集合类型均
18、可以对单个元素操作,限定后只能对整体进行操作。后只能对整体进行操作。149.1.2 数据类型数据类型 3 3、CassandraCassandra用户用户定义类型定义类型(User_defined_typeUser_defined_type)1 1)创建类型:)创建类型:CREATE CREATE TYPETYPE语句创建新的用语句创建新的用户定义类型,每个类型都是一组列名称、列类户定义类型,每个类型都是一组列名称、列类型的集合。字段类型可以是任何合法型的集合。字段类型可以是任何合法类型类型 语法语法:create create type (type (column1 column1 cql_
19、typecql_type,columnNcolumnN cql_typecql_type););159.1.2 数据类型数据类型 示例:其中示例:其中testtest是键空间是键空间cqlsh:testcqlsh:testcreate type address(create type address(province text,province text,city text,city text,region text,region text,HouseNumberHouseNumber text text ););引用引用UDTUDT创建其他创建其他UDTUDT示例如下。示例如下。CREATE
20、 TYPE CREATE TYPE work_and_home_addresseswork_and_home_addresses(home_addresshome_address addressaddress,wowork_addressrk_address address address )2 2)查询所有的查询所有的UDTUDT类型类型:cqlsh:testcqlsh:test describedescribe types;types;3 3)查看某个查看某个类型类型:cqlsh:testcqlsh:test describe type addressdescribe type addre
21、ss;4 4)修改某个修改某个UDTUDT,如添加一个新列,如添加一个新列。语法。语法:ALTER ALTER TYPE ADD column TYPE ADD column cql_typecql_type;示例:示例:cqlsh:testcqlsh:test ALTER TYPE address ADD ALTER TYPE address ADD PostalCodePostalCode text text;5 5)删除删除UDTUDT类型类型:DROP TYPE;DROP TYPE;169.1.2 数据类型数据类型 4 4、元组、元组类型类型(Tuple_typeTuple_type)
22、:匿名:匿名UDTUDT 自定义元组类型,只需要定义元组每个元素的类型即可,自定义元组类型,只需要定义元组每个元素的类型即可,不需要定义每个元素的名称。不需要定义每个元素的名称。自定义元组类型一般语法形式为自定义元组类型一般语法形式为:tupletexttuple,text,对应的值为,对应的值为(value,value,.)(value,value,.)。元组默认是元组默认是frozenfrozen的,即作为一个整体操作。的,即作为一个整体操作。示例:示例:CREATE TABLE durations(CREATE TABLE durations(event text,event text,
23、duration duration tupletuple,text,)INSERT INTO durations(event,duration)VALUES(ev1,(3,hours);INSERT INTO durations(event,duration)VALUES(ev1,(3,hours);5 5、自定义、自定义类型类型(Custom_typeCustom_type):主要出于向后兼容性目:主要出于向后兼容性目的设计,官方已不建议使用,的设计,官方已不建议使用,UDTUDT可满足应用开发需求。可满足应用开发需求。179.1.2 数据类型数据类型9.1.3 CQL简介简介 CQLCQL
24、是是Cassandra Query LanguageCassandra Query Language的的缩写缩写 类似于类似于SQLSQL的语法的语法,但不,但不支持支持JOINJOIN和子和子查询查询 使用标识符来标识使用标识符来标识tablestables、columnscolumns和其他和其他对象对象 标识符命名一般规则,按以下正则表达式定义标识符命名一般规则,按以下正则表达式定义 :a-a-zAzA-Za-zA-Z0-9-Za-zA-Z0-9_ _*标识符和关键字是大小写不标识符和关键字是大小写不敏感敏感 一般约定关键字大写一般约定关键字大写,自定义标识符小写,自定义标识符小写 注释
25、注释 单行单行注释注释:采用:采用-或或/开头开头 多多行行注释:使用注释:使用“/*注释内容注释内容*/”/”方式表示方式表示189.1.3 CQL简介简介 CQLCQL语句可以分为以下语句可以分为以下3 3类类 DDLDDL:定义或修改数据存储结构。:定义或修改数据存储结构。DMLDML:数据操作语言,新增、修改与删除数据等。:数据操作语言,新增、修改与删除数据等。QueriesQueries:查询数据:查询数据。CQLCQL常用常用ShellShell命令命令 1 1)登录)登录ShellShell。cqlshcqlsh 2 2)查看命令帮助。)查看命令帮助。cqlshcqlsh hel
展开阅读全文