梧桐数据库与GBase建表方式比较

打印 上一主题 下一主题

主题 790|帖子 790|积分 2372

一、媒介

  差别的数据库建表有各自的特点,以下简朴对比梧桐数据库与GBase在建表上的特点与差别。
二、Gbase数据库建表

  在GBase数据库中,创建表的语法与标准SQL类似,以下结合详细实例介绍干系语法:
建表示例:
  1. CREATE TABLE prod_sale (
  2.    prod_id varchar(10) PRIMARY KEY,
  3.    prod_name varchar(10) default null,
  4.    sale_date date not null,
  5.    sale_cnt int,
  6.    sale_time timestamp,
  7.    sale_fee decimal(12,2)
  8. ) COMPRESS(5,5) ENGINE = EXPRESS
  9. DISTRIBUTED BY('prod_id') DEFAULT CHARSET = utf8 TABLESPACE = 'sys_tablespace'
  10. partition by list(sale_date)
  11. (partition p20241030 values in (20241030));
复制代码
1、数据类型:



  • varchar() : 可变长字符串;
  • char(): 定长字符串;
  • int: 整型;
  • decimal(10,2): 浮点型,10 为数据长度,2为数值精度,保留小数后两位;
  • date: 日期类型;
  • timestamp: 时间戳类型;
2、建表参数解释:



  • DISTRIBUTED BY: 设置分布健;
  • COMPRESS(5,5) : 设置压缩存储模式,第一个 5 设置压缩算法,此处为快速压缩,第二个 5 设置压缩品级,压缩品级取值0-9,其中0为默认级别,1表示压缩比最低、压缩和解压缩速率最快,9表示压缩比最高、压缩和解压缩速率最慢;
  • TABLESPACE: 指定表空间;
  • PRIMARY KEY: 设置表的主键,确保数据的唯一性;
  • default: 设置字段默认值;
  • not null: 设置字段为非空;
3、创建分区表



  • partition by list(sale_date) : 根据 sale_date 字段的值创建list分区;
  • partition p20241030 values in (20241030) : 分区名为 p20241030,指定分区值 20241030;
4、修改表布局



  • 添加列:
  1.    alter table table_name ADD COLUMN column_name column_type`
复制代码


  • 修改列类型:
  1.    ALTER TABLE table_name ALTER COLUMN column_name TYPE new_type;
复制代码


  • 删除列:
  1.    ALTER TABLE table_name DROP COLUMN column_name;
复制代码


  • 重命名表名:
  1.    ALTER TABLE old_table_name RENAME TO new_table_name;
复制代码
三、梧桐数据库建表

  梧桐数据库建表语法类似于GP数据库,以下同样结合详细实例介绍:
建表示例:
  1. CREATE TABLE prod_sale (
  2.    prod_id character varying(10) PRIMARY KEY,
  3.    prod_name character varying(10) unique,
  4.    sale_date date not null,
  5.    sale_cnt int check( sale_cnt > 0 ),
  6.    sale_time timestamp,
  7.    sale_fee numeric(12,2) default null
  8. ) WITH (APPENDONLY = true, ORIENTATION = orc/magma) TABLESPACE dfs_default
  9. partition by values (sale_date);
复制代码
1、数据类型:



  • character varying() : 可变长字符串;
  • integer: 整型;
  • numeric(10,2): 浮点型,10 为数据长度,2为数值精度,保留小数后两位;
  • date: 日期类型;
  • timestamp: 时间戳类型;
2、建表参数解释:



  • DISTRIBUTED BY: 设置分布健;
  • PRIMARY KEY: 设置表的主键,等价于唯一约束和非空约束的结合;
  • unique: 设置唯一性约束,确保一列或一组列中包罗的数据在表中的全部行中是唯一的;
  • default: 设置字段默认值;
  • not null: 设置字段为非空;
  • ORIENTATION: 设置表存储格式;
   注
  

  • orc是基于 HDFS 存储的表格式,其数据文件同样重要以 ORC 格式出现
  • MAGMA是梧桐数据库自研的一种存储格式,其底层采用开源的 ORC 格式的行列混淆存储,有效地分身了分析型任务与交易型任务的需求
  3、创建分区表



  • partition by list(sale_date) : 根据 sale_date 字段的值创建列表分区;
4、修改表布局



  • 添加列:
  1.    alter table table_name ADD COLUMN column_name column_type`
复制代码


  • 修改列类型:
  1.    ALTER TABLE table_name ALTER COLUMN column_name TYPE new_type;
复制代码


  • 删除列:
  1.    ALTER TABLE table_name DROP COLUMN column_name;
复制代码


  • 重命名表名:
  1.    ALTER TABLE old_table_name RENAME TO new_table_name;
复制代码
四、总结

  通过以上对比梧桐数据库与Gbase数据库的建表及表操纵,两者与标准的建表语法基本类似,在创建分区表及设置表存储布局时有些微差异;在存储格式上梧桐数据库较传统的MPP分析型数据库有所差别,底层的存储为HDFS,所以有自己独特存储格式,用来满足分析型任务与交易型任务的需求。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

拉不拉稀肚拉稀

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表