《NOSQL数据库技术》课件第9章-Cassandra列族数据库.pptx

上传人(卖家):momomo 文档编号:5818434 上传时间:2023-05-11 格式:PPTX 页数:68 大小:1.45MB
下载 相关 举报
《NOSQL数据库技术》课件第9章-Cassandra列族数据库.pptx_第1页
第1页 / 共68页
《NOSQL数据库技术》课件第9章-Cassandra列族数据库.pptx_第2页
第2页 / 共68页
《NOSQL数据库技术》课件第9章-Cassandra列族数据库.pptx_第3页
第3页 / 共68页
《NOSQL数据库技术》课件第9章-Cassandra列族数据库.pptx_第4页
第4页 / 共68页
《NOSQL数据库技术》课件第9章-Cassandra列族数据库.pptx_第5页
第5页 / 共68页
点击查看更多>>
资源描述

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

26、p help 3 3)查看当前版本信息。)查看当前版本信息。cqlshcqlsh version version199.1.3 CQL简介简介CQLCQL常用常用ShellShell命令(续)命令(续)4 4)使用用户名和密码登录,默认用户名和密码都是)使用用户名和密码登录,默认用户名和密码都是cassandracassandra。cqlshcqlsh-u -u cassandracassandra-p -p cassandracassandra 5 5)启动时执行)启动时执行cqlcql(可用于导入数据,或者执行文件(可用于导入数据,或者执行文件中的中的cqlcql)。)。cqlshcqls

27、h-file=D:users.cql-file=D:users.cql 6 6)捕获命令,所有的)捕获命令,所有的selectselect查询的结果都将保存在查询的结果都将保存在outputoutput文件中。文件中。cqlsh:ks_testcqlsh:ks_test capturecapture D:D:cassandracassandradataoutputdataoutput 7 7)关闭)关闭捕获:捕获:cqlsh:testcqlsh:test capture off;capture off;209.1.3 CQL简介简介CQLCQL常用常用ShellShell命令(续)命令(续)8

28、 8)查看当前主机信息。查看当前主机信息。cqlsh:ks_testcqlsh:ks_test show host;show host;Connected Connected to Test Cluster at 127.0.0.1:9042.to Test Cluster at 127.0.0.1:9042.9 9)关闭关闭ShellShell。cqlsh:ks_testcqlsh:ks_test exit exit 1010)退出退出ShellShell。cqlsh:cqlsh:ks_ks_testtest quit quit 1111)描述集群信息描述集群信息,如集群的名称和所使用的环地

29、址,如集群的名称和所使用的环地址分区算法。分区算法。cqlsh:ks_testcqlsh:ks_testdescribe clusterdescribe cluster;219.1.3 CQL简介简介22CQLCQL常用常用ShellShell命令(续)命令(续)1212)查看键空间表信息,类似于查看查看键空间表信息,类似于查看数据库中表列表数据库中表列表。cqlsh:ks_testcqlsh:ks_test describe tables;describe tables;1313)清空之前屏幕显示的信息。清空之前屏幕显示的信息。cqlsh:ks_testcqlsh:ks_testClear;

30、Clear;1414)批量命令执行方法)批量命令执行方法 可以可以将多条将多条CQLCQL语句保存成文本文件语句保存成文本文件(*.cqlcql文件)文件)。*.cqlcql文件可以在系统命令行中,按照以下语法执行。文件可以在系统命令行中,按照以下语法执行。cqlshcqlsh-file -file file_namefile_name 也也可以在可以在cqlshcqlsh环境中利用环境中利用SOURCESOURCE命令执行。命令执行。cqlsh:ks_testcqlsh:ks_testSOURCE SOURCE file_namefile_name目录目录Cassandra DBCassan

31、dra DB基础基础1CQLCQL数据管理数据管理操作操作技术技术2CassandraCassandra集群管理集群管理3CassandraCassandra数据库管理数据库管理4小结小结523官网:官网:https:/cassandra.apache.org/doc/latest/9.2 CQL数据管理数据管理操作技术操作技术 1 1、键空间操作、键空间操作 2 2、数据表操作、数据表操作 3 3、数据、数据CRUDCRUD操作操作24 4 4、二级二级索引操作索引操作 5 5、函数、函数支持支持9.2.1 键键空间操作空间操作 1 1、创建、创建键键空间:空间:基本语法如下基本语法如下 C

32、REATE KEYSPACE CREATE KEYSPACE WITH WITH 语句语句用来创建一个新的顶级用来创建一个新的顶级KeyspaceKeyspace。KeyspaceKeyspace,即数据库,需定义复制,即数据库,需定义复制策略策略和其他配置选项。和其他配置选项。关键参数说明关键参数说明 1 1)复制复制策略策略 SimpleStrategySimpleStrategy:简单策略:简单策略,在一个数据中心的情况下使,在一个数据中心的情况下使用,定义用,定义了在了在整个集群整个集群中的简单复制中的简单复制因子。只支持因子。只支持replication_factorreplicat

