人大金仓KingbaseES数据库管理入门

KingbaseES数据库有多种用户类型,包括数据库管理员、安全管理员、应用开发人员等,各司其职。数据库管理员负责安装、维护、备份和性能优化等工作,安全管理员专注于安全管理,应用开发人员设计应用和数据库对象。SQL是与数据库交互的主要方式,Ksql是KingbaseES的主要命令行工具。文章还介绍了数据库版本查询、权限管理和数据操作工具的使用。
摘要由CSDN通过智能技术生成

1. KingbaseES数据库的用户类型

数据库的用户类型和各自的职责取决于数据库支持的业务。 小型业务可以只有一位数据库管理员来支持应用开发人员和数据库用户; 大型的业务对数据库的使用则可能需要多位数据库管理员分别负责不同的数据库管理职责。

1.1. 数据库管理员

数据库至少需要一位数据库管理员,根据数据库支持的业务规模不同,管理员角色可能由单人或是一个团队承担。 数据库管理员可能承担以下职责:

安装、升级数据库和相关软件
规划、分配存储资源
为应用开发人员设计的应用创建存储结构(例如表空间)
为应用开发人员设计的应用创建对象(例如表、视图、索引)
根据应用开发人员的需要修改存储结构和对象
创建用户、维护数据库安全
控制、监控用户对数据库的访问
监控、优化数据库性能
规划、实施备份策略、维护归档
处理故障、恢复服务
联系KingbaseES的技术服务渠道获取技术支持

1.2. 安全管理员

有些系统会由一位或多位独立的安全管理员来创建用户,控制、监控用户对数据库的访问,维护数据库安全。 有独立的安全管理员的情况下,数据库管理员就不再负责以上这些职责。

参考 预定义管理用户 来分配安全相关的职责。

1.3. 应用开发人员

应用开发人员设计并实现使用数据库的应用系统,他们的职责包括:

设计、开发应用系统
为应用系统设计数据库对象
估算应用对存储的容量需求
对数据库对象做对应应用的修改
向数据库管理员传递以上需求
调试、优化应用
明确应用对安全的需求

应用开发人员可以联合数据库管理员共同完成上面的一些工作。

1.4. 应用管理员

数据库支撑的应用可能有一个或多个,每个应用都可以由专门的应用管理员负责。

1.5. 数据库用户

数据库用户通过应用或数据库工具和数据库交互,典型用户的职责包括:

在权限允许的情况下登入数据库、修改或删除数据
查询数据生成报表

2. 数据库管理员的任务

设计、实现和维护KingbaseES数据库需要完成以下一些任务:

2.1. 评估数据库使用的硬件资源

评估数据库所需的硬件资源,应该包括:

所需要的磁盘容量和I/O能力
在需要的情况下,磁带的容量
需要的内存容量

2.2. 安装数据库软件

数据库管理员需要在一台或多台服务器上安装数据库和相关的工具软件。

2.3. 数据库规划

数据库管理员需要规划数据库的逻辑存储结构,关系对象存储策略,备份策略。

规划逻辑存储结构时考虑对数据库性能和管理任务的影响非常重要。例如,创建表空间前考虑表空间可能存储的物理文件数量、大小; 存储数据的访问模式,表空间所在的物理设备的性能。规划逻辑存储结构时应考虑的影响包括:

数据库运行的服务器的性能
数据访问时的性能
数据库备份恢复操作的效率

关系对象存储策略可以直接影响这些对象访问、存储和管理的效率。规划时注意要考虑数据的增长。 规划阶段也应该包括备份策略规划,这个阶段可以调整逻辑存储结构和关系对象存储策略来提升备份效率。

存储结构 和 数据库对象管理 中包括了对存储结构和关系对象的进一步描述。 业务系统开发建议 中包括了一些常见的规划建议。

2.4. 创建数据库

创建数据库并启动服务。

2.5. 备份数据库

实施规划的备份策略,包括配置WAL、归档,配置备份工具和定时任务,完成首次全量备份。

2.6. 创建用户

创建用户并分配合适的权限,可以参考 用户管理和数据库安全

