当前位置:   article > 正文

人大金仓数据库--实例、数据库、模式、表空间之间的关系_描述金仓数据库中,数据库、模式和数据表之间的逻辑关系。

描述金仓数据库中,数据库、模式和数据表之间的逻辑关系。

关键字:

KingbaseES、实例、数据库、模式、表空间、人大金仓

  1. 概述

数据库从字面理解就是存放数据的仓库,我们平时说的KingabseES数据库实际上是指数据库管理系统(DBMS, DataBase Management System),是一种操纵和管理数据库的软件,用于建立、使用和维护数据库。本文简单介绍了KingBaseES数据库中的实例、数据库、模式、表空间的概念与它们之间的关联以及在数据库系统中的组成部分。

2. KingbaseES数据库体系

在数据库中,一个实例对应一个数据库用户,在一个实例下,包含了多个数据库,用户可以根据自身的需求,建立不同的数据库,将数据分开存放;一个数据库中又包含了多个对象,而这些对象也就是我们所说的数据本身,可以理解为数据文件;从逻辑上理解,表空间就是用于存放数据,每个数据文件存放在一个指定的表空间中,而一个表空间可以存放多个数据文件甚至是不同模式、不同数据库中的数据文件。

集群结构

2.1 数据库实例

数据库实例可以理解为一个程序,是位于用户和操作系统之间的一层数据管理软件,是访问数据库的通道;用户对数据库中的数据做任何的操作,包括数据定义、数据查询、数据维护、数据库运行控制等操作都是在数据库实例下进行的,应用程序只有通过数据库实例才能和数据库打交道。

在KingbaseES数据库中,不同用户通过不同的实例与数据库服务器建立连接,不同实例可以兼容不同模式的数据库,我们可以通俗的理解为一个实例即为一个数据库用户。

2.2 数据库(Database)

数据库在这里实际上是一个逻辑上的概念,对应的实体是数据库管理软件存储在硬盘上的数据库;一个实例下可以包含多个数据库,用户可以根据自身的需求才存放不同的数据。以下是对数据库的相关操作:

  • 查看数据库信息:\l
  • 创建数据库:create database 数据库名 owner 属主名
  • 修改数据库:
  • 对数据库改名:alter database 数据库名 rename to 新名称;
  • 更改数据库属主:alter database 数据库名 owner to 属主名;
  • 删除数据库:drop database 数据库名;
  • 2.3 模式(Mode)

模式是数据库中的一个概念,可以将其理解为一个命名空间或者目录,不同的模式下面可以有相同名称的表、函数等数据库对象。提出模式的概念是为了方便管理,只要有权限,各个模式之间也能相互调用。可以理解为模式是对数据库的逻辑分隔,用户可以根据需求不同,将数据库划分为不同的模式,在不同的模式下存放不同类型的数据。

一个数据库可以包含多个模式,模式中又包含了表、函数等其他数据库对象。以下是一些对于数据库模式的常见操作:

  • 查看数据库中的模式列表:\dn+
  • 其中,public模式为创建数据库时会默认创建的模式,用于存放对象的默认模式;sysaudit模式会存储会话对象的审计日志记录、对象审计日志记录;xlog_revord_reda模式用于保存xlog事务日志相关的信息。
  • 创建模式:create schema 模式名 authorization 属主用户名;
  • 修改模式:
  • 1)alter schema 模式名 owner to u1;(修改模式的属主)
  • 2)alter schmea 模式名 rename to 新模式名;(修改模式名)
  • 删除模式:drop schema 模式名;
  • 查看模式中的对象信息:\d+ 模式名.*
  • 2.4 表空间(Tablespace)

KingbaseES中的表空间也是一个逻辑概念,它在物理上与磁盘上的数据文件相对应(一个表空间由一个或多个数据文件组成,但是一个数据文件只能属于一个表空间);从物理上理解,数据库的数据被存放在数据文件中,从逻辑上理解,数据时存放在表空间中的。

下面是一些关于表空间的基本操作:

  • 查看表空间信息:\db+
  • 创建表空间:
  • 创建表空间首先需要规划表空间对应的文件系统目录:
  • 创建非加密表空间:
  • Create tablespace 表空间名 location ‘目录路径’;
  • 创建加密表空间:
  • Create tablespace 表空间名 location ‘目录路径’with (encryption = true);
  • 前置条件:将sysencrypt加到kingbase.conf shared_preload_libraries中,并重启数据库成功
  • 修改表空间:
  • 修改属主:alter tablespace 表空间名 owner to 属主名;
  • 修改名称:alter tablespace 表空间名 rename to 新名称;
  • 删除表空间:drop tablespace 表空间名;
  • 2.5 实例、数据库、模式、表空间的关系

为了能够直观的观察出实例、数据库、模式、表空间之间的关系,这里可以借助KingbaseES数据库管理工具KStudio的导航树来理解:

从图中可以明显看出,整个对象就是一个数据库实例,相当于一个用户;在实例下有多个数据库,数据库中包含多个模式,不同的模式下包含不同的数据库对象用于数据的存储;而表空间在逻辑上就是用于存储数据的,每个数据库对象在进行存储时,都需要对其指定唯一的表空间,而一个表空间可以存放不同的数据库对象,甚至是不同模式、不同数据库下的数据库对象,因此在导航树上可以发现表空间时独立存在于数据库实例中的,与其他部分没有包含关系。

参考资料

《KingbaseES产品手册》

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/980370
推荐阅读
相关标签
  

闽ICP备14008679号