DWS的SCHEMA介绍

举报
cultivation 发表于 2020/06/10 08:53:23 2020/06/10
【摘要】 1 数据库主要对象的理解1.1 数据库对象TABLESPACE:操作系统文件结构中的具体文件空间在集群内的定义。说白点就是集群要占用哪些操作系统文件系统空间。DATABASE:数据库物理隔离单位,一个集群内可以有多个DATABASE,多个DATABASE在数据库概念上是物理隔离的。用户一次只能登陆一个DATABASE,防问其中的数据。定义DATABASE时,即创建了从数据...

1      数据库主要对象的理解

1.1      数据库对象

TABLESPACE:操作系统文件结构中的具体文件空间在集群内的定义。说白点就是集群要占用哪些操作系统文件系统空间。

DATABASE数据库物理隔离单位,一个集群内可以有多个DATABASE,多个DATABASE在数据库概念上是物理隔离的。用户一次只能登陆一个DATABASE,防问其中的数据。定义DATABASE时,即创建了从数据库逻辑到操作系统文件空间的对应关系。

SCHEMADATABASE内进行逻辑隔离的作用。这样不同用户和应用可以重用表名空间。数据库管理时使用schemaname.tablename则可以唯一操作具体的表。

TABLE:这个就是用户具本存数据的最小单元了,大家都理解。

 

2      ORACLE/PG/DWSSCHEMA设计比较

2.1      差异总结

PGDWS的模式(SCHEMA)是DATABASE内的概念,为了提供用户在DATABASE内再进行逻辑划分用的。

ORACLEDATABASE是用户层面的概念,即一个用户在新DATABASE内创建对象时,固定要创建一个同名SCHEMA,并将对像创建在SCHEMA下。

2.2      实现差异


自动创建同名SCHEMA

可独立创建SCHEMA

不同DATABASE处理

Oracle

一致

PG

一致

DWS

不一致,创建用户的库有同名SCHEMA,其它库需手动创建

2.3      优缺点

自动创建同名SCHEMA

优点:不同用户默认创建表时,不会发生表名冲突的情况。因为默认都创建在各自的同名SCHEMA下。

缺点:用户名与SCHEMA间存在了约束关系。例如user1,如创建了user2schema,刚无法创建名为user2的用户,因为schema名冲突。

可新增普通SCHEMA

优点:用户内可对数据库对象分组,按组赋权给其它用户

缺点:USERSCHEMA共用名空间,一个是管理员行为一个是一般用户行为,会出现行为冲突。

 

 

3      DWS与PG对比测试情况

3.1      PG不会因为其它用户存在模式而不能创建A用户

 

3.2      DWS因为其它用户存在A模式,而不能创建A用户

dws=# create user u1 password 'Gauss_234';

CREATE ROLE

dws=# create schema schema2 authorization u1;

CREATE SCHEMA

 

dws=# create user schema2 password 'Gauss_234';

ERROR:  schema "schema2" already exists

3.2.1        DWS不同库可以有同名模式


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。