2.7. 实施数据库设计

根据规划完成表空间和对象的创建。

2.8. 备份功能完整的数据库

数据库设计实施后,数据库就具备了完整功能,再次备份数据库。除了按备份策略做周期性的备份,最好在变更实施后立刻做一次备份。

2.9. 性能调优

数据库管理员需要持续的优化数据库性能,KingbaseES数据库提供工具和方法诊断性能问题和优化调整。 具体参见 KingbaseES数据库性能调优指南

3. SQL语句

与 KingbaseES 数据库通信的主要方式是提交 SQL 语句。

  • 向数据库提交命令和 SQL

有几种方法可以将 SQL 语句和命令提交到 KingbaseES 数据库。

  • 关于 Ksql

Ksql 是 KingbaseES 数据库的主要命令行界面。您可以使用 Ksql 设置数据库初始化参数、创建和管理用户、创建和更改数据库对象 (例如表和索引)、插入和更新数据、运行 SQL 查询等等。

  • 使用 Ksql 连接到数据库

使用 Ksql 连接到 KingbaseES 数据库实例。

3.1. 向数据库提交命令和 SQL

有几种方法可以将 SQL 语句和命令提交到 KingbaseES 数据库。

  • 直接使用 Ksql 的命令行界面

  • 间接使用图形用户界面

例如通过 数据库对象管理工具 直观的图形界面来管理数据库,该工具在后台提交 SQL 语句和命令。

3.2. 关于 Ksql

Ksql 是 KingbaseES 数据库的主要命令行界面。您可以使用 Ksql 设置数据库初始化参数、创建和管理用户、创建和更改数据库对象 (例如表和索引)、插入和更新数据、运行 SQL 查询等等。

在提交 SQL 语句和命令之前,您必须连接到数据库。使用 Ksql,您可以本地或者远程连接。本地连接意味着连接到运行 Ksql 的同一台计算机上运行的 KingbaseES 数据库。远程连接意味着通过网络连接到远程计算机上运行的 KingbaseES 数据库。这样的数据库成为远程的数据库。

3.3. 连接数据库

使用 Ksql 连接到 KingbaseES 数据库实例。

  • 关于使用 Ksql 连接到数据库

您必须连接到 KingbaseES 数据库才能查询或修改该数据库中的数据。您可以连接到默认数据库或通过网络连接到其他数据库。

  • Step 1:打开命令窗口

在您的平台上执行必要的操作以打开一个窗口,您可以在其中输入操作系统命令。

  • Step 2:设置操作系统环境变量

根据您的平台,您可能必须在启动 Ksql 之前设置环境变量,或者至少验证它们是否正确。

  • Step 3:启动 Ksql

启动 Ksql。

  • Step 4:Ksql 连接到 KingbaseES 数据库

使用 Ksql 连接到 KingbaseES 数据库实例,可以用不同用户的身份重新连接。

3.4. 关于使用 Ksql 连接到数据库

KingbaseES 数据库包含以下组件:KingbaseES 数据库实例,它是进程和内存的集合,以及一组包含用户数据和系统数据的磁盘文件。

由于主机上可能有多个 KingbaseES 实例,每个实例都有自己的一组数据文件,因此您必须确定连接的实例。对于本地连接,您可以通过设置操作系统环境变量来识别实例。对于远程连接,您可以通过指定网路和数据库服务名称来识别实例。对于本地和远程连接,您必须设置环境变量以帮助操作系统找到 Ksql 可执行文件并为可执行文件提供其支持文件和脚本路径。

3.5. Step 1:打开命令窗口

在您的平台上执行必要的操作以打开一个窗口,您可以在其中输入操作系统命令。

3.6. Step 2:设置操作系统环境变量

根据您的平台,您可能必须在启动 Ksql 之前设置环境变量,或者至少验证它们是否设置正确。

