当前位置: 首页 > article >正文

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

一、前言

  不同的数据库建表有各自的特点,以下简单对比梧桐数据库与GBase在建表上的特点与不同。

二、Gbase数据库建表

  在GBase数据库中,创建表的语法与标准SQL类似,以下结合具体实例介绍相关语法:

建表示例:

CREATE TABLE prod_sale (
   prod_id varchar(10) PRIMARY KEY,
   prod_name varchar(10) default null,
   sale_date date not null,
   sale_cnt int,
   sale_time timestamp,
   sale_fee decimal(12,2)
) COMPRESS(5,5) ENGINE = EXPRESS
DISTRIBUTED BY('prod_id') DEFAULT CHARSET = utf8 TABLESPACE = 'sys_tablespace'
partition by list(sale_date)
(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、修改表结构

  • 添加列:
   alter table table_name ADD COLUMN column_name column_type`
  • 修改列类型:
   ALTER TABLE table_name ALTER COLUMN column_name TYPE new_type;
  • 删除列:
   ALTER TABLE table_name DROP COLUMN column_name;
  • 重命名表名:
   ALTER TABLE old_table_name RENAME TO new_table_name;

三、梧桐数据库建表

  梧桐数据库建表语法类似于GP数据库,以下同样结合具体实例介绍:

建表示例:

CREATE TABLE prod_sale (
   prod_id character varying(10) PRIMARY KEY,
   prod_name character varying(10) unique,
   sale_date date not null,
   sale_cnt int check( sale_cnt > 0 ),
   sale_time timestamp,
   sale_fee numeric(12,2) default null
) WITH (APPENDONLY = true, ORIENTATION = orc/magma) TABLESPACE dfs_default
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、修改表结构

  • 添加列:
   alter table table_name ADD COLUMN column_name column_type`
  • 修改列类型:
   ALTER TABLE table_name ALTER COLUMN column_name TYPE new_type;
  • 删除列:
   ALTER TABLE table_name DROP COLUMN column_name;
  • 重命名表名:
   ALTER TABLE old_table_name RENAME TO new_table_name;

四、总结

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


http://www.kler.cn/a/383218.html

相关文章:

  • Axios-Mock-Adapter mock数据
  • MySQL_客户端工具建库.
  • pil分割图片
  • 一文搞懂Linux kernel编译步骤
  • 蓝桥杯第21场小白入门赛补题
  • Qt的C++中实现一个文本转语音(TTS)系统
  • 【机器学习】连续属性离散化与sklearn.preprocessing.KBinsDiscretizer
  • 非[I,P]结构的生成矩阵如何巧妙计算校验矩阵
  • 题目练习之二叉树那些事儿(续集)
  • Linux入门之vim
  • 深度学习常用开源数据集介绍【持续更新】
  • 《华为工作法》读书摘记
  • 【Git】Liunx环境下Git的使用:“克隆,提交,推送“
  • Sat-NeRF论文笔记和复现问题处理
  • 小游戏开发,出现了降本增效的技术?
  • 安装acondana3, Conda command not found
  • python项目实战---使用图形化界面下载音乐
  • 离线部署k8s1.21.2集群教程
  • CrackMe破解之Acid_burn
  • SpringCloudGateway — 网关登录校验
  • Mysql基础 01 数据与sql
  • 【Python】强大的正则表达式工具:re模块详解与应用
  • 【极限编程(XP)】
  • 重新认识HTTPS
  • 【从VAE到LDM】Variational Auto Encoder原理以及关于Latent Diffusion的思考
  • 深入解析 Transformer 模型:编码器和解码器的完整实现