• [迁移系列] Gauss DB(DWS)迁移系列-TD迁移DDL差异-分区定义设置Partition by
    TD平台支持范围range和值case分区,并支持动态定义分区(current_date,但较少人使用);GaussDB(DWS)暂时只支持range,即主要通过less than方式实现分区;同时,由于两个平台存储差异性,不建议GaussDB(DWS)像TD一样创建过多分区,即GaussDB(DWS)根据数据访问频度,近期数据创建细粒度分区,提高访问速度,较少访问数据尽量合并分区(如下示例)。根据系统规模,通常单DN小于500MB的数据表可以不考虑创建分区表。−         Teradata:CREATE MULTISET VOLATILE TABLE cities(name VARCHAR(80) title ‘城市名称’,mnt_dt date)Partition by (range_n(Mnt_dt between date’0001-01-01’ and date’0001-01-04’each interval ‘1’ day,date ‘0000-01-05’ and date ‘2009-12-31’,date ‘2010-01-01’ and date ‘2050-12-31’ each interval ‘1’ day,date ‘2051-01-01’ and date’9999-12-31’,no range));−         GaussDB(DWS):CREATE Temp TABLE cities(name VARCHAR(80) ,mnt_dt date)partition by range(mnt_dt)(PARTITION cities_0001 VALUES LESS THAN (date '0001-01-04'),PARTITION cities_2009 VALUES LESS THAN (date '2009-12-31'),PARTITION cities_2020 VALUES LESS THAN (date '2021-01-01'),PARTITION cities_202101 VALUES LESS THAN (date '2021-02-01'),PARTITION cities_202102  VALUES LESS THAN (date '2021-03-01'),PARTITION cities_20210301 VALUES LESS THAN (date '2021-03-02'),PARTITION cities_20210302 VALUES LESS THAN (date '2021-03-03'),***PARTITION cities_20210331 VALUES LESS THAN (date '2021-04-01'),PARTITION cities_99991231 VALUES LESS THAN (MAXVALUE));
  • [迁移系列] Gauss DB(DWS)迁移系列-TD迁移DDL差异-字段字符集设置Character set Latin
    GaussDB(DWS)不支持表级定义字符集,在数据库创建时显式指定字符集,且不能事后变更数据库字符集属性;若数据库需要修改字符集则需重新搬迁数据;−         Teradata:CREATE MULTISET VOLATILE TABLE cities(name VARCHAR(80) Character set Latin,name2 VARCHAR(80) Character set Unicode);−         GaussDB(DWS):CREATE Temp TABLE cities(name VARCHAR(80) ,name2 VARCHAR(80));
  • [迁移系列] Gauss DB(DWS)迁移系列-TD迁移DDL差异-字段多值压缩属性compress
    GaussDB(DWS)不支持类似TD的MVC多值压缩属性,但存在表级数据块压缩属性;−         Teradata:CREATE MULTISET VOLATILE TABLE cities(name VARCHAR(80) compress(‘Shen zhen’,’Xi an’),name2 VARCHAR(80) compress);−         GaussDB(DWS):CREATE Temp TABLE cities(name VARCHAR(80) ,name2 VARCHAR(80));
  • [迁移系列] Gauss DB(DWS)迁移系列-TD迁移DDL差异-字段数据格式化显式属性format
    TD平台format属于不影响数据存储,只影响用户取用数据时展示样式;GaussDB(DWS)不支持format定义,若需数据格式化,可通过to_char函数实现;TD所有类型数据值可设置format,但用户往往只会在日期时间类型上显式设置;−         Teradata:CREATE MULTISET VOLATILE TABLE cities(name VARCHAR(80),mnt_dt date format ‘YYYY-MM-DD’);−         GaussDB(DWS):CREATE Temp TABLE cities(name VARCHAR(80) ,mnt_dt date);
  • [实践系列] Gauss DB(DWS)迁移系列-TD迁移DDL差异-字段标题属性设置Title
    TD平台字段除了和GaussDB(DWS)一样有Comment增加字段描述信息,还可通过表字段Title定义字段的标题;GaussDB(DWS)不支持Title定义,若需要等价于增加Comment信息即可;−         Teradata:CREATE MULTISET VOLATILE TABLE cities(name VARCHAR(80) title '城市名称',mnt_dt date);−         GaussDB(DWS):CREATE Temp TABLE cities(name VARCHAR(80) ,mnt_dt date);Comment on column cities.name is  '城市名称';
  • [迁移系列] Gauss DB(DWS)迁移系列-TD迁移DDL差异-视图迁移差异
    限于TD平台锁机制差异性,其视图中往往会增加“Locking table xxxx for access”用于并发访问,迁移GaussDB(DWS)平台时,直接移除即可实现访问;−         Teradata:replace view v_cities aslocking table cities for accessselect * from cities;−         GaussDB(DWS):Create or replace view v_cities asselect * from cities;
  • [迁移系列] Gauss DB(DWS)迁移系列-TD迁移DDL差异-大小写敏感CASESPECIFIC/NOT CASESPECIFIC
    Teradata默认是字符不敏感“NOT CASESPECIFIC”;GaussDB(DWS)不支持大小写敏感定义,即默认是字符敏感“CASESPECIFIC”;−         Teradata:CREATE MULTISET VOLATILE TABLE cities(name VARCHAR(80) NOT CASESPECIFIC,name2 VARCHAR(80) CASESPECIFIC);−         GaussDB(DWS):CREATE Temp TABLE cities(name VARCHAR(80) ,name2 VARCHAR(80));即当前GaussDB(DWS)只支持大小写敏感的字符定义,而数仓大部分场景也是需要大小写敏感的数据信息;
  • [迁移系列] Gauss DB(DWS)迁移系列-TD迁移DDL差异-行列存存储格式
    数据仓库属于重分析型系统,迁移过程中,建议迁移到GaussDB(DWS)时采用列存进行迁移,综合当前设备CPU性能均较强,建议compress属性设置middle。适合列存:不建议并发频繁update操作;适合批处理ETL任务系统;需要较好的空间压缩比;若绝大部分数据访问都是全部列或绝大部分列访问,建议直接使用列存合并能力。适合行存:大量频繁update操作;提取少量记录;需唯一性约束(但也可通过数据质量监测)行存示例:−         Teradata:(默认行存)CREATE TABLE cities(name VARCHAR(80) cs,name2 VARCHAR(80) NOT CS)primary index(name);−         GaussDB(DWS):CREATE TABLE cities(name VARCHAR(80) ,name2 VARCHAR(80))with (orientation=row)Distribute by hash(name);列存示例:−         Teradata:CREATE TABLE cities(name VARCHAR(80) cs,name2 VARCHAR(80) NOT CS)primary by column;−         GaussDB(DWS):CREATE TABLE cities(name VARCHAR(80) ,name2 VARCHAR(80))with (orientation=column)Distribute by hash(name);
  • [迁移系列] TD常用字典视图在GaussDB(DWS)上实现
    GaussDB(DWS)迁移teradata数据库的时候,很多脚本,以及用户习惯会使用td的常用字典表,比如dbc.tablesv,下面博客记录一下实现dbc.tablesv,dbc.columnsv等字典过程https://bbs.huaweicloud.com/blogs/227292
  • [实践系列] GaussDB(DWS)通过GDS导出的文件竟然无法重新导入到源表
    项目上有人提出一个问题,gds导出来的文件,在导入到同样数据库的另外一个表里面,竟然会报错。于是写了个博客记录一下测试过程。主要是因为导出文件的字符集和分隔符不兼容导致https://bbs.huaweicloud.com/blogs/198875
  • [实践系列] GaussDB(DWS)对被视图引用的表进行DDL操作步骤
    如果表被视图引用的话,特定场景下,部分DDL操作是不能直接执行的,比如修改被视图引用的字段的类型,删除表等,而新增字段是可以操作,主要原因是视图引用了表的字段,修改的话视图也需要变化。下面博客详细讲一下如何实现https://bbs.huaweicloud.com/blogs/196992
  • [其他] GaussDB(DWS)“表信息查询”与“分布列等信息修改”的一个方便脚本
    最近开始接触GaussDB(DWS),在查询一些表信息的时候,总是忘记字典表是啥,虽然说用的多就记住了,但是还没记住的时候,总是要查询产品文档或之前的笔记,挺麻烦的。同时比如优化SQL的时候,总会需要综合多方面的信息,就需要多个字典表,比如表的分布列,分布方式,空间大小,倾斜率,有没收集统计信息等等,还需要统计一起,那就需要更多工作了。经过几次需要的统计表信息的SQL优化后,决定写一个shell脚本,将需要的信息一次性查询出来。下面是具体博客链接:https://bbs.huaweicloud.com/blogs/196729 
  • [迁移系列] ORACLE 触发器在GaussDB(DWS)上的实现
    触发器ORACLE跟GaussDB(DWS)有一定区别,在项目实践的时候踩了些坑,在下面博客记录一下https://bbs.huaweicloud.com/blogs/196527
  • [技术原理] GaussDB(DWS)表级锁功能实操与思考
    刚接触gaussdb(DWS)的时候对gaussdb(DWS)的锁不太清楚逻辑,于是写了个博客加深记忆https://bbs.huaweicloud.com/blogs/193095
  • [迁移系列] oracle CONNECT_BY_ROOT,CONNECT_BY_ISLEAF等在GaussDB(DWS)实现
    oracle的connect_by_root,connect_by_isleaf 在gaussdb(DWS) 没有直接的函数,以下博客展示如何实现这两个函数。https://bbs.huaweicloud.com/blogs/196094
总条数:2746 到第 页
上滑加载中