33、ion_factor一个子选项一个子选项,且,且是必选项。是必选项。NetworkTopoLogyStrategyNetworkTopoLogyStrategy:网络拓扑策略:网络拓扑策略,用于多个数,用于多个数据中心,可以为每个数据中心定义单独的复制因子。子据中心,可以为每个数据中心定义单独的复制因子。子选项以选项以key-valuekey-value方式定义,方式定义,keykey表示数据中心名称,表示数据中心名称,valuevalue表示此数据中心的复制因子表示此数据中心的复制因子。259.2.1 键键空间操作空间操作 1 1、创建、创建键键空间:基本语法如下空间:基本语法如下 CREA

34、TE KEYSPACE CREATE KEYSPACE WITH WITH 关键参数说明(续)关键参数说明(续)2 2)复制因子()复制因子(replication_factorreplication_factor):整数取值,代表副本数。):整数取值,代表副本数。3 3)持久写入()持久写入(durable_writedurable_write):):booleanboolean值,默认值,默认truetrue。如果设。如果设置为置为falsefalse,则不会将更新写入提交日志,则不会将更新写入提交日志。示例示例1 1:cqlshcqlshCREATE CREATE KeyspaceKey

35、space ks_testks_testWITH replication=class:WITH replication=class:SimpleStrategySimpleStrategy,replication_factorreplication_factor:3;:3;示例示例2 2:cqlshcqlshCREATE CREATE KeyspaceKeyspace ks_multidctestks_multidctest WITH replication=class:WITH replication=class:NetworkTopoLogyStrategyNetworkTopoLogyS

36、trategy,DC1:1,DC2:3DC1:1,DC2:3 AND AND durable_writesdurable_writes=false;=false;26 2 2查看键空间查看键空间 使用使用“DESCRIBE”DESCRIBE”命令,可以查询某一具体的命令,可以查询某一具体的键空间,如下示例。某个键空间的相关信息键空间,如下示例。某个键空间的相关信息包包含含创建创建键键空间空间表的语句、索引表的语句、索引表表indexesindexes、视图表、视图表viewsviews、函数表、函数表functionsfunctions、触发器表、触发器表triggerstriggers、类型

37、、类型表表typestypes等。等。cqlshcqlsh DESCRIBE DESCRIBE ks_testks_test;CassandraCassandra有一个称为有一个称为systemsystem的内部的内部keyspacekeyspace,用,用于存储关于集群的于存储关于集群的元数据。元数据。cqlshcqlsh DESCRIBE system DESCRIBE system;将返回将返回systemsystem键空间下,各个系统表的创建语句。键空间下,各个系统表的创建语句。279.2.1 键空间操作键空间操作28 3 3切换当前要使用的键空间切换当前要使用的键空间 基本语法:基本

38、语法:USE USE 示例:示例:cqlshcqlsh USE USE ks_testks_test;4 4修改键空间属性修改键空间属性修改键空间的修改键空间的replication replication 和和durable_writesdurable_writes参数值参数值键名称不能更改。一般语法:键名称不能更改。一般语法:ALTER KEYSPACE ALTER KEYSPACE WITH REPLICATION=class:strategy name,WITH REPLICATION=class:strategy name,replication_factorreplication_

39、factor:intint AND AND durable_writesdurable_writes=booleanboolean;9.2.1 键空间操作键空间操作29 4 4修改键空间修改键空间属性(续)属性(续)示例:示例:cqlshcqlsh ALTER KEYSPACE ALTER KEYSPACE ks_testks_test WITH WITH REPLICATION REPLICATION=class:=class:SimpleStrategySimpleStrategy,replication_factorreplication_factor:1 :1 AND AND dura

40、ble_writesdurable_writes =false;=false;5 5删除键空间删除键空间 语法:语法:DROP DROP KEYSPACEKEYSPACE 示例:示例:cqlshcqlsh drop drop keyspacekeyspace ks_testks_test;DROP KEYSPACEDROP KEYSPACE语句执行将删除语句执行将删除keyspacekeyspace中的所有中的所有column column familiesfamilies及包含在及包含在column familiescolumn families中的所有数据。中的所有数据。9.2.1 键空间

