关于opengauss

adm开头的那些都是系统视图,不是系统表

ADM开头的系统视图,都在华为云:

路径(GaussDB官方文档-->开发指南-->开发指南(分布式_V2.0-8.x)-->系统表和系统视图-->系统视图)

https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-0990.html

比如这些:

表里面的行也叫tuple,tuple是元祖的意思

schema也叫namespace

database也叫catalog

一个数据库cluster包括最多128个database

每个database包括多个schema

数据库的对象存储在schema里面

这些对象包括table index view function sequence

一个数据库可以在多个表空间里

一个表空间可以横跨多个数据库

每一个数据库也可以横跨多个表空间

数据库的对象由多个数据文件组成

形成同一张表的数据文件是不能跨tablespace的

多个用户和多个数据库

一个单实例对应一个database cluster

一个database cluster 由多个users和多个databases组成

users和databases可以共同同一套openguass实例和相关配置文件

user1可以访问database1和databasen,user2可以访问database1和databasen,

其中database1和databasen的数据是相互隔离的,但这些用户是共享整个opengauss实例中的所有database的

opengauss支持的集簇(database cluster)最多包含128个database

每一个database由多个schema组成

数据库中的对象实际上就是存储在schema里面

对象包括table、index、view、function、sequence等,表、索引、视图、函数、序列

一个database cluster里面包含了多个表空间,

每一个表空间横跨多个database

每一个数据库也可以横跨多个表空间

数据库的一个对象,是由多个数据文件组成

比如,一个表由多个数据文件组成

形成同一个表的数据文件,是不能够跨tablespace的

一个表是分区表,它由多个数据文件,它的多个数据文件是不能跨越tablespace的

也就是分区表,它是有多个数据文件,普通表,可能是有一个数据文件,不管是普通表还是分区表,它的所有数据文件都是在一个表空间里面的,也就是在同一个tablespace的

也就是一张表,不管它是不是分区表,都是只能在一个表空间里面的。其实表空间的物理存在,一般表现为一个文件,这个表是分区表,可能就是这个表空间文件里面的多个子文件,如果这个表是个普通表,不是分区表,那么就是在这个表空间文件里面的单个子文件。

理论上,分区表的不同分区可以分布在不同的表空间中,但实际中的设定,应该是以同一个分区表的不同分区是应该分布在同一个表空间中的。

一个分区表的形成的多个数据文件,是不能跨tablespaces的,对于opengauss来说是这样。

表空间存储的是数据库的实际的数据文件。

opengauss使用schema对数据库做逻辑分割。

schema在功能上类似于操作系统的目录

同一个database cluster内,也就是数据库实例内,database和database之间的数据是隔离的。

同一个database内,schema和schema之间的数据不是严格分离的。

用户根据自己的权限,来访问一个或多个schema

这样多个用户可以使用同一个数据库

在数据库内,创建一个用户,会自动创建一个与用户名同名的schema,用户如果有权限,也可以自己单独创建schema。这个有点像Linux系统中,创建一个用户,就会在/home目录下创建一个这个用户的家目录的情况。

在数据库创建用户时,系统会自动帮助用户在当前数据库中创建一个同名的schema,数据库对象默认创建在数据库搜索路径(search_path)中的第一个schema内。数据库默认具有一个名为public的schema,且默认所有用户的搜索路径都包含该schema

创建一个用户,系统就会自动创建一个与用户名相同的schema,所以一般,在DBeaver中,看到很多schema,而且每个schema都有名称,基本上每个schema的所有者的名称,也就是owner的名称也就是schema的名称,所有写sql语句的时候,就可以加条件owner = 'schema_name' 和 owner in 'schema_name'

schema可以rename和指定owner

初始用户是omm

数据库系统和操作系统不是一回事

相关推荐
阿猿收手吧!2 分钟前
【Redis】Redis入门以及什么是分布式系统{Redis引入+分布式系统介绍}
数据库·redis·缓存
奈葵5 分钟前
Spring Boot/MVC
java·数据库·spring boot
leegong2311114 分钟前
Oracle、PostgreSQL该学哪一个?
数据库·postgresql·oracle
中东大鹅19 分钟前
MongoDB基本操作
数据库·分布式·mongodb·hbase
夜光小兔纸41 分钟前
Oracle 普通用户连接hang住处理方法
运维·数据库·oracle
兩尛2 小时前
订单状态定时处理、来单提醒和客户催单(day10)
java·前端·数据库
web2u2 小时前
MySQL 中如何进行 SQL 调优?
java·数据库·后端·sql·mysql·缓存
Elastic 中国社区官方博客3 小时前
使用 Elasticsearch 导航检索增强生成图表
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
小金的学习笔记3 小时前
RedisTemplate和Redisson的使用和区别
数据库·redis·缓存
新知图书4 小时前
MySQL用户授权、收回权限与查看权限
数据库·mysql·安全