 Greenplum数据仓库UDW - UCloud中立云计算服务商2、数据库管理 3、模式管理 4、表格设计 5、加载数据 6、分区表 7、序列 8、索引 9、 ANALYZE/VACUUM 10、常⽤SQL⼤全 12、常⽤SQL命令 13、⽤⼾⾃定义函数 ⽬录 Greenplum数据仓库 UDW Copyright © 2012-2021 UCloud 优刻得 3/206 128 132 132 132 139 139 139 141 191 192 udw优化指南 表膨胀 表膨胀 表膨胀的原因 如何避免表膨胀 UDW中 中Json类型 类型 Json相关操作 Json操作举例 Json相关函数 Json创建函数 Json处理函数 接⼊第三⽅ 接⼊第三⽅ BI ⼯具 ⼯具 ⼀、 UDW 接⼊ Zeppelin ⼆、 UDW 接⼊ SuperSet UDW 使⽤案例 使⽤案例 案例⼀ 利⽤ logstash+Kafka+UDW template1 (切换到template1数据库) DROP DATABASE product; 3、模式管理 、模式管理 数据库模式(schema)是包含了⼀系列数据库对象(表,数据类型,⾃定义函数)集合的命名容器。⼀个数据库可以有多个模式。不同模式不共享命名空间。public 模式是在创建数据库之后就 会默认创建的,每个⽤⼾都有权限在这个 schema 创建对象,如果不指定 schema 那么就会默认创建到这⾥。0 码力 | 206 页 | 5.35 MB | 1 年前3 Greenplum数据仓库UDW - UCloud中立云计算服务商2、数据库管理 3、模式管理 4、表格设计 5、加载数据 6、分区表 7、序列 8、索引 9、 ANALYZE/VACUUM 10、常⽤SQL⼤全 12、常⽤SQL命令 13、⽤⼾⾃定义函数 ⽬录 Greenplum数据仓库 UDW Copyright © 2012-2021 UCloud 优刻得 3/206 128 132 132 132 139 139 139 141 191 192 udw优化指南 表膨胀 表膨胀 表膨胀的原因 如何避免表膨胀 UDW中 中Json类型 类型 Json相关操作 Json操作举例 Json相关函数 Json创建函数 Json处理函数 接⼊第三⽅ 接⼊第三⽅ BI ⼯具 ⼯具 ⼀、 UDW 接⼊ Zeppelin ⼆、 UDW 接⼊ SuperSet UDW 使⽤案例 使⽤案例 案例⼀ 利⽤ logstash+Kafka+UDW template1 (切换到template1数据库) DROP DATABASE product; 3、模式管理 、模式管理 数据库模式(schema)是包含了⼀系列数据库对象(表,数据类型,⾃定义函数)集合的命名容器。⼀个数据库可以有多个模式。不同模式不共享命名空间。public 模式是在创建数据库之后就 会默认创建的,每个⽤⼾都有权限在这个 schema 创建对象,如果不指定 schema 那么就会默认创建到这⾥。0 码力 | 206 页 | 5.35 MB | 1 年前3
 Greenplum 分布式数据库内核揭秘种数据分布策略: l 哈希分布 (Hash Distribution) l 随机分布 (Randomly Distribution) l 复制分布 (Replicated Distribution) 数据分布策略 Confidential │ ©2021 VMware, Inc. 10 哈希分布是分布式数据库最为常用的数据分布方式。根据用户自定义的分布键计算哈希值,然后将 哈希结果映射到某个 Segment Segment 上。在 Greenplum 6 中,默认采用一致性哈希(Jump Consistent Hash)分布策略。 哈希分布 当增加一个新的节点时,需要对原有数据进行重新映射。一致性哈希则保证了在重新映射的过程追 中,tuple 要么保留在原有节点中,要么迁移至新的节点中,从而实现最小数据迁移。 Confidential │ ©2021 VMware, Inc. 11 随机分布则 随机分布则采用随机的方式将数据存储到不同的节点。当不确定一张表的哈希分布键,或者是不存 在合理的避免数据倾斜的分布键时,即可采用随机分布的方式。 随机分布与复制分布 复制分布则表示整张表在每个节点上都有一份完整的拷贝,假设我们有 100 个节点,复制表则会将 数据保存 100 份。复制表可避免生成分布式查询计划,而是生成本地计划,从而避免数据在集群的 不同节点间移动。 Confidential │ ©20210 码力 | 31 页 | 3.95 MB | 1 年前3 Greenplum 分布式数据库内核揭秘种数据分布策略: l 哈希分布 (Hash Distribution) l 随机分布 (Randomly Distribution) l 复制分布 (Replicated Distribution) 数据分布策略 Confidential │ ©2021 VMware, Inc. 10 哈希分布是分布式数据库最为常用的数据分布方式。根据用户自定义的分布键计算哈希值,然后将 哈希结果映射到某个 Segment Segment 上。在 Greenplum 6 中,默认采用一致性哈希(Jump Consistent Hash)分布策略。 哈希分布 当增加一个新的节点时,需要对原有数据进行重新映射。一致性哈希则保证了在重新映射的过程追 中,tuple 要么保留在原有节点中,要么迁移至新的节点中,从而实现最小数据迁移。 Confidential │ ©2021 VMware, Inc. 11 随机分布则 随机分布则采用随机的方式将数据存储到不同的节点。当不确定一张表的哈希分布键,或者是不存 在合理的避免数据倾斜的分布键时,即可采用随机分布的方式。 随机分布与复制分布 复制分布则表示整张表在每个节点上都有一份完整的拷贝,假设我们有 100 个节点,复制表则会将 数据保存 100 份。复制表可避免生成分布式查询计划,而是生成本地计划,从而避免数据在集群的 不同节点间移动。 Confidential │ ©20210 码力 | 31 页 | 3.95 MB | 1 年前3
 Greenplum 排序算法第一阶段初始化TupleSort,通过调用函数tuplesort_begin_common,生成 Tuplesortstate。Tuplesortstate用于描述排序所需的信息 ● 第二阶段插入元组,每次调用函数puttuple_common,会根据当前TupleSort的 状态,选择将元组插入到不同的位置。 ● 第三阶段负责实际的排序逻辑,通过调用函数tuplesort_performsort,实现对已 经存储好的输入元组进行排序。根据当前TupleSort的不同状态,输入元组可能 存储在内存或者文件中,TupleSort会选择使用不同的算法进行排序。 ● 第四阶段负责输出排序后元组,在排序完成之后,每次调用函数 tuplesort_gettuple_common,即可获取排序后的元组。同样,根据当前 TupleSort的不同状态,算法选择不同的方式返回有序元组。 TupleSort 38 TupleSort ● Greenplum的聚集节点使用两种聚集方式:哈希聚集和分组聚集。 ● 分组聚集应用了排序的思想,如果数据基于分组键有序,那么聚集可以拆解为 若干个朴素聚集的组合。 ● SELECT avg(score) FROM student GROUP BY grade; 分组聚集 44 ● Greenplum连接算法包括:嵌套循环连接,哈希连接和归并连接。 ● 归并连接同样应用了排序的思想0 码力 | 52 页 | 2.05 MB | 1 年前3 Greenplum 排序算法第一阶段初始化TupleSort,通过调用函数tuplesort_begin_common,生成 Tuplesortstate。Tuplesortstate用于描述排序所需的信息 ● 第二阶段插入元组,每次调用函数puttuple_common,会根据当前TupleSort的 状态,选择将元组插入到不同的位置。 ● 第三阶段负责实际的排序逻辑,通过调用函数tuplesort_performsort,实现对已 经存储好的输入元组进行排序。根据当前TupleSort的不同状态,输入元组可能 存储在内存或者文件中,TupleSort会选择使用不同的算法进行排序。 ● 第四阶段负责输出排序后元组,在排序完成之后,每次调用函数 tuplesort_gettuple_common,即可获取排序后的元组。同样,根据当前 TupleSort的不同状态,算法选择不同的方式返回有序元组。 TupleSort 38 TupleSort ● Greenplum的聚集节点使用两种聚集方式:哈希聚集和分组聚集。 ● 分组聚集应用了排序的思想,如果数据基于分组键有序,那么聚集可以拆解为 若干个朴素聚集的组合。 ● SELECT avg(score) FROM student GROUP BY grade; 分组聚集 44 ● Greenplum连接算法包括:嵌套循环连接,哈希连接和归并连接。 ● 归并连接同样应用了排序的思想0 码力 | 52 页 | 2.05 MB | 1 年前3
 TiDB v8.5 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 67 2.3.1 数据类型,函数和操作符 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1125 8.7.3 受时区设置影响的函数和数据类型· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1126 8.7.4 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 3490 14.12.4 函数与操作符· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 5095 页 | 104.54 MB | 10 月前3 TiDB v8.5 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 67 2.3.1 数据类型,函数和操作符 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1125 8.7.3 受时区设置影响的函数和数据类型· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1126 8.7.4 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 3490 14.12.4 函数与操作符· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 5095 页 | 104.54 MB | 10 月前3
 TiDB v8.2 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 48 2.3.1 数据类型,函数和操作符 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 3453 14.12.4 函数与操作符· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 作的权限控制能够避免数据库用户对资源的滥用, �→ 强化管理员对整体资源使用的保护,从而提升集群的稳定性。 2.2.1 功能详情 2.2.1.1 性能 • 支持下推以下 JSON 函数到 TiKV #50601 @dbsid – JSON_ARRAY_APPEND() – JSON_MERGE_PATCH() – JSON_REPLACE() 更多信息,请参考用户文档。0 码力 | 4987 页 | 102.91 MB | 10 月前3 TiDB v8.2 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 48 2.3.1 数据类型,函数和操作符 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 3453 14.12.4 函数与操作符· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 作的权限控制能够避免数据库用户对资源的滥用, �→ 强化管理员对整体资源使用的保护,从而提升集群的稳定性。 2.2.1 功能详情 2.2.1.1 性能 • 支持下推以下 JSON 函数到 TiKV #50601 @dbsid – JSON_ARRAY_APPEND() – JSON_MERGE_PATCH() – JSON_REPLACE() 更多信息,请参考用户文档。0 码力 | 4987 页 | 102.91 MB | 10 月前3
 TiDB v8.4 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 63 2.3.1 数据类型,函数和操作符 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 3472 14.12.4 函数与操作符· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 操作生效,且默认关闭。如需开启优化版的 Hash Join,可以将系统变 量tidb_hash_join_version 设置为 optimized。 更多信息,请参考用户文档。 36 • 支持下推以下日期函数到 TiKV #56297 #17529 @gengliqi – DATE_ADD() – DATE_SUB() – ADDDATE() – SUBDATE() 更多信息,请参考用户文档。0 码力 | 5072 页 | 104.05 MB | 10 月前3 TiDB v8.4 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 63 2.3.1 数据类型,函数和操作符 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 3472 14.12.4 函数与操作符· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 操作生效,且默认关闭。如需开启优化版的 Hash Join,可以将系统变 量tidb_hash_join_version 设置为 optimized。 更多信息,请参考用户文档。 36 • 支持下推以下日期函数到 TiKV #56297 #17529 @gengliqi – DATE_ADD() – DATE_SUB() – ADDDATE() – SUBDATE() 更多信息,请参考用户文档。0 码力 | 5072 页 | 104.05 MB | 10 月前3
 TiDB v5.2 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 35 2.3.1 数据类型,函数和操作符 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1578 12.11.4 函数与操作符· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 月 27 日 TiDB 版本:5.2.0 警告: 该版本存在一些已知问题,已在新版本中修复,建议使用 5.2.x 的最新版本。 在 5.2 版本中,你可以获得以下关键特性: • 支持基于部分函数创建表达式索引 (Expression index),极大提升查询的性能。 • 提升优化器的估算准确度 (Cardinality Estimation),有助于选中最优的执行计划。 • 锁视图 (Lock0 码力 | 2259 页 | 48.16 MB | 1 年前3 TiDB v5.2 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 35 2.3.1 数据类型,函数和操作符 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1578 12.11.4 函数与操作符· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 月 27 日 TiDB 版本:5.2.0 警告: 该版本存在一些已知问题,已在新版本中修复,建议使用 5.2.x 的最新版本。 在 5.2 版本中,你可以获得以下关键特性: • 支持基于部分函数创建表达式索引 (Expression index),极大提升查询的性能。 • 提升优化器的估算准确度 (Cardinality Estimation),有助于选中最优的执行计划。 • 锁视图 (Lock0 码力 | 2259 页 | 48.16 MB | 1 年前3
 TiDB v5.4 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 45 2.3.1 数据类型,函数和操作符 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2078 12.11.4 函数与操作符· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · format_ �→ version 新增 表示 DTFile 储 存文件格式, 默认值为 2, 该格式在数据 文件中内嵌哈 希值。也可以 设置为 3,该 格式包含元数 据,标记数据 校验,支持多 种哈希算法。 TiFlash logger.count 修改 默认值修改为 10。 TiFlash status. �→ metrics_ �→ port 修改 默认值修改为 8234。 TiFlash0 码力 | 2852 页 | 52.59 MB | 1 年前3 TiDB v5.4 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 45 2.3.1 数据类型,函数和操作符 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2078 12.11.4 函数与操作符· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · format_ �→ version 新增 表示 DTFile 储 存文件格式, 默认值为 2, 该格式在数据 文件中内嵌哈 希值。也可以 设置为 3,该 格式包含元数 据,标记数据 校验,支持多 种哈希算法。 TiFlash logger.count 修改 默认值修改为 10。 TiFlash status. �→ metrics_ �→ port 修改 默认值修改为 8234。 TiFlash0 码力 | 2852 页 | 52.59 MB | 1 年前3
 TiDB v8.0 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 60 2.3.1 数据类型,函数和操作符 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 3377 14.13.4 函数与操作符· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 格较小,建议改用细粒度的 Region 分裂打散策略。此外,因为粗粒度打散 Region 算法会占用大量的外部 存储带宽,请避免因为外部带宽不足导致的对其他业务的影响。 更多信息,请参考用户文档。 • 新增支持下推以下函数到 TiFlash #50975 #50485 @yibin87 @windtalker – CAST(DECIMAL AS DOUBLE) – POWER() 更多信息,请参考用户文档。 •0 码力 | 4805 页 | 101.28 MB | 1 年前3 TiDB v8.0 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 60 2.3.1 数据类型,函数和操作符 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 3377 14.13.4 函数与操作符· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 格较小,建议改用细粒度的 Region 分裂打散策略。此外,因为粗粒度打散 Region 算法会占用大量的外部 存储带宽,请避免因为外部带宽不足导致的对其他业务的影响。 更多信息,请参考用户文档。 • 新增支持下推以下函数到 TiFlash #50975 #50485 @yibin87 @windtalker – CAST(DECIMAL AS DOUBLE) – POWER() 更多信息,请参考用户文档。 •0 码力 | 4805 页 | 101.28 MB | 1 年前3
 TiDB v8.1 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 46 2.3.1 数据类型,函数和操作符 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 3366 14.13.4 函数与操作符· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · @Defined2014 – 修复当某些列的统计信息没有完全加载时,EXPLAIN 语句的结果中可能会显示错误的列 ID 的问题 #52207 @time-and-fate – 修复 IFNULL 函数返回的类型和 MySQL 不一致的问题 #51765 @YangKeao – 修复添加唯一索引可能导致 TiDB panic 的问题 #52312 @wjhuang2016 43 • TiKV0 码力 | 4807 页 | 101.31 MB | 1 年前3 TiDB v8.1 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 46 2.3.1 数据类型,函数和操作符 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 3366 14.13.4 函数与操作符· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · @Defined2014 – 修复当某些列的统计信息没有完全加载时,EXPLAIN 语句的结果中可能会显示错误的列 ID 的问题 #52207 @time-and-fate – 修复 IFNULL 函数返回的类型和 MySQL 不一致的问题 #51765 @YangKeao – 修复添加唯一索引可能导致 TiDB panic 的问题 #52312 @wjhuang2016 43 • TiKV0 码力 | 4807 页 | 101.31 MB | 1 年前3
共 67 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7