41、操作键空间操作9.2.2 数据表数据表操作操作30 1 1创建表创建表(官方官方BNFBNF范式表示范式表示语法语法):create_table_statementcreate_table_statement :=CREATE TABLE IF NOT EXISTS :=CREATE TABLE IF NOT EXISTS table_nametable_name (column_definitioncolumn_definition (,(,column_definitioncolumn_definition)*,PRIMARY KEY(,PRIMARY KEY(primary_keypri

42、mary_key)WITH )WITH table_optionstable_options column_definitioncolumn_definition :=:=column_namecolumn_name cql_typecql_type STATIC PRIMARY KEY STATIC PRIMARY KEY primary_keyprimary_key :=:=partition_keypartition_key ,clustering_columnsclustering_columns partition_keypartition_key :=:=column_nameco

43、lumn_name|(|(column_namecolumn_name(,(,column_namecolumn_name)*)9.2.2 数据表数据表操作操作31 1 1创建表创建表(官方官方BNFBNF范式表示范式表示语法语法)续续 :clustering_columnsclustering_columns :=:=column_namecolumn_name(,(,column_namecolumn_name )*table_optionstable_options :=COMPACT STORAGE AND :=COMPACT STORAGE AND table_optionstabl

44、e_options|CLUSTERING ORDER BY(|CLUSTERING ORDER BY(clustering_orderclustering_order)AND )AND table_optionstable_options|optionsoptionsclustering_orderclustering_order :=:=column_namecolumn_name(ASC|DESC)(,(ASC|DESC)(,column_namecolumn_name(ASC|DESC)(ASC|DESC)*如果建表的时候指定了如果建表的时候指定了 COMPACT COMPACT STO

45、RAGESTORAGE(3.03.0版本前支版本前支持,这时候不持,这时候不允许存在静态允许存在静态列,也有些其他方面的限制,该列,也有些其他方面的限制,该选项主要出于向后兼容保留,一般不用。选项主要出于向后兼容保留,一般不用。9.2.2 数据表数据表操作操作32 1 1创建创建表表 :一般语法如下一般语法如下 CREATE TABLE IF NOT EXISTS (CREATE TABLE IF NOT EXISTS (column1 column1 cql_typecql_type,column2 column2 cql_typecql_type,columnNcolumnN cql_ty

46、pecql_type,PRIMARY PRIMARY KEY(column1,KEY(column1,columnKcolumnK,),)WITH)WITH property1 property1=value AND=value AND propertyMpropertyM =value value ;定义定义表时,每行由表时,每行由PRIMARY KEYPRIMARY KEY唯一标识唯一标识。所有所有tabletable必须定义一个必须定义一个PRIMARY KEYPRIMARY KEY。一一个个PRIMARY KEYPRIMARY KEY可以由一个或多个可以由一个或多个columnscol

47、umns组成组成。如果如果PRIMARY KEYPRIMARY KEY只有一个只有一个columncolumn,则可以直接在此,则可以直接在此columncolumn之后定义。否则之后定义。否则PRIMARY KEYPRIMARY KEY必须用逗号必须用逗号分割,分割,单独定义。单独定义。9.2.2 数据表数据表操作操作33 示例示例1 1:cqlsh:ks_testcqlsh:ks_testcreate table IF NOT EXISTS users(create table IF NOT EXISTS users(id id bigintbigint primary key,prima

48、ry key,username text,username text,age age intint,height double,height double,birthday birthday date,date,isvipisvip booleanboolean,ip ip inetinet,hobbies list,hobbies list,skills set,skills set,scores maptext,scores map,tags tuple,tags tuple,createtimecreatetime timestamp,timestamp,)with comment=us

49、er info table;)with comment=user info table;示例示例2 2:cqlsh:ks_testcqlsh:ks_testCREATE TABLE CPT(CREATE TABLE CPT(CID CID intint,PID PID intint,remark text,remark text,PRIMARY PRIMARY KEY(CID,PIDKEY(CID,PID););在在CQLCQL中,列的顺序定义了主键。主键中相同中,列的顺序定义了主键。主键中相同partition keypartition key的所有的的所有的rowsrows,将会被存储在相

50、同的物理节点上,将会被存储在相同的物理节点上 设计分区键时,查询需求驱动,尽可能涉及较少的分区设计分区键时,查询需求驱动,尽可能涉及较少的分区就能获取到相关数据就能获取到相关数据 主主键示例:分区键(第一列)键示例:分区键(第一列)+clustering columns+clustering columns PRIMARY KEY(aPRIMARY KEY(a)PRIMARY KEY(a,b,cPRIMARY KEY(a,b,c)PRIMARY KEY(a,b),c)PRIMARY KEY(a,b),c)349.2.2 数据表操作数据表操作35 示例示例3 3:分区键,相同分区键的行位于同一分

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(《NOSQL数据库技术》课件第9章-Cassandra列族数据库.pptx)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|