文档版本 24
发布日期 2022-01-27
版权所有 © 华为技术有限公司 2022。 保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传 播。
商标声明
和其他华为商标均为华为技术有限公司的商标。
本文档提及的其他所有商标或注册商标,由各自的所有人拥有。
注意
您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或 特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或暗示的声 明或保证。
由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文 档中的所有陈述、信息和建议不构成任何明示或暗示的担保。
目 录
1 引擎简介...1
1.1 什么是 GaussDB(for Cassandra)... 1
1.2 兼容接口和版本...2
1.3 数据库实例规格...2
1.4 数据库实例状态...4
1.5 数据库规范... 5
1.5.1 基本设计规范...5
1.5.2 数据库对象使用规范... 7
1.5.3 访问/连接池规范... 8
1.5.4 BATCH 规范... 8
1.5.5 查询规范... 8
2 快速入门...9
2.1 概述... 9
2.2 购买实例 ... 10
2.3 连接实例... 17
2.3.1 连接方式介绍... 17
2.3.2 通过 DAS 连接实例...17
2.3.3 通过内网连接实例... 18
2.3.4 通过公网连接实例... 24
2.3.5 通过 Java 连接实例...31
3 用户指南...32
3.1 权限管理... 32
3.1.1 创建用户并授权...32
3.1.2 自定义策略... 33
3.2 实例生命周期...35
3.2.1 重启实例... 35
3.2.2 删除实例... 35
3.2.3 实例回收站... 36
3.3 变更实例... 38
3.3.1 修改实例名称... 38
3.3.2 重置管理员密码...40
3.3.3 扩容磁盘... 41
3.3.4 存储空间自动扩容... 44
3.3.5 变更实例的 CPU 和内存规格... 47
3.3.6 添加节点... 50
3.3.7 删除节点... 54
3.3.8 标签管理... 55
3.4 连接管理... 58
3.4.1 设置安全组规则...58
3.4.2 绑定弹性公网 IP ... 62
3.4.3 查看 IP 地址和端口... 64
3.4.4 修改实例安全组...65
3.4.5 下载 SSL 证书... 66
3.5 数据管理... 67
3.5.1 使用 COPY 命令导出导入数据...67
3.6 容灾实例... 80
3.6.1 创建容灾实例... 80
3.6.2 解除容灾关系... 84
3.7 备份与恢复... 85
3.7.1 备份概述... 85
3.7.2 管理自动备份... 86
3.7.3 管理手动备份... 92
3.7.4 恢复备份到新实例... 95
3.7.5 恢复备份到指定时间点...97
3.8 参数模板管理...99
3.8.1 创建参数模板... 99
3.8.2 编辑参数模板...100
3.8.3 查看参数修改历史... 103
3.8.4 导出参数模板...105
3.8.5 比较参数模板...106
3.8.6 复制参数模板...108
3.8.7 重置参数模板...110
3.8.8 应用参数模板...110
3.8.9 查看参数模板应用记录... 111
3.8.10 修改参数模板描述...112
3.8.11 删除参数模板... 112
3.9 监控与告警... 113
3.9.1 支持的监控指标... 113
3.9.2 设置告警规则...121
3.9.3 查看监控指标...122
3.10 审计... 123
3.10.1 支持审计的关键操作列表...123
3.10.2 查看追踪事件... 124
3.11 日志管理... 125
3.11.1 慢日志... 125
3.12 专属资源管理...126
3.12.1 购买专属资源池... 126
3.12.2 购买专属实例... 129
3.13 企业项目... 134
3.13.1 概述...134
3.13.2 配额管理... 134
3.14 计费管理... 137
3.14.1 实例续费... 137
3.14.2 按需计费实例转包周期... 139
3.14.3 包周期实例转按需计费... 140
3.14.4 退订包周期实例... 142
4 最佳实践... 145
4.1 华为云 GaussDB(for Cassandra)与自建开源 Cassandra 性能对比...145
5 性能白皮书... 155
5.1 测试方法... 155
5.2 测试数据... 157
6 常见问题... 158
6.1 产品咨询... 158
6.1.1 使用时要注意什么... 158
6.1.2 什么是实例可用性... 158
6.2 计费相关... 158
6.2.1 GaussDB(for Cassandra)的包年/包月和按需计费模式有什么区别... 158
6.2.2 GaussDB(for Cassandra)支持包年/包月和按需计费模式相互切换吗...159
6.3 数据库使用... 159
6.3.1 缩小 batch 大小后,QPS 上升,实例总体性能为什么会下降... 159
6.3.2 导入数据时,报错 field larger than field limit (131072)... 160
6.3.3 GaussDB(for Cassandra)创表时需要注意什么...160
6.3.4 如何检测和解决大 key 与热 key 问题... 164
6.3.5 如何使用物化视图... 168
6.3.6 如何使用二级索引... 170
6.4 数据库连接... 172
6.4.1 使用 Spark 连接 Cassandra 失败... 172
6.4.2 使用 Java Driver 连接数据库时,使用了映射 IP 报错...173
6.4.3 如何创建和连接弹性云服务器... 174
6.4.4 GaussDB(for Cassandra)实例购买成功后是否支持更换 VPC... 174
6.5 备份与恢复... 175
6.5.1 实例能够保存多长时间的备份... 175
6.6 区域和可用区... 175
6.6.1 什么是可用区,如何选择可用区... 175
6.6.2 如何选择区域...175
6.6.3 不同的可用区是否影响内网互通... 175 6.6.4 GaussDB(for Cassandra)购买成功后是否支持更换区域... 176
A 修订记录... 177
1 引擎简介
1.1 什么是 GaussDB(for Cassandra)
GaussDB(for Cassandra)是一款兼容Cassandra生态的云原生NoSQL数据库,支持类 SQL语法CQL。GaussDB(for Cassandra)具有安全可靠、超强读写、弹性扩展、便捷 管理等特点。
● 安全可靠
– 通过VPC、子网、安全组、SSL加密传输以及细粒度权限控制等多层安全防护 体系,保护数据库和用户隐私。
– 支持跨三个可用区部署,快速备份和恢复。
– 分布式架构,最高N-1个节点故障容忍。
● 超强读写
开源3倍性能提升,支持7*24小时在线数据实时写入,具备高可用和读写负载均衡 能力。
● 弹性扩展
基于计算存储分离的分布式架构,实现分钟级计算节点扩容和秒级存储扩容,扩 容过程不干扰线上业务。
● 便捷管理
可视化实例管理平台对实例创建删除、备份恢复、监控报警、节点扩缩容等实现 一键式便捷操作。
典型应用
● 互联网应用
GaussDB(for Cassandra)的超强读写、弹性扩展,以及高强度的故障容忍,能够 支持大并发低延时的访问需求,具备高可用和弹性扩容能力,使其适用于具有产 品目录、推荐、个性化引擎、交易流水等功能的大数据量的互联网网站。
优势:
大规模集群部署
单套集群最大支持200个节点部署,适用于写入规模和数据量大的互联网场景。
高可用易扩展
单节点宕机不会影响整个集群的可用性,计算节点和存储空间可独立快速扩容,
扩容期间业务无感知。
实时高并发写入
实时高并发写入,适合电商领域高并发海量订单,写入性能高。
● 工业数据采集
GaussDB(for Cassandra)兼容Cassandra生态,帮助客户整合多种终端采集来源,
实时存储采集的指标,提供聚合分析,实时统计等功能。
优势:
大规模集群部署
适用于工业制造海量指标采集存储的场景。
高可用高性能
支持7*24小时在线持续高并发写入。
极速备份恢复
通过存储快照技术实现极速备份恢复能力。
分钟级扩容
轻松应对作业/项目高峰。
1.2 兼容接口和版本
介绍GaussDB(for Cassandra)目前支持的兼容接口和版本。
表1-1 兼容接口和版本
兼容接口 实例类型 版本
Cassandra 集群 3.11
1.3 数据库实例规格
同一实例类型根据内存的配置不同分为多种实例规格,针对不同的应用场景,您可以 选择不同规格的实例。
本章节主要介绍GaussDB(for Cassandra)实例支持的实例规格信息。数据库实例规格 与所选的CPU机型相关,请以实际环境为准。
表1-2 GaussDB(for Cassandra)集群实例规格
CPU类型 规格名称 vCPU
(个) 内存
(GB) 最小存储 空间(GB)
最大存储 空间(GB)
x86 geminidb.cassandra.la
rge.4 2 8 100 12000
geminidb.cassandra.xl
arge.4 4 16 100 24000
CPU类型 规格名称 vCPU
(个)
内存(GB) 最小存储 空间(GB)
最大存储 空间(GB)
geminidb.cassandra.xl
arge.8 4 32 100 24000
geminidb.cassandra.
2xlarge.4 8 32 100 48000 geminidb.cassandra.
2xlarge.8 8 64 100 48000 geminidb.cassandra.
4xlarge.4 16 64 100 96000 geminidb.cassandra.
4xlarge.8 16 128 100 96000 geminidb.cassandra.
6xlarge.8 24 192 100 144000 geminidb.cassandra.
8xlarge.4 32 128 100 192000 geminidb.cassandra.
8xlarge.8 32 256 100 192000 鲲鹏
说明 目前鲲 鹏机型 处于公 测阶 段,如 需使 用,请 联系客 服申请 开通。
geminidb.cassandra.xl
arge.arm.4 4 16 100 24000 geminidb.cassandra.xl
arge.arm.8 4 32 100 24000 geminidb.cassandra.
2xlarge.arm.4 8 32 100 48000 geminidb.cassandra.
2xlarge.arm.8 8 64 100 48000 geminidb.cassandra.
4xlarge.arm.4 16 64 100 96000 geminidb.cassandra.
4xlarge.arm.8 16 128 100 96000 geminidb.cassandra.
6xlarge.arm.4 24 96 100 144000 geminidb.cassandra.
6xlarge.arm.8 24 192 100 144000 geminidb.cassandra.
8xlarge.arm.4 32 128 100 192000 geminidb.cassandra.
8xlarge.arm.8 32 256 100 192000
CPU类型 规格名称 vCPU
(个)
内存(GB) 最小存储 空间(GB)
最大存储 空间(GB)
geminidb.cassandra.
12xlarge.arm.4 48 192 100 288000 geminidb.cassandra.
12xlarge.arm.8 48 384 100 288000 geminidb.cassandra.
15xlarge.arm.8 60 480 100 384000
1.4 数据库实例状态
数据库实例状态是数据库实例的运行情况。可以通过管理控制台查看数据库实例状 态。
表1-3 实例状态
状态 说明
正常 数据库实例正常和可用。
异常 数据库实例不可用。
创建中 正在创建数据库实例。
创建失败 数据库实例创建失败。
重启中 正在重启数据库实例。
重置密码中 正在重置管理员密码。
节点扩容中 正在扩容该实例下的节点个数。
节点缩容中 正在删除该实例下的节点。
存储扩容中 正在扩容实例的磁盘容量。
规格变更中 正在变更实例的CPU和内存规格。
备份中 正在创建数据库备份。
恢复检查中 该实例下的备份正在恢复到新实例。
灾备集群创建中 正在创建容灾实例。
容灾关系解除中 删除容灾实例。
SSL切换中 正在开启或关闭SSL安全连接。
冻结 账户余额小于或等于0元,系统对该用户下的实例进行冻结。
您需前往费用中心充值成功,欠款核销后,冻结的实例才会解 冻。
状态 说明
解冻中 欠款核销后,正在解冻数据库实例。
1.5 数据库规范
1.5.1 基本设计规范
设计规范
规则1:禁止在数据库中存储图片、文件等大数据。图片或文件等大数据建议存储到对 象存储服务中。
规则2:单行key和value数据大小最大不能超过64KB,平均大小不超过10KB。
规则3:任何表的设计都要考虑到数据的删除策略,表中的数据不能无限的增长而不删 除。
规则4:设计分区键以均匀分发工作负载,避免出现数据倾斜问题。
表的主键的分区键部分确定存储表数据的逻辑分区,如果分区键分布不均衡,会导致 节点与节点之间数据和负载不均衡,从而出现数据倾斜的问题。
规则5:合理设计分区key,均匀访问数据,避免出现大key或者热key问题。
● 大key问题:大key的产生,最主要的原因是主键设计不合理,使得单个分区的记 录数或数据量过大。一旦某一个分区出现极大时,对该分区的访问,会造成分区 所在服务器的负载变高,甚至造成节点内存溢出(即OOM)等。
● 热key问题:在日常生活中,经常会发生各种热门事件,应用中对该热点新闻进行 上万次的点击浏览和评论时,会形成一个较大的请求量,这种情况下会造成短时 间内对同一个key频繁操作,会导致key所在节点的CPU和负载升高,从而影响落 在该节点的其他请求,导致业务成功率下降。诸如此类的还有热门商品促销,网 红直播等场景,这些典型的读多写少的场景也会产生热点问题。
如何处理大key和热key问题请参见如何检测和解决大key与热key问题。
另外,对GaussDB(for Cassandra)数据库的读能力有更高要求的,读多写少的场景,
可以考虑把热点数据缓存到分布式缓存服务。
规则6:单个分区键的行数不能超过10万,单个分区磁盘空间不超过100MB。
● 单个分区键的行数不能超过10万。
● 单个分区键下记录大小不能超过100MB。
规则7:所有写入GaussDB(for Cassandra)的数据,提供数据副本强一致性,但是不 支持事务。
表1-4 GaussDB(for Cassandra)一致性说明
一致性类型 是否支持一致
性
说明
并发写一致性 支持 GaussDB(for Cassandra)不支持事务,数据 写入强一致。
表之间一致性 支持 GaussDB(for Cassandra)不支持事务,数据 写入强一致。
数据迁移一致性 最终一致性 采用DRS迁移提供数据抽样对比验证能力。
业务自己完成迁移时,需要业务自行完成迁 移前后数据校验。
规则8:大规模存储要重点考虑数据库拆分。
GaussDB(for Cassandra)整个集群的节点数控制在100以内,超过100节点要考虑拆 分,一般有垂直拆分和水平拆分两种方法。
● 垂直拆分:是指按功能模块拆分,比如分为订单库、商品库、用户库等,这种方 式多个数据库之间的表结构不同。
● 水平拆分:将同一个表的数据进行分块保存到不同的数据库中,这些数据库中的 表结构完全相同。
规则9:设计上避免大面积删除导致的墓碑问题。
● 尽量使用TTL代替Delete操作。
● 不要出现大面积删除数据,尽量通过主键前缀删除。
● 单个分区键内一次范围删除所包含行数不超过1000。
● 范围查询避免查询已删除数据。
设计建议
建议1:合理控制数据库规模和数量。
● 建议单表数据量不超过1000亿。
● 建议单库不超过100个表。
● 建议单表字段数上限控制在20~50个。
建议2:提前进行资源估算,估算出对GaussDB(for Cassandra)服务器要求。
● 根据业务估算需要使用N节点集群,建议在评估的基础上冗余N/2个节点,保证容 忍故障节点个数N/2,以支撑故障场景下性能保持一致。
● 正常业务压力下每个节点CPU使用率限制使用在50%,防止业务出现高峰波动。
建议3:大规模GaussDB(for Cassandra)存储要考虑基于业务场景做数据库性能测试。
对于请求量、数据量比较大的业务场景,需要提前做性能摸底,原因是业务读写比例 和随机访问模式以及不同的规格实例,性能差异较大。
建议4:数据库集群拆分粒度要合适。
● 分布式场景,考虑节约资源费用和维护成本,一个服务内部各个微服务可以共用 一个GaussDB(for Cassandra)集群。
● 服务内部,根据数据重要程度、表数量和单表记录数,可进一步拆分成不同集 群。
建议5:避免单条数据部分字段频繁更新。
1.5.2 数据库对象使用规范
命名规范
规则1:命名不能和数据库的关键字重复。
规则2:对于对象名称(包括库名、表名、字段名、索引名等)必须使用小写字母, 并 采用下划线分割。
规则3:对于对象名称(包括库名、表名、字段名、索引名等)长度需要有所限制,所 有的对象名称长度不得超过30个字符。
规则4:表别名要简短。通常使用小写的字母作为别名。
表设计规则
规则1:表的设计要考虑兼容性。
只允许新增字段,不允许删除字段。
规则2:表名和数据库名不超过48字节。
规则3:表默认按照最佳性能规格创建。如果对表性能要求不高,可以创表时指定性能 参数“Z00_THROUGHPUT”, 可选项有big、medium、small。默认不指定为big,由 于存储引擎使用Rocksdb需要预分配内存,所以实例创表数目有一定限制,具体请参见 GaussDB(for Cassandra)创表时需要注意什么。
建议:需要的时候,通过反范式化和冗余来提升读性能。
索引规范
规则1:尽可能把所有查询都设计为主键形式的查询,不要对二级索引过度依赖。
规则2:创建索引后需要等待索引构建完成后才能使用索引字段进行查询。
规则3:避免对索引字段频繁更新。
视图规范
● 使用物化视图时,原表对应的视图个数不要超过3个。原表对应的视图越多,对视 图的同步性能影响越大。
● 原表中频繁更新的字段不建议在视图中作为主键。
流表规范
流表默认存储24小时数据,在数据查询量较大时,需要做好分页查询,每次查询条数 不大于100,并做好超时重试。
1.5.3 访问/连接池规范
规则1:访问数据库必须使用连接池,以提升可靠性。
规则2:业务连接GaussDB(for Cassandra)集群负载均衡策略使用 RoundRobinPolicy。
1.5.4 BATCH 规范
规则1:不支持logged batch,仅支持unlogged batch。
规则2:一个batch中,操作不超过25行数据。
规则3:一个batch中,请求大小不超过5KB。
规则4:一个batch中,跨partition不超过10个,只操作一张表。
1.5.5 查询规范
范围查询排序键
建议范围查询的排序键顺序保持与建表时使用的排序键顺序保持一致,如果顺序不一 致,会导致性能下降。
说明
如果没有指定排序键顺序,查询和建表时的排序键顺序默认为ASC。
COUNT 查询
在数据库大的情况下,请不要使用如下语句进行查询,避免出现查询失败的情况。
select count(*) from "test" where sds_uid='100000000000000006250004';
建议使用如下语句进行查询:
select sum(row_count) From system_distributed.size_estimates WHERE keyspace_name='' and table_name='';
说明
该查询是一个异步后台任务,不能实时查询到完全准确的数值,对数据量评估只能做参考。
2 快速入门
2.1 概述
快速入门主要介绍如何购买实例以及连接实例,使用户能够了解从购买实例到连接并 管理实例的流程。
流程图
图2-1 操作流程图
操作步骤
通常,从购买实例到开始使用实例,您需要完成如下操作。
步骤一:登录云数据库 GaussDB(for Cassandra)控制台。
步骤二:购买实例。
步骤三:连接实例。
2.2 购买实例
本章节主要介绍了如何在云数据库 GaussDB NoSQL控制台购买兼容Cassandra接口的 数据库实例。
每个租户下GaussDB(for Cassandra)实例的默认总配额为50。如需申请扩大配额,请 联系客服进行处理。
前提条件
● 已注册华为云帐号。
● 注册华为云帐号后,如果需要对华为云上的资源进行精细管理,请使用统一身份 认证服务(Identity and Access Management,简称IAM)创建IAM用户及用户 组,并授权,以使得IAM用户获得具体的操作权限,更多操作,请参见创建用户 并授权。
● 账户余额大于或等于0元。
操作步骤
步骤1 登录管理控制台。
步骤2 在服务列表中选择“数据库 > 云数据库 GaussDB(for Cassandra)”。
图2-2 登录云数据库 GaussDB(for Cassandra)控制台
步骤3 在“实例管理”页面,单击“购买数据库实例”。
步骤4 在“服务选型”页面,选择计费模式,填写并选择实例相关信息后,单击“立即购 买”。
图2-3 计费模式和基本信息
表2-1 计费方式
参数 描述
计费模式 选择“包年包月”或“按需计费”。
● 包年包月
– 用户选购完服务配置后,可以根据需要设置购买时长,系 统会一次性按照购买价格对账户余额进行扣费。
– 创建成功后,如果包周期实例到期后不再长期使用资源,
可将“包年/包月”实例转为“按需计费”,到期后将转 为按需计费实例。具体请参见包周期实例转按需计费。
说明“包年/包月”方式购买的实例不能直接删除,仅支持资源退订操 作,如何退订资源请参见退订包周期实例。
● 按需付费
– 用户选购完服务配置后,无需设置购买时长,系统会根据 消费时长对账户余额进行扣费。
– 创建成功后,如果需要长期使用资源,可将“按需计费”
实例转为“包年/包月”,继续使用这些资源的同时,享 受包周期的低资费。具体请参见按需计费实例转包周期。
表2-2 基本信息
参数 描述
区域 租户所在的区域。
须知
请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。不同区域内 的产品内网不互通,且购买后不能更换,请谨慎选择。
参数 描述
实例名称 设置实例名称时,需要满足如下规则。
● 实例名称允许和已有名称重复。
● 实例名称不包含中文时,长度范围为4~64位,包含中文时,长度 为4~20位。
● 必须以中文或字母开头(A~Z或a~z),区分大小写,可以包含中 文、字母、数字(0~9)、中划线(-)或者下划线(_),不能包 含其他特殊字符。
实例创建成功后,可修改实例名称,请参见修改实例名称。
兼容接口 Cassandra 实例类型 集群 版本 3.11 CPU类型 ● x86
x86类型的CPU架构采用复杂指令集(CISC),CISC指令集的每个 小指令可以执行一些较低阶的硬件操作,指令数目多而且复杂,
每条指令的长度并不相同。由于指令执行较为复杂所以每条指令 花费的时间较长。
● 鲲鹏鲲鹏类型的CPU架构采用RISC精简指令集(RISC),RISC是一种 执行较少类型计算机指令的微处理器,它能够以更快的速度执行 操作,使计算机的结构更加简单合理地提高运行速度,相对于X86 类型的CPU架构具有更加均衡的性能功耗比。
鲲鹏类型CPU架构的优势是高密度低功耗,可以提供更高的性价 比,满足重载业务场景使用。
可用区 指在同一区域下,电力、网络隔离的物理区域,可用区之间内网互 通,不同可用区之间物理隔离。
目前支持将实例部署在单可用区或3可用区。
● 若实例只需要部署在单可用区,请选择1个可用区。
● 若实例需要实现跨可用区容灾部署时,请选择3可用区,此时实例 下的节点Hash均衡部署在3个可用区内。
图2-4 规格与存储
表2-3 规格与存储
参数 描述
性能规格 基于计算存储分离架构和软硬件协同,GaussDB(for Cassandra)性 能指标达到同等规格下自建数据库的2倍及以上,建议选择大规格 和小节点数的组合。例如:自建数据库的实例规格为8U32GB,节 点数量为6时,可以选择创建实例规格为8U32GB,节点数量为3的 GaussDB(for Cassandra)实例。
请根据不同的CPU与内存配比,选取符合业务类型的性能规格。
创建成功后可以变更规格,请参见变更实例的CPU和内存规格。
更多性能规格及数据请参见数据库实例规格和华为云GaussDB(for Cassandra)与自建开源Cassandra性能对比。
节点数量 节点数量请根据实际需要进行选取。
创建成功后可以添加节点,请参见添加节点。
存储空间 存储空间的取值范围(最大值和最小值)与所选的实例规格有关,
具体范围请参见数据库实例规格。
调整存储空间容量时,选择容量大小必须为整数,且至少可选择 1GB的扩容量。
配置GaussDB(for Cassandra)实例存储空间时,建议您开启存储空 间自动扩容,设置自动扩容的触发条件和上限。当触发时,系统会 自动扩容存储空间,避免实例因存储空间不足而无法正常使用。
设置存储空间自动扩容时,您需要关注如下参数配置:
● 可用存储空间率:自动扩容的触发条件。当可用存储空间百分 比小于等于该阈值或10GB时,会触发自动扩容。
● 扩容步长:自动扩容当前存储空间的百分比,目前支持选择 10、15和20,您可以根据需要选择合适的扩容步长。每次至少 扩容100GB。
● 存储自动扩容上限:需要大于等于实例当前存储空间总大小,
且最大上限不能超过当前实例的最大存储容量。
创建成功后可以扩容磁盘,请参见扩容磁盘。
说明
● 开启自动扩容,将会创建委托,且会自动扣费。
● 存储空间自动扩容的功能需要具有相应权限才可使用,如需使用请联系 客服申请。
● 如果您在创建实例时未开启存储空间自动扩容,待实例创建成功后也可 以单独开启。具体操作请参见存储空间自动扩容。
图2-5 网络配置
表2-4 网络配置
参数 描述
虚拟私有云 实例所在的虚拟专用网络,可以对不同业务进行网络隔离。您可 根据需要创建或选择所需的虚拟私有云。
如果没有可用的VPC,系统自动为您分配资源。
如何创建VPC,请参见《虚拟私有云用户指南》中的“创建虚拟私 有云基本信息及默认子网”。
说明
● 目前GaussDB(for Cassandra)实例创建完成后不支持切换虚拟私有云 VPC,请谨慎选择所属虚拟私有云。
● 如需与ECS进行内网通信,GaussDB(for Cassandra)实例与需要通信的 ECS需要处于同一个虚拟私有云下,或者不同虚拟私有云之间配置对等 连接。
子网 通过子网提供与其他网络隔离的、可以独享的网络资源,以提高 网络安全。
说明目前不支持选择IPV6网段的子网,建议您在使用时创建并选择IPV4网段的 子网。
内网安全组 安全组限制安全访问规则,加强GaussDB(for Cassandra)与其他 服务间的安全访问。请确保所选取的安全组允许客户端访问数据 库实例。
如果没有可用的安全组,系统自动为您分配资源。
SSL安全连接 SSL证书是一种遵守SSL协议的服务器数字证书,能在客户端和服 务器端之间建立加密通道,保证数据在传输过程中不被窃取或篡 改。
您可以开启SSL连接,提高数据安全性,实例创建成功后,通过 SSL的方式连接实例,详细操作请参见使用Cassandra客户端工具 连接实例(SSL方式)。
说明SSL安全连接开启后暂时不支持关闭。
图2-6 数据库配置
表2-5 数据库配置
参数 描述
管理员账户名 管理员账户名默认为rwuser。
管理员密码 用户设置的密码。
● 长度为8~32个字符。
● 必须是大写字母、小写字母、数字、特殊字符的组合,其中可 输入~!@#%^*-_=+?特殊字符。
● 系统会进行弱密码校验,安全起见,请输入高强度密码。
请妥善管理您的密码,因为系统将无法获取您的密码信息。
确认密码 必须和管理员密码一致。
参数模板 数据库参数模板就像是数据库引擎配置值的容器,参数模板中的 参数可应用于一个或多个相同类型的数据库实例。
实例创建成功后,您可以根据业务需要调整参数,具体操作请参 见编辑参数模板。
企业项目 该参数针对企业用户使用。
企业项目是一种云资源管理方式,企业项目管理服务提供统一的 云资源按项目管理,以及项目内的资源管理、成员管理,默认项 目为default。
请在下拉框中选择所在的企业项目。更多关于企业项目的信息,
请参见《企业管理用户指南》。
图2-7 标签配置
表2-6 标签
参数 描述
标签 可选配置,对GaussDB(for Cassandra)的标识。使用标签可以方 便识别和管理您拥有的GaussDB(for Cassandra)资源。每个实例 默认最多支持10个标签配额,如果您需要使用更多标签,可以联 系客服申请开通至20个标签配额。
标签由标签“键”和标签“值”组成。
● 键:如果要为数据库实例添加标签,该项为必选参数。
对于每个实例,每个标签的键唯一。长度不超过36个字符,只 能包含数字、英文字母、下划线、中划线和中文。
● 值:如果要为数据库实例添加标签,该项为可选参数。
长度不超过43个字符,只能包含数字、英文字母、下划线、
点、中划线和中文。
实例创建成功后,您可以单击实例名称,在“标签”页签下查看 对应标签。同时,支持为已有实例添加、修改、删除标签,具体 操作请参见标签管理。
图2-8 购买量配置
表2-7 购买量
参数 描述
购买时长 选择“包年/包月”方式的用户需要设置购买时长,最短为1个 月,最长为3年。
自动续费 ● 默认不勾选,不进行自动续费。
● 勾选后实例自动续费,自动续费周期与原订单周期一致。
步骤5 在“订单详情确认”页面,核对实例信息。
● 包年/包月
– 如果需要修改,单击“上一步”,修改实例信息。
– 核对无误后,勾选协议,单击“去支付”,进入“付款”页面,选择支付方 式,完成支付。
● 按需计费
– 如果需要修改,单击“上一步”,修改实例信息。
– 核对无误后,勾选协议,单击“提交”,开始创建实例。
步骤6 在“实例管理”页面,您可以查看并管理实例。
● 实例创建过程中,运行状态显示为“创建中”,此过程约5~9分钟。
● 实例创建完成后,运行状态显示为“正常”。
如果页面长时间未刷新,您可以单击页面右上角的 刷新页面查看实例运行状 态。
● 创建实例时,系统默认开启自动备份策略。因此,实例创建成功后,系统会自动 创建一个全量备份。
----结束
2.3 连接实例
2.3.1 连接方式介绍
GaussDB(for Cassandra)提供使用数据管理服务(Data Admin Service,简称 DAS)、内网和公网的连接方式。
表2-8 连接方式
连接方式 使用场景 说明
DAS连接 无需使用IP地址,通过控制台即可登录实
例。 ● 易用、安全、高级、
智能。
● 默认为您开通了远程 主机登录权限,推荐 您使用更安全便捷的 数据管理服务连接实 例。
内网连接 系统默认提供内网IP地址。
当应用部署在弹性云服务器上,且该弹性云 服务器与数据库实例处于同一区域、同一 VPC内时,建议使用内网IP通过弹性云服务 器连接数据库实例。
安全性高,可实现数据库 实例的较好性能。
公网连接 不能通过内网IP地址访问数据库实例时,使 用公网访问,建议单独绑定弹性公网IP连接 弹性云服务器(或公网主机)与数据库实 例。
● 降低安全性。
● 为了获得更快的传输 速率和更高的安全 性,建议您将应用迁 移到与您的数据库实 例在同一VPC子网 内,使用内网连接。
Java连接 提供Java语言连接GaussDB(for Cassandra) 实例的示例。
-
2.3.2 通过 DAS 连接实例
数据管理服务(Data Admin Service,简称DAS)是一款专业的简化数据库管理工 具,提供优质的可视化操作界面,大幅提高工作效率,让数据管理变得既安全又简 单。您可以通过数据管理服务连接并管理实例。GaussDB(for Cassandra)默认为您开 通了远程主机登录权限,推荐您使用更安全便捷的数据管理服务连接实例。
操作步骤
步骤1 登录管理控制台。
步骤2 在服务列表中选择“数据库 > 云数据库 GaussDB(for Cassandra)”。
图2-9 登录云数据库 GaussDB(for Cassandra)控制台
步骤3 在“实例管理”页面,选择目标实例,单击操作列的“登录”,进入数据管理服务数 据库登录界面。
图2-10 登录数据库
您也可以在“实例管理”页面,单击目标实例名称,在页面右上方,单击“登录数据 库”,进入数据管理服务数据库登录界面。
图2-11 登录数据库
步骤4 正确输入管理员账户名和密码,单击“登录”,即可进入您的数据库并进行管理。
通过数据管理服务管理数据库可参见GaussDB(forCassandra)数据管理。
----结束
2.3.3 通过内网连接实例
您可以在弹性云服务器上安装Cassandra客户端,通过内网IP来访问GaussDB(for Cassandra)实例。
GaussDB(for Cassandra)提供了非SSL方式或SSL方式连接实例。其中,SSL连接实现 了数据加密功能,具有更高的安全性。
使用须知
● 目标实例必须与弹性云服务器在同一个虚拟私有云和子网内才能访问。
● 该弹性云服务器必须处于目标实例所属安全组允许访问的范围内。详情请参见设 置安全组规则。
前提条件
1. 已创建GaussDB(for Cassandra)实例,且运行状态正常。
2. 已创建弹性云服务器,以Linux操作系统为例。
创建弹性云服务器,详情请参见《弹性云服务器快速入门》中购买弹性云服务器 的内容。
3. 根据已购弹性云服务器的CPU类型,选择下载并安装对应的Cassandra客户端。
– 弹性云服务器的CPU类型为x86时,请下载Cassandra客户端安装包。
– 弹性云服务器的CPU类型为鲲鹏时,请下载Cassandra客户端安装包。
4. 使用SSL方式连接实例时,需要提前获取SSL证书,具体操作请参见下载SSL证 书。
非 SSL 方式
步骤1 登录弹性云服务器。
详情请参见《弹性云服务器快速入门》中登录弹性云服务器的内容。
步骤2 将Cassandra客户端安装包上传到弹性云服务器。
步骤3 使用如下命令,解压客户端安装包,此处以x86的客户端为例。
unzip Cassandra_cqlsh_x86_64.zip
步骤4 使用如下命令,给所有文件添加执行权限。
chmod +x *
步骤5 在客户端工具“cqlsh”所在的目录下,连接数据库实例。
./cqlsh <DB_HOST> <DB_PORT> -u <DB_USER>
示例:
./cqlsh 192.168.1.8 8635 -u rwuser
表2-9 参数说明
参数 说明
<DB_HOST> 待连接实例的内网IP。
您可以在“实例管理”页面,单击实例名称,进入“基本信 息”页面,在节点信息列表中获取“内网IP”。
如果您购买的实例有多个节点,选择其中任意一个节点的内 网IP即可连接GaussDB(for Cassandra)实例。
图2-12 查看内网 IP
<DB_PORT> 待连接实例的端口。一般默认为8635,请以实际端口为准。
您可以在“实例管理”页面,单击实例名称,进入“基本信 息”页面,在网络信息处获取“数据库端口”。
图2-13 查看端口
<DB_USER> 数据库帐号,默认为rwuser。
步骤6 出现如下信息,说明连接成功。
rwuser@cqlsh>
----结束
SSL 方式
步骤1 登录弹性云服务器。
详情请参见《弹性云服务器快速入门》中登录弹性云服务器的内容。
步骤2 将Cassandra客户端安装包上传到弹性云服务器。
步骤3 将SSL证书上传到弹性云服务器。
步骤4 使用如下命令,解压客户端安装包,此处以x86的客户端为例。
unzip Cassandra_cqlsh_x86_64.zip
步骤5 使用如下命令,给所有文件添加执行权限。
chmod +x *
步骤6 在客户端工具“cqlsh”所在的目录下,连接数据库实例。
export SSL_CERTFILE=/<PATH_OF_SSL_CERT_FILE>
export SSL_VERSION=TLSv1_2
./cqlsh <DB_HOST> <DB_PORT> -u <DB_USER>
示例:
./cqlsh 192.168.1.8 8635 --ssl -u rwuser
表2-10 参数说明
参数 说明
<PATH_OF_SSL_CERT_
FILE> SSL文件路径。
<DB_HOST> 待连接实例的内网IP。
您可以在“实例管理”页面,单击实例名称,进入“基本 信息”页面,在节点信息列表中获取“内网IP”。
如果您购买的实例有多个节点,选择其中任意一个节点的 内网IP即可连接GaussDB(for Cassandra)实例。
图2-14 查看内网 IP
<DB_PORT> 待连接实例的端口。一般默认为8635,请以实际端口为
准。
您可以在“实例管理”页面,单击实例名称,进入“基本 信息”页面,在网络信息处获取“数据库端口”。
图2-15 查看端口
<DB_USER> 数据库帐号,默认为rwuser。
步骤7 出现如下信息,说明连接成功。
rwuser@cqlsh>
----结束
常用 SQL 操作
成功登录GaussDB(for Cassandra)实例后,您可以执行以下常用操作:
● HELP,查看所有支持的命令。
图2-16 查看支持的全部命令
● HELP <COMMAND>,查询某一命令的使用方法。示例:HELP DESC
● keyspace语法
– 创建keyspace,示例:
CREATE KEYSPACE IF NOT EXISTS nosql WITH replication = {'class':
'SimpleStrategy', 'replication_factor': '3'};
keyspace名称为“nosql”,replcation选项指定副本位置策略为简单策略,
副本的数量为3。
– DESC <keyspace_name>,验证创建结果。
图2-17 验证创建结果
– use <keyspace_name>,切换到创建的keyspace。
图2-18 切换 keyspace
– DROP KEYSPACE <keyspace_name>,删除已创建的keyspace。
图2-19 删除 keyspace
● 表语法
– 创建表,示例:
CREATE TABLE nosql_table(user_id int, age int, user_name text, PRIMARY KEY(user_id));
表名为nosql_table,定义三列:user_id、age、user_name。user_id是int类 型,表示用户ID;age是int类型,表示用户年龄;user_name是text类型,表 示用户名称。主键为user_id。
– DESC <table_name>,验证创建结果。
图2-20 验证创建结果
– 向表中插入数据,示例:
INSERT INTO nosql_table (user_id, age, user_name) VALUES (1, 10, 'user1');
INSERT INTO nosql_table (user_id, age, user_name) VALUES (2, 20, 'user2');
INSERT INTO nosql_table (user_id, age, user_name) VALUES (3, 30, 'user3');
– SELECT * FROM <table_name>,查询表数据。
图2-21 查询表数据
– 向表中添加类别,示例:
ALTER TABLE nosql_table ADD gender text;
– 向某一keyspace的表中更新该类别的数据,示例:
UPDATE nosql.nosql_table SET gender = 'male' WHERE user_id = 1;
UPDATE nosql.nosql_table SET gender = 'male' WHERE user_id = 2;
UPDATE nosql.nosql_table SET gender = 'female' WHERE user_id = 3;
图2-22 查看更新结果
– 删除某一keyspace下的表数据,示例:
删除用户ID为1对应的age数据:
DELETE age FROM nosql.nosql_table WHERE user_id=1;
图2-23 删除某一条数据
删除用户ID为2对应的整条记录:
DELETE FROM nosql.nosql_table WHERE user_id=2;
图2-24 删除整条记录
– 删除整个表,示例:
DROP TABLE nosql.nosql_table;
图2-25 删除整个表
2.3.4 通过公网连接实例
GaussDB(for Cassandra)支持使用弹性云服务器或本地设备,通过公网连接实例。
本章节以Linux操作系统和弹性云服务器为例,指导您通过公网连接GaussDB(for Cassandra)实例。
您可以根据业务需求选用普通方式或SSL方式连接实例。
前提条件
1. GaussDB(for Cassandra)实例需要绑定弹性公网IP并设置安全组规则,确保可以 通过弹性云服务器访问弹性公网IP,具体操作请参见绑定弹性公网IP 和设置安全 组规则。
2. 创建弹性云服务器,以Linux操作系统为例。详情请参见《弹性云服务器快速入 门》中购买弹性云服务器的内容。
3. 根据已购弹性云服务器的CPU类型,选择下载并安装对应的Cassandra客户端。
– 弹性云服务器的CPU类型为x86时,请下载Cassandra客户端安装包。
– 弹性云服务器的CPU类型为鲲鹏时,请下载Cassandra客户端安装包。
4. 使用SSL方式连接实例时,需要提前获取SSL证书,具体操作请参见下载SSL证 书。
通过 Cassandra 客户端连接实例(普通方式)
步骤1 登录弹性云服务器,详情请参见《弹性云服务器快速入门》中登录弹性云服务器的内 容。
步骤2 将Cassandra客户端安装包上传到弹性云服务器。
步骤3 使用如下命令,解压客户端安装包,此处以x86的客户端为例。
unzip Cassandra_cqlsh_x86_64.zip
步骤4 使用如下命令,给所有文件添加执行权限。
chmod +x *
步骤5 在客户端工具“cqlsh”所在的目录下,连接数据库实例。
./cqlsh <DB_HOST> <DB_PORT> -u <DB_USER>
示例:
./cqlsh 192.168.1.8 8635 -u rwuser
表2-11 参数说明
参数 说明
<DB_HOST> 待连接实例的弹性公网IP。
您可以在“实例管理”页面,单击实例名称,进入“基本信 息”页面,在节点信息列表中获取“弹性IP”。
如果您购买的实例有多个节点,选择其中任意一个节点的弹 性公网IP即可连接GaussDB(for Cassandra)实例。
图2-26 查看弹性公网 IP
若当前实例未绑定弹性公网IP,请您先参考绑定弹性公网IP 为当前实例绑定弹性公网IP后,再根据本章节的操作连接实 例。
<DB_PORT> 待连接实例的端口。一般默认为8635,请以实际端口为准。
您可以在“实例管理”页面,单击实例名称,进入“基本信 息”页面,在网络信息处获取“数据库端口”。
图2-27 查看端口
<DB_USER> 数据库帐号,默认为rwuser。
步骤6 出现如下信息,说明连接成功。
rwuser@cqlsh>
----结束
通过 Cassandra 客户端工具连接实例(SSL 连接)
步骤1 登录弹性云服务器,详情请参见《弹性云服务器快速入门》中登录弹性云服务器的内 容。
步骤2 将Cassandra客户端安装包上传到弹性云服务器。
步骤3 将SSL证书上传到弹性云服务器。
步骤4 使用如下命令,解压客户端安装包,此处以x86的客户端为例。
unzip Cassandra_cqlsh_x86_64.zip
步骤5 使用如下命令,给所有文件添加执行权限。
chmod +x *
步骤6 在客户端工具“cqlsh”所在的目录下,连接数据库实例。
export SSL_CERTFILE=/<PATH_OF_SSL_CERT_FILE>
export SSL_VERSION=TLSv1_2
./cqlsh <DB_HOST> <DB_PORT> -u <DB_USER>
示例:
./cqlsh 192.168.1.8 8635 --ssl -u rwuser
表2-12 参数说明
参数 说明
<PATH_OF_SSL_CERT_FI
LE> SSL文件的路径。
<DB_HOST> 待连接实例的弹性公网IP。
您可以在“实例管理”页面,单击实例名称,进入“基 本信息”页面,在节点信息列表中获取“弹性IP”。
如果您购买的实例有多个节点,选择其中任意一个节点 的弹性公网IP即可连接GaussDB(for Cassandra)实例。
图2-28 查看弹性公网 IP
若当前实例未绑定弹性公网IP,请您先参考绑定弹性公 网IP 为当前实例绑定弹性公网IP后,再根据本章节的操 作连接实例。
<DB_PORT> 待连接实例的端口。一般默认为8635,请以实际端口为
准。
您可以在“实例管理”页面,单击实例名称,进入“基 本信息”页面,在网络信息处获取“数据库端口”。
图2-29 查看端口
<DB_USER> 数据库帐号,默认为rwuser。
步骤7 出现如下信息,说明连接成功。
rwuser@cqlsh>
----结束
常用 SQL 操作
成功登录GaussDB(for Cassandra)实例后,您可以执行以下常用操作:
● HELP,查看所有支持的命令。
图2-30 查看支持的全部命令
● HELP <COMMAND>,查询某一命令的使用方法。示例:HELP DESC
● keyspace语法
– 创建keyspace,示例:
CREATE KEYSPACE IF NOT EXISTS nosql WITH replication = {'class':
'SimpleStrategy', 'replication_factor': '3'};
keyspace名称为“nosql”,replcation选项指定副本位置策略为简单策略,
副本的数量为3。
– DESC <keyspace_name>,验证创建结果。
图2-31 验证创建结果
– use <keyspace_name>,切换到创建的keyspace。
图2-32 切换 keyspace
– DROP KEYSPACE <keyspace_name>,删除已创建的keyspace。
图2-33 删除 keyspace
● 表语法
– 创建表,示例:
CREATE TABLE nosql_table(user_id int, age int, user_name text, PRIMARY KEY(user_id));
表名为nosql_table,定义三列:user_id、age、user_name。user_id是int类 型,表示用户ID;age是int类型,表示用户年龄;user_name是text类型,表 示用户名称。主键为user_id。
– DESC <table_name>,验证创建结果。
图2-34 验证创建结果
– 向表中插入数据,示例:
INSERT INTO nosql_table (user_id, age, user_name) VALUES (1, 10, 'user1');
INSERT INTO nosql_table (user_id, age, user_name) VALUES (2, 20, 'user2');
INSERT INTO nosql_table (user_id, age, user_name) VALUES (3, 30, 'user3');
– SELECT * FROM <table_name>,查询表数据。
图2-35 查询表数据
– 向表中添加类别,示例:
ALTER TABLE nosql_table ADD gender text;
– 向某一keyspace的表中更新该类别的数据,示例:
UPDATE nosql.nosql_table SET gender = 'male' WHERE user_id = 1;
UPDATE nosql.nosql_table SET gender = 'male' WHERE user_id = 2;
UPDATE nosql.nosql_table SET gender = 'female' WHERE user_id = 3;
图2-36 查看更新结果
– 删除某一keyspace下的表数据,示例:
删除用户ID为1对应的age数据:
DELETE age FROM nosql.nosql_table WHERE user_id=1;
图2-37 删除某一条数据
删除用户ID为2对应的整条记录:
DELETE FROM nosql.nosql_table WHERE user_id=2;
图2-38 删除整条记录
– 删除整个表,示例:
DROP TABLE nosql.nosql_table;
图2-39 删除整个表
2.3.5 通过 Java 连接实例
本小节主要介绍使用Java语言连接GaussDB(for Cassandra)的基本操作。
前提条件
● 已成功创建GaussDB(for Cassandra)实例,且实例状态正常。创建GaussDB(for Cassandra)实例的方法请参见购买实例 。
● 已创建弹性云服务器,创建弹性云服务器的方法,请参见《弹性云服务器快速入 门》中“创建弹性云服务器”章节。
● 弹性云服务器上已经安装JDK环境。
操作步骤
步骤1 获取GaussDB(for Cassandra)实例的内网IP地址、端口。
内网IP地址和端口的获取方法请参见查看IP地址和端口。
步骤2 登录弹性云服务器,具体操作请参见《弹性云服务器快速入门》中“登录弹性云服务 器”。
步骤3 编辑连接GaussDB(for Cassandra)实例的代码。
Cluster cluster = null;
try {
cluster = Cluster.builder()
.addContactPoint("127.0.0.1")//此处为步骤1中获取到的GaussDB(for Cassandra)实例的内 网IP .withPort(8635) //此处为步骤1中获取到的GaussDB(for Cassandra)实例的端
口 .build();
Session session = cluster.connect();
ResultSet rs = session.execute("select release_version from system.local");
Row row = rs.one();
System.out.println(row.getString("release_version"));
} finally {
if (cluster != null) cluster.close();
}
步骤4 运行示例代码,确认结果是否正常。
----结束
3 用户指南
3.1 权限管理
3.1.1 创建用户并授权
如果您需要对您所拥有的云数据库 GaussDB NoSQL进行精细的权限管理,您可以使 用统一身份认证服务(Identity and Access Management,简称IAM),通过IAM,
您可以:
● 根据企业的业务组织,在您的华为云账号中,给企业中不同职能部门的员工创建 IAM用户,让员工拥有唯一安全凭证,并使用云数据库 GaussDB NoSQL资源。
● 根据企业用户的职能,设置不同的访问权限,以达到用户之间的权限隔离。
● 将云数据库 GaussDB NoSQL资源委托给更专业、高效的其他华为云账号或者云 服务,这些账号或者云服务可以根据权限进行代运维。
如果华为云账号已经能满足您的要求,不需要创建独立的IAM用户,您可以跳过本章 节,不影响您使用云数据库 GaussDB NoSQL服务的其它功能。
本章节为您介绍对用户授权的方法,操作流程如图3-1所示。
前提条件
给用户组授权之前,请您了解用户组可以添加的云数据库 GaussDB NoSQL权限,并 结合实际需求进行选择,云数据库 GaussDB NoSQL支持的系统权限,请参见:云数 据库 GaussDB NoSQL系统权限。若您需要对除云数据库 GaussDB NoSQL之外的其 它服务授权,IAM支持服务的所有权限请参见权限策略。
示例流程
图3-1 给用户授权云数据库 GaussDB NoSQL 权限流程
1. 创建用户组并授权
在IAM控制台创建用户组,并授予云数据库 GaussDB NoSQL只读权限“GaussDB NoSQLReadOnlyAccess”。
2. 创建用户并加入用户组
在IAM控制台创建用户,并将其加入1中创建的用户组。
3. 用户登录并验证权限
新创建的用户登录控制台,切换至授权区域,验证权限:
– 在“服务列表”中选择云数据库 GaussDB NoSQL服务,进入云数据库 GaussDB NoSQL主界面,单击右上角“购买数据库实例”,尝试购买云数据 库 GaussDB NoSQL实例,如果无法购买云数据库 GaussDB NoSQL实例(假 设当前权限仅包含GaussDB NoSQLReadOnlyAccess),表示“GaussDB NoSQLReadOnlyAccess”已生效。
– 在“服务列表”中选择除云数据库 GaussDB NoSQL服务外(假设当前策略 仅包含GaussDB NoSQLReadOnlyAccess)的任一服务,若提示权限不足,
表示“GaussDB NoSQLReadOnlyAccess”已生效。
3.1.2 自定义策略
如果系统预置的云数据库 GaussDB NoSQL权限,不满足您的授权要求,可以创建自 定义策略。自定义策略中可以添加的授权项(Action)请参见云数据库GaussDB NoSQL服务授权项说明。
目前华为云支持以下两种方式创建自定义策略:
● 可视化视图创建自定义策略:无需了解策略语法,按可视化视图导航栏选择云服 务、操作、资源、条件等策略内容,可自动生成策略。
● JSON视图创建自定义策略:可以在选择策略模板后,根据具体需求编辑策略内 容;也可以直接在编辑框内编写JSON格式的策略内容。
具体创建步骤请参见:创建自定义策略。本章为您介绍常用的云数据库 GaussDB NoSQL自定义策略样例。
自定义策略样例
● 示例1:授权用户创建云数据库 GaussDB NoSQL实例 { "Version": "1.1",
"Statement": [ {
"Effect": "Allow", "Action": [
"nosql:instance:create"
] } ] }
● 示例2:拒绝用户删除云数据库 GaussDB NoSQL数据库实例
拒绝策略需要同时配合其他策略使用,否则没有实际作用。用户被授予的策略 中,一个授权项的作用如果同时存在Allow和Deny,则遵循Deny优先原则。
如果您给用户授予GaussDB NoSQLFullAccess的系统策略,但不希望用户拥有 GaussDB NoSQLFullAccess中定义的删除云数据库 GaussDB NoSQL实例权限,
您可以创建一条拒绝删除云数据库 GaussDB NoSQL实例的自定义策略,然后同 时将GaussDB NoSQLFullAccess和拒绝策略授予用户,根据Deny优先原则,则用 户可以对云数据库 GaussDB NoSQL执行除了删除云数据库 GaussDB NoSQL实例 外的所有操作。拒绝策略示例如下:
{ "Version": "1.1", "Statement": [ {
"Effect": "Deny"
"Action": [
"nosql:instance:delete"
], } ] }
● 示例3:多个授权项策略
一个自定义策略中可以包含多个授权项,且除了可以包含本服务的授权项外,还 可以包含其他服务的授权项,可以包含的其他服务必须跟本服务同属性,即都是 项目级服务或都是全局级服务。多个授权语句策略描述如下:
{ "Version": "1.1", "Statement": [ {
"Action": [
"nosql:instance:create", "nosql:instance:rename", "nosql:instance:delete", "vpc:publicIps:list", "vpc:publicIps:update"
],
"Effect": "Allow"
} ] }
3.2 实例生命周期
3.2.1 重启实例
出于维护目的,您可能需要重启数据库实例。
使用须知
● 实例状态为“正常”、“异常”、“恢复检查中”,支持重启实例。
● 重启实例会导致服务中断,请谨慎操作。
● 重启实例后,该实例下所有节点将会被重启。
● 开启操作保护的用户,在进行敏感操作时,通过进行二次认证再次确认您的身 份,进一步提高账号安全性,有效保护您安全使用云产品。关于如何开启操作保 护,具体请参考《统一身份认证服务用户指南》的内容。
操作步骤
步骤1 登录管理控制台。
步骤2 在服务列表中选择“数据库 > 云数据库 GaussDB(for Cassandra)”。
图3-2 登录云数据库 GaussDB(for Cassandra)控制台
步骤3 在“实例管理”页面,选择目标实例,单击操作列“更多 > 重启实例”。
您也可以在“实例管理”页面,单击目标实例的名称,在页面右上角,单击“重启实 例”。
步骤4 若您已开启操作保护,在“重启实例”弹出框,单击“去验证”,跳转至验证页面,
单击“免费获取验证码”,正确输入验证码并单击“认证”,页面自动关闭。
步骤5 在弹出框中,单击“是”重启实例。
----结束
3.2.2 删除实例
您可以删除不使用的实例来释放资源。
使用须知
● 若您确定删除实例,该实例上的数据以及相关的自动备份将全部被清除,且不可 恢复,请谨慎操作。
● 删除实例后,实例下所有节点将同步被删除。
● 包年/包月计费模式的实例,需要先进行订单退订,才可删除实例。退订包周期实 例的详细操作请参见退订包周期实例。
● 开启操作保护的用户,在进行敏感操作时,通过进行二次认证再次确认您的身 份,进一步提高账号安全性,有效保护您安全使用云产品。关于如何开启操作保 护,具体请参考《统一身份认证服务用户指南》的内容。
操作步骤
步骤1 登录管理控制台。
步骤2 在服务列表中选择“数据库 > 云数据库 GaussDB(for Cassandra)”。
图3-3 登录云数据库 GaussDB(for Cassandra)控制台
步骤3 在“实例管理”页面,选择目标实例,单击操作列“更多 > 删除实例”。
步骤4 若您已开启操作保护,在“删除实例”弹出框,单击“去验证”,跳转至验证页面,
单击“免费获取验证码”,正确输入验证码并单击“认证”,页面自动关闭。
步骤5 在弹出框中,单击“是”。
实例被删除后,将不再显示在实例列表中。
----结束
3.2.3 实例回收站
GaussDB(for Cassandra)支持将退订后的包年/包月实例和删除的按需实例,加入回收 站管理。您可以在回收站中重建实例恢复数据。
使用须知
● 回收站策略机制默认开启,且不可关闭,默认保留天数为1天,该功能免费。
● 目前回收站允许加入100个实例,超过该配额的实例将无法添加至回收站中。
● 当实例存储空间满时,删除之后的实例不会放入回收站。
● 修改回收站保留天数,仅对修改后新进入回收站的实例生效,对于修改前已经存 在的实例,仍保持原来的回收策略,请您谨慎操作。
设置回收站策略
步骤1 登录管理控制台。
步骤2 在服务列表中选择“数据库 > 云数据库 GaussDB(for Cassandra)”。
图3-4 登录云数据库 GaussDB(for Cassandra)控制台
步骤3 在“回收站”页面,单击“回收站策略”,设置已删除实例保留天数,可设置范围为 1~7天。单击“确定”,完成设置。
图3-5 设置回收站策略
----结束
重建实例
在回收站保留期限内的实例可以通过重建实例恢复数据。
步骤1 登录管理控制台。
步骤2 在服务列表中选择“数据库 > 云数据库 GaussDB(for Cassandra)”。
图3-6 登录云数据库 GaussDB(for Cassandra)控制台
步骤3 在“回收站”页面,在实例列表中找到需要恢复的目标实例,单击操作列的“重 建”。
图3-7 重建实例
步骤4 在“重建新实例”页面,选填配置后,提交重建任务。
----结束
3.3 变更实例
3.3.1 修改实例名称
GaussDB(for Cassandra)支持修改数据库实例名称,以方便您区分和识别实例。
方式一
步骤1 登录管理控制台。
步骤2 在服务列表中选择“数据库 > 云数据库 GaussDB(for Cassandra)”。
图3-8 登录云数据库 GaussDB(for Cassandra)控制台
步骤3 在“实例管理”页面,单击目标实例后的 ,修改实例名称。
● 单击“确认”,提交修改。
● 单击“取消”,取消修改。
说明
实例名称需要满足如下规则:
● 允许和已有名称重复。
● 实例名称不包含中文时,长度范围为4~64位,包含中文时,长度为4~20位。
● 必须以中文或字母开头(A~Z或a~z),区分大小写,可以包含中文、字母、数字(0~9)、
中划线(-)或者下划线(_),不能包含其他特殊字符。
步骤4 在“实例管理”页面,查看修改结果。
----结束
方式二
步骤1 登录管理控制台。
步骤2 在服务列表中选择“数据库 > 云数据库 GaussDB(for Cassandra)”。
图3-9 登录云数据库 GaussDB(for Cassandra)控制台
步骤3 在“实例管理”页面,选择目标实例,单击实例名称。
步骤4 在“基本信息>实例信息”区域,单击“实例名称”后的 ,修改实例名称。
● 单击 ,提交修改。
● 单击 ,取消修改。
说明
实例名称需要满足如下规则:
● 允许和已有名称重复。
● 实例名称不包含中文时,长度范围为4~64位,包含中文时,长度为4~20位。
● 必须以中文或字母开头(A~Z或a~z),区分大小写,可以包含中文、字母、数字(0~9)、
中划线(-)或者下划线(_),不能包含其他特殊字符。
步骤5 稍后在“基本信息”页面,查看修改结果。
----结束
3.3.2 重置管理员密码
GaussDB(for Cassandra)支持重置数据库管理员密码,建议您定期修改密码,以提高 系统安全性,防止出现密码被破解等安全风险。
使用须知
● 实例状态为“正常”、“备份中”、“恢复检查中”、“存储扩容中”,以及个 别节点异常时,支持重置密码。
● 开启操作保护的用户,在进行敏感操作时,通过进行二次认证再次确认您的身 份,进一步提高账号安全性,有效保护您安全使用云产品。关于如何开启操作保 护,具体请参考《统一身份认证服务用户指南》的内容。
方法一
步骤1 登录管理控制台。
步骤2 在服务列表中选择“数据库 > 云数据库 GaussDB(for Cassandra)”。
图3-10 登录云数据库 GaussDB(for Cassandra)控制台
步骤3 在“实例管理”页面,选择目标实例,单击操作列“更多 > 重置密码”。
步骤4 输入新管理员密码及确认密码,单击“确定”。
所设置的密码长度为8~32位,必须是大写字母、小写字母、数字、特殊字符~!@#
%^*-_=+?的组合。
步骤5 若您已开启操作保护,在弹出框,单击“去验证”,跳转至验证页面,单击“免费获 取验证码”,正确输入验证码并单击“认证”,页面自动关闭。
----结束
方法二
步骤1 登录管理控制台。
步骤2 在服务列表中选择“数据库 > 云数据库 GaussDB(for Cassandra)”。
图3-11 登录云数据库 GaussDB(for Cassandra)控制台
步骤3 在“实例管理”页面,选择目标实例,单击实例名称,进入“基本信息”页面。
步骤4 在“数据库信息”区域,单击“管理员账户名”处的“重置密码”。
步骤5 输入新管理员密码及确认密码,单击“确定”。
所设置的密码长度为8~32位,必须是大写字母、小写字母、数字、特殊字符~!@#
%^*-_=+?的组合。
步骤6 若您已开启操作保护,在弹出框,单击“去验证”,跳转至验证页面,单击“免费获 取验证码”,正确输入验证码并单击“认证”,页面自动关闭。
----结束
3.3.3 扩容磁盘
随着业务数据的增加,原来申请的数据库存储容量不能满足需求,这时,您可以为实 例扩容磁盘。
使用须知
● 磁盘容量变更目前只允许扩容,不能缩容。
● 扩容磁盘无需重启实例,在此期间,服务不中断,不影响您正常使用数据库。
方法一
步骤1 登录管理控制台。
步骤2 在服务列表中选择“数据库 > 云数据库 GaussDB(for Cassandra)”。
图3-12 登录云数据库 GaussDB(for Cassandra)控制台
步骤3 在“实例管理”页面,选择目标实例,单击实例名称。
步骤4 在“基本信息>存储空间”区域,单击“磁盘扩容”。
图3-13 磁盘扩容
步骤5 进入“磁盘扩容”页面,选择所需扩容磁盘空间大小,单击“下一步”。
图3-14 磁盘扩容
用户每次至少选择1GB扩容量,且必须为整数。
步骤6 在确认页面,确认存储空间。
● 包年/包月
– 如需重新选择,单击“上一步”,修改存储空间。
– 核对无误后,单击“提交订单”,进入付款页面,选择支付方式,完成支 付。
● 按需计费
– 如需重新选择,单击“上一步”,修改存储空间。
– 核对无误后,单击“提交”,开始扩容存储。
步骤7 检查存储扩容结果。
● 扩容过程中,实例运行状态为“存储扩容中”。
● 扩容完成后,实例运行状态变为“正常”。
● 单击实例名称,在实例“基本信息”页面的“存储空间”区域,可查看扩容后的 磁盘容量。
----结束
方法二
步骤1 登录管理控制台。
步骤2 在服务列表中选择“数据库 > 云数据库 GaussDB(for Cassandra)”。
图3-15 登录云数据库 GaussDB(for Cassandra)控制台
步骤3 在“实例管理”页面,选择目标实例,单击操作列“更多 > 磁盘扩容”。
图3-16 扩容磁盘
步骤4 进入“磁盘扩容”页面,选择所需扩容磁盘空间大小,单击“下一步”。
图3-17 磁盘扩容
用户每次至少选择1GB扩容量,且必须为整数。
步骤5 在确认页面,确认存储空间。
● 包年/包月
– 如需重新选择,单击“上一步”,修改存储空间。
– 核对无误后,单击“提交订单”,进入付款页面,选择支付方式,完成支 付。
● 按需计费
– 如需重新选择,单击“上一步”,修改存储空间。
– 核对无误后,单击“提交”,开始扩容存储。
步骤6 检查存储扩容结果。