例如,在大多数平台上,您需需要配置 PATH 环境变量以包含 KingbaseES 的 bin 目录。

  • 在 Linux 上,通过输入操作系统命令来设置环境变量。

  • -- Setting Environment Variables in Linux (C Shell) setenv LD_LIBRARY_PATH=/home/test/kb_install/lib/kingbase/ -- Setting Environment Variables in Linux (Bash Shell) export LD_LIBRARY_PATH=/home/test/kb_install/lib/kingbase/

3.7. Step 3:启动 Ksql

要开始使用 Ksql, 您必须首先了解如何启动和停止 Ksql。

  • 请确保在您的计算机上已经安装了 Ksql

  • 登录到操作系统 (如果需要)

  • 输入连接到数据库的命令,然后按 Enter 键

  • ksql -h hostname -U username -d dbname -p port

3.8. Step 4:Ksql 连接到 KingbaseES 数据库

当您启动 Ksql 时, 需要一个用户名和密码才能登录到 KingbaseES 数据库模式。您的用户名和密码是 KingbaseES 数据库授权的用户。

您可以使用连接命令对不同的用户进行连接,用户名和密码必须对该数据库有效。例如,连接到 user1 用户:

-- Connect to a Local Database User
ksql -U username -d dbname -p port

-- Connect to a  Database with the Host IP Address
ksql -h hostname -U username -d dbname -p port

3.8.1. Ksql 连接数据库命命令语法

连接命令格式如下:

ksql[option...][dbname [username]]

ksql-Uusername-ddbname-pport

更多相关 Ksql 使用的信息请参考 KingbaseES Ksql 工具用户指南及参考。

4. 确定数据库的软件版本

4.1. KingbaseES数据库的版本信息

KingbaseES数据库的版本信息含义参见 附录A(KingbaseES版本信息规则) 。

4.2. 获取当前数据库的版本信息

可以通过以下SQL获取数据库版本信息:

5. 数据库管理员的安全和权限

5.1. 管理员用户

KingbaseES采用了三权分立的安全管理体制,系统初始化时会创建三个管理员用户:数据库管理员、安全管理员、审计管理员。

  • 数据库管理员

用户名和密码由初始化时设定,通常用户名指定为system。主要负责执行数据库日常管理的各种操作和自主存取控制。

  • 安全管理员

用户名默认为sso,主要负责强制访问规则的制定和管理,监督审计管理员和普通用户的操作,不能创建和操作普通对象。

  • 审计管理员

用户名默认为sao,主要负责数据库的审计,监督系统管理员和安全管理员的操作,不能创建和操作普通对象。

三权分立的安全管理体制是为了解决数据库超级用户权力过度集中的问题。此外,还可以创建普通用户来访问数据库,运行数据库应用。

5.2. 管理员权限

管理员执行基本数据库操作所需要的权限是通过特殊的系统权限授予的,在创建用户时可以指定授权。KingbaseES还提供一些特殊的管理特权,例如,ANY 权限和SYSBACKUP特权。

管理权限的内容如下表所示:

表 2.5.1 管理权限

权限

描述

SUPERUSER

超级用户,越过数据库内的所有访问限制,是最强大的管理权限

CREATEDB

允许创建数据库

CREATEROLE

允许创建用户和角色

LOGIN

允许登录数据库

REPLICATION

是否为复制角色

ANY权限

允许用户操作所有的某种类型的数据库对象的某种操作,不包括系统对象

SYSBACKUP

允许执行物理备份操作

更多权限管理内容,可参考《 KingbaseES安全指南 》 。

6. 数据库管理员认证

在KingbaseES数据库中,可以通过使用存储在数据库字典中的账户和口令对管理员进行身份验证,即口令验证。同时,还支持结合第三方服务Kerberos、RADIUS、LDAP、SSL等认证协议和CA等技术对数据库管理员进行强化身份验证。更多身份验证内容,可参考《 KingbaseES安全指南 》 。

7. 数据操作工具

KingbaseES提供多种工具用于维护数据。

7.1. 数据加载工具

使用方式参见 KingbaseES客户端应用参考手册 中的sys_bulkload。

7.2. 数据导出导入工具

使用方式参见 KingbaseES客户端应用参考手册 中的sys_dump、sys_restore和 exp/imp工具介绍 。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值