关于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

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

相关推荐
好奇的菜鸟8 分钟前
如何在IntelliJ IDEA中设置数据库连接全局共享
java·数据库·intellij-idea
tan180°10 分钟前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
Hello.Reader2 小时前
Redis 延迟排查与优化全攻略
数据库·redis·缓存
简佐义的博客3 小时前
破解非模式物种GO/KEGG注释难题
开发语言·数据库·后端·oracle·golang
爬山算法3 小时前
MySQL(116)如何监控负载均衡状态?
数据库·mysql·负载均衡
老纪的技术唠嗑局5 小时前
OceanBase PoC 经验总结(二)—— AP 业务
数据库
阿里云大数据AI技术6 小时前
OpenSearch 视频 RAG 实践
数据库·人工智能·llm
m0_623955668 小时前
Oracle使用SQL一次性向表中插入多行数据
数据库·sql·oracle
阿蒙Amon9 小时前
C#读写文件:多种方式详解
开发语言·数据库·c#
东窗西篱梦9 小时前
Redis集群部署指南:高可用与分布式实践
数据库·redis·分布式