 Greenplum Database 管理员指南 6.2.1版本早该淘汰了,5 版本和 6 版本都带来了极大 的性能和稳定性的提升。 声明 本文档的版权归[陈淼]个人所有,未经许可和授权不得抄袭和引用。 本文档中的绝大部分内容都经过编者重新考量和实测验证,有些观点与官方手册有 出入,仅代表编者本人观点,与官方手册无关。本书中可能会提及一些非官方的命令和 工具等,仅用于讲解相关知识,如有缺失相关细节的情况,请谅解。 致读者 如果您 ......................................................................................... - 125 - 验证分区策略 .............................................................................................. ......................................................................................... - 197 - 验证查询是否使用了 Orca ................................................................................... - 1980 码力 | 416 页 | 6.08 MB | 1 年前3 Greenplum Database 管理员指南 6.2.1版本早该淘汰了,5 版本和 6 版本都带来了极大 的性能和稳定性的提升。 声明 本文档的版权归[陈淼]个人所有,未经许可和授权不得抄袭和引用。 本文档中的绝大部分内容都经过编者重新考量和实测验证,有些观点与官方手册有 出入,仅代表编者本人观点,与官方手册无关。本书中可能会提及一些非官方的命令和 工具等,仅用于讲解相关知识,如有缺失相关细节的情况,请谅解。 致读者 如果您 ......................................................................................... - 125 - 验证分区策略 .............................................................................................. ......................................................................................... - 197 - 验证查询是否使用了 Orca ................................................................................... - 1980 码力 | 416 页 | 6.08 MB | 1 年前3
 Greenplum 排序算法Hoare在1959年发明。 快速排序算法的三个步骤: ● 挑选基准值:从数列中挑选出一个基准元素,称为pivot ● 分割:重新排序数组,所有比基准元素小的元素排放到基准元素之前;所有比基 准元素大的元素排放到基准元素之后。分割完成后,我们完成了对基准元素的 排序,即基准元素在数组中的位置不再改变 ● 递归排序子序列:递归地将小于基准元素的子序列和大于基准元素的子序列分 别进行排序 快速排序 8 ● ● 快速排序算法每次选取一个基准元素,将比基准元素小的排到基准元素左边, 比基准元素大的排到基准元素的右边,从而将待排序数组分成两个子集。 快速排序 6 8 3 2 7 1 7 9 8 7 7 9 6 3 2 1 分治法 9 快速排序 ● 快速排序算法: 10 堆排序是最常用的排序算法,由J.Williams在1964年发明。 ● 堆是一种近似完全二叉树的结构,最大值堆要求每个子节点的键值总是小于父 是小于父 节点。最小值堆要求每个子节点的键值总是大于父节点。 堆排序算法 ● 步骤1:建立最大值堆,最大元素在堆顶 ● 步骤2:重复将堆顶元组移除并插入到排序数组,更新堆使其保持堆的性质 ● 步骤3:当堆的元素个数为零时,数组排序完毕 堆排序 11 ● 建堆 堆排序 9 5 8 1 3 6 2 1 2 5 9 8 3 6 12 ● 移除堆顶元素 堆排序 2 5 80 码力 | 52 页 | 2.05 MB | 1 年前3 Greenplum 排序算法Hoare在1959年发明。 快速排序算法的三个步骤: ● 挑选基准值:从数列中挑选出一个基准元素,称为pivot ● 分割:重新排序数组,所有比基准元素小的元素排放到基准元素之前;所有比基 准元素大的元素排放到基准元素之后。分割完成后,我们完成了对基准元素的 排序,即基准元素在数组中的位置不再改变 ● 递归排序子序列:递归地将小于基准元素的子序列和大于基准元素的子序列分 别进行排序 快速排序 8 ● ● 快速排序算法每次选取一个基准元素,将比基准元素小的排到基准元素左边, 比基准元素大的排到基准元素的右边,从而将待排序数组分成两个子集。 快速排序 6 8 3 2 7 1 7 9 8 7 7 9 6 3 2 1 分治法 9 快速排序 ● 快速排序算法: 10 堆排序是最常用的排序算法,由J.Williams在1964年发明。 ● 堆是一种近似完全二叉树的结构,最大值堆要求每个子节点的键值总是小于父 是小于父 节点。最小值堆要求每个子节点的键值总是大于父节点。 堆排序算法 ● 步骤1:建立最大值堆,最大元素在堆顶 ● 步骤2:重复将堆顶元组移除并插入到排序数组,更新堆使其保持堆的性质 ● 步骤3:当堆的元素个数为零时,数组排序完毕 堆排序 11 ● 建堆 堆排序 9 5 8 1 3 6 2 1 2 5 9 8 3 6 12 ● 移除堆顶元素 堆排序 2 5 80 码力 | 52 页 | 2.05 MB | 1 年前3
 Greenplum数据仓库UDW - UCloud中立云计算服务商int 获取JSON数组元素,索引以0为开始 select '[{"a":"foo"},{"b":"bar"},{"c":"baz"}]'::json->2; {"c":"baz"} -> text 通过键来获取 JSON 对象的域(field) select '{"a": {"b":"foo"}}'::json->'a'; {"b":"foo"} ->> int 获取 JSON 数组元素,然后以 text json_to_recordset(json) json函数的详细操作请参考⽂档下⾯的部分。 Json创建函数 创建函数 to_json(anyelement) 以 JSON 格式返回输⼊的值。 数组和复合数据会被(递归地)转换为数组和对象; 如果有转换函数可以将输⼊的数据转换为 json 的话,那么使⽤转换函数; 或者产⽣⼀个 JSON 标量 (scalar)值。 数字、布尔值和空值(null)之外的其他标量会被表⽰为⽂本格式, UDW中Json类型 Greenplum数据仓库 UDW Copyright © 2012-2021 UCloud 优刻得 142/206 以 JSON 数组格式返回输⼊的数组。 ⼀个UDW多维数组将被转换成⼀个由多个数组组成的 JSON 数组。如果 pretty_bool的值为 true , 那么则在维度-1元素之间添加换⾏符。 如下所 ⽰: row_to_json(record [,pretty_bool])0 码力 | 206 页 | 5.35 MB | 1 年前3 Greenplum数据仓库UDW - UCloud中立云计算服务商int 获取JSON数组元素,索引以0为开始 select '[{"a":"foo"},{"b":"bar"},{"c":"baz"}]'::json->2; {"c":"baz"} -> text 通过键来获取 JSON 对象的域(field) select '{"a": {"b":"foo"}}'::json->'a'; {"b":"foo"} ->> int 获取 JSON 数组元素,然后以 text json_to_recordset(json) json函数的详细操作请参考⽂档下⾯的部分。 Json创建函数 创建函数 to_json(anyelement) 以 JSON 格式返回输⼊的值。 数组和复合数据会被(递归地)转换为数组和对象; 如果有转换函数可以将输⼊的数据转换为 json 的话,那么使⽤转换函数; 或者产⽣⼀个 JSON 标量 (scalar)值。 数字、布尔值和空值(null)之外的其他标量会被表⽰为⽂本格式, UDW中Json类型 Greenplum数据仓库 UDW Copyright © 2012-2021 UCloud 优刻得 142/206 以 JSON 数组格式返回输⼊的数组。 ⼀个UDW多维数组将被转换成⼀个由多个数组组成的 JSON 数组。如果 pretty_bool的值为 true , 那么则在维度-1元素之间添加换⾏符。 如下所 ⽰: row_to_json(record [,pretty_bool])0 码力 | 206 页 | 5.35 MB | 1 年前3
 Greenplum机器学习⼯具集和案例Parallel Processing ⼯工作原理理 2017.thegiac.com C API (Greenplum, PostgreSQL, HAWQ) 底层抽象层 (数组操作、类型转换、数值计算库等) 数据库内建函 数 ⽤用户接⼝口 ⾼高层抽象层 (迭代控制器器) 内循环函数 (实现机器器学习逻辑) Python SQL C++ 信息价值和证据权 重 成对相关性 删除⾼高度相关变量量 逻辑回归 计算 KS 分值 模型验证 ⼿手动预测 1 2 3 4 5 6 7 8 原始⼯工作流程 2017.thegiac.com 数据整理理 特征⽣生成 验证 预测 信息价值 ⽅方差膨胀 因⼦子 成对相关性 逻辑回归 Elastic PL/PYTHON, PDLTools 可视化 数据和技术概览 2017.thegiac.com 会话识别 API 请求 ⽇日志 抽取会话特征 根据原始特征 对用户聚类 验证聚 类结果 评分 对API请求结合超时和 K-means聚类处理理 主题模型 对主题进⾏行行K- means聚类 S 标记回话 ⼈人⼯工审查 新会话 建模过程 20170 码力 | 58 页 | 1.97 MB | 1 年前3 Greenplum机器学习⼯具集和案例Parallel Processing ⼯工作原理理 2017.thegiac.com C API (Greenplum, PostgreSQL, HAWQ) 底层抽象层 (数组操作、类型转换、数值计算库等) 数据库内建函 数 ⽤用户接⼝口 ⾼高层抽象层 (迭代控制器器) 内循环函数 (实现机器器学习逻辑) Python SQL C++ 信息价值和证据权 重 成对相关性 删除⾼高度相关变量量 逻辑回归 计算 KS 分值 模型验证 ⼿手动预测 1 2 3 4 5 6 7 8 原始⼯工作流程 2017.thegiac.com 数据整理理 特征⽣生成 验证 预测 信息价值 ⽅方差膨胀 因⼦子 成对相关性 逻辑回归 Elastic PL/PYTHON, PDLTools 可视化 数据和技术概览 2017.thegiac.com 会话识别 API 请求 ⽇日志 抽取会话特征 根据原始特征 对用户聚类 验证聚 类结果 评分 对API请求结合超时和 K-means聚类处理理 主题模型 对主题进⾏行行K- means聚类 S 标记回话 ⼈人⼯工审查 新会话 建模过程 20170 码力 | 58 页 | 1.97 MB | 1 年前3
 Greenplum 精粹文集数据库的几十分之一甚至几百分之一,下图是基于 MapReduce 的 Hive 和 Greenplum MPP 在 TPCH 22 个 SQL 测试性 能比较:(相同硬件环 境下) 某国内知名电商在其 数据分析平台上做过 验证:同样的硬件条 件下,MPP 数据库比 Hadoop 性 能 快 12 倍 以上。 Big Date2.indd 14 16-11-22 下午3:38 Greenplum 精粹文集 主档和节点上安装 PEP 服务器所需执行的步骤,它还包含应该如何导入 Greenplum 必要的 UDF(用户自定义函数,即内嵌入数据库的小节点例程)以操作数据 并与 PEP 应用程序通信的相关说明。 为了验证安装是否成功,请查看 Protegrity 功能是否已创建。此外, 请检查 pty_whoami 功能是否返回了执行该功能的用户 ID。 如果这些功能都正常则说明你已成功安装,并且已经准备好开始隐蔽 执行了此 查询并显示了原始插入的数值。SSN 数值对于任何其他用户来说都只 会看到 ###-##-6789 这样的显示内容,这依据于 ESA 上创建且下推 到本地 PEP 流程的策略。 当你每次输入查询码的时候,添加这些功能会有点麻烦,而且你可能 会希望限制用户对基础数据表的访问。如果创建一个视图自动应用功 能的话就方便得多。 CREATEVIEW v_sample_ssn_parts AS0 码力 | 64 页 | 2.73 MB | 1 年前3 Greenplum 精粹文集数据库的几十分之一甚至几百分之一,下图是基于 MapReduce 的 Hive 和 Greenplum MPP 在 TPCH 22 个 SQL 测试性 能比较:(相同硬件环 境下) 某国内知名电商在其 数据分析平台上做过 验证:同样的硬件条 件下,MPP 数据库比 Hadoop 性 能 快 12 倍 以上。 Big Date2.indd 14 16-11-22 下午3:38 Greenplum 精粹文集 主档和节点上安装 PEP 服务器所需执行的步骤,它还包含应该如何导入 Greenplum 必要的 UDF(用户自定义函数,即内嵌入数据库的小节点例程)以操作数据 并与 PEP 应用程序通信的相关说明。 为了验证安装是否成功,请查看 Protegrity 功能是否已创建。此外, 请检查 pty_whoami 功能是否返回了执行该功能的用户 ID。 如果这些功能都正常则说明你已成功安装,并且已经准备好开始隐蔽 执行了此 查询并显示了原始插入的数值。SSN 数值对于任何其他用户来说都只 会看到 ###-##-6789 这样的显示内容,这依据于 ESA 上创建且下推 到本地 PEP 流程的策略。 当你每次输入查询码的时候,添加这些功能会有点麻烦,而且你可能 会希望限制用户对基础数据表的访问。如果创建一个视图自动应用功 能的话就方便得多。 CREATEVIEW v_sample_ssn_parts AS0 码力 | 64 页 | 2.73 MB | 1 年前3
 Brin Index主Greenplum 7中的理论与实现vacuum不做任何操作 vacuum full重建索引 Confidential │ ©2021 VMware, Inc. Brin Storage Revmap是一个逻辑上的数组,数组下标代表BlockNumber Revmap的value是TID,指向存储有最大最小值的tuple Confidential │ ©2021 VMware, Inc. 目录 Brin0 码力 | 32 页 | 1.04 MB | 1 年前3 Brin Index主Greenplum 7中的理论与实现vacuum不做任何操作 vacuum full重建索引 Confidential │ ©2021 VMware, Inc. Brin Storage Revmap是一个逻辑上的数组,数组下标代表BlockNumber Revmap的value是TID,指向存储有最大最小值的tuple Confidential │ ©2021 VMware, Inc. 目录 Brin0 码力 | 32 页 | 1.04 MB | 1 年前3
 完全兼容欧拉开源操作系统的 HTAP 数据平台 Greenplum版本。该版本为企业级用户提供一个安全稳定可靠的 操作系统。 openEuler 也是一个技术孵化器。通过每半年发布一次的创新版,快速集成 openEuler 以及其他社区的最新技术成 果,将社区验证成熟的特性逐步回合到发行版中。这些新特性以单个开源项目的方式存在于社区,方便开发者获得源代 码,也方便其他开源社区使用。 社区中的最新技术成果持续合入发行版,发行版通过用户反馈反哺技术,激发社区创新活力,从而不断孵化新技术。 和软件包引入欧拉开源社区软件仓库后,Greenplum 中文社区开发者还针对引入的欧拉开源操作系统 版本做了功能性验证和测试,测试结论如下: GreenplumDB 6.17.0 版本本次测试,共计执行回归用例 930 个,其中核心数据库引擎用例 534 个,隔离级别用例 240 个,失败 1 个(疑似虚机资源问题)。其它功能测试若干,手动验证用例 2 个(SSL 工具版本问题),管理工具脚 本用例 455 个。整体质量良好。 个。整体质量良好。 测试活动 tempest 集成测试 核心引擎 全部 534 用例通过 隔离级别 240 用例失败 1 个 其它 手动验证用例 2 个 管理工具脚本 全部 455 用例通过 详尽报告参看 https://gitee.com/src-openeuler/gpdb/blob/openEuler-20.03-LTS-SP2/report.md 50 码力 | 17 页 | 2.04 MB | 1 年前3 完全兼容欧拉开源操作系统的 HTAP 数据平台 Greenplum版本。该版本为企业级用户提供一个安全稳定可靠的 操作系统。 openEuler 也是一个技术孵化器。通过每半年发布一次的创新版,快速集成 openEuler 以及其他社区的最新技术成 果,将社区验证成熟的特性逐步回合到发行版中。这些新特性以单个开源项目的方式存在于社区,方便开发者获得源代 码,也方便其他开源社区使用。 社区中的最新技术成果持续合入发行版,发行版通过用户反馈反哺技术,激发社区创新活力,从而不断孵化新技术。 和软件包引入欧拉开源社区软件仓库后,Greenplum 中文社区开发者还针对引入的欧拉开源操作系统 版本做了功能性验证和测试,测试结论如下: GreenplumDB 6.17.0 版本本次测试,共计执行回归用例 930 个,其中核心数据库引擎用例 534 个,隔离级别用例 240 个,失败 1 个(疑似虚机资源问题)。其它功能测试若干,手动验证用例 2 个(SSL 工具版本问题),管理工具脚 本用例 455 个。整体质量良好。 个。整体质量良好。 测试活动 tempest 集成测试 核心引擎 全部 534 用例通过 隔离级别 240 用例失败 1 个 其它 手动验证用例 2 个 管理工具脚本 全部 455 用例通过 详尽报告参看 https://gitee.com/src-openeuler/gpdb/blob/openEuler-20.03-LTS-SP2/report.md 50 码力 | 17 页 | 2.04 MB | 1 年前3
 Greenplum 编译安装和调试初始化Greenplum 集群 $ source env.sh $ gpinitsystem -c gpinitsystem_config -a # step 5. 初始化成功后,运行下面命令验证系统状态 $ psql -l $ gpstate # step 6. 简单测试 $ createdb test $ psql test test# CREATE TABLE t1 遇到的一个问题报错如下: unable to import module: No module named psutil 原因是 psutil 这个python包没有安装,但是使用 python 验证,发现已经安装了。 而使用 ssh 验证发现使用了不同路径的 python。 2.2.8 小技巧 Greenplum使用 Bash 和 Python 脚本初始化集群和管理集群。可以通过在合适的地方设置日志或 者0 码力 | 15 页 | 2.07 MB | 1 年前3 Greenplum 编译安装和调试初始化Greenplum 集群 $ source env.sh $ gpinitsystem -c gpinitsystem_config -a # step 5. 初始化成功后,运行下面命令验证系统状态 $ psql -l $ gpstate # step 6. 简单测试 $ createdb test $ psql test test# CREATE TABLE t1 遇到的一个问题报错如下: unable to import module: No module named psutil 原因是 psutil 这个python包没有安装,但是使用 python 验证,发现已经安装了。 而使用 ssh 验证发现使用了不同路径的 python。 2.2.8 小技巧 Greenplum使用 Bash 和 Python 脚本初始化集群和管理集群。可以通过在合适的地方设置日志或 者0 码力 | 15 页 | 2.07 MB | 1 年前3
 Pivotal Greenplum 最佳实践分享数据库启动:gpstart  常用可选参数:-a:直接启动,不提示终端使用者输入确  -m:只启动master实例,主要在故障处理时使用 -R:进入限制模式,只有超级用户能访问,常用于系统维护  数据库停止:gpstop:  常用可选参数:-a:直接停止,不提示终端使用者输入确认 -m:只停止master实例,与gpstart0 码力 | 41 页 | 1.42 MB | 1 年前3 Pivotal Greenplum 最佳实践分享数据库启动:gpstart  常用可选参数:-a:直接启动,不提示终端使用者输入确  -m:只启动master实例,主要在故障处理时使用 -R:进入限制模式,只有超级用户能访问,常用于系统维护  数据库停止:gpstop:  常用可选参数:-a:直接停止,不提示终端使用者输入确认 -m:只停止master实例,与gpstart0 码力 | 41 页 | 1.42 MB | 1 年前3
 基于 Greenplum 打造SaaS化电商服务平台•每15到20天增加10组 •31个GP集群 •30个业务数据集群, 一个数据交换集群 •ETL处理,大部分在线 分析查询采用GP •极端复杂查询 拆分 •2019年7月上线ADB分 担极端复杂的在线分 析,有待验证 数据集市 报表 CRM 胜算 …… …… …… …… 数据仓库演变 2015 2016 2017 2018 2019 2014原始阶段 2016.4全新报表界面:梳理业务、开发报表0 码力 | 7 页 | 547.94 KB | 1 年前3 基于 Greenplum 打造SaaS化电商服务平台•每15到20天增加10组 •31个GP集群 •30个业务数据集群, 一个数据交换集群 •ETL处理,大部分在线 分析查询采用GP •极端复杂查询 拆分 •2019年7月上线ADB分 担极端复杂的在线分 析,有待验证 数据集市 报表 CRM 胜算 …… …… …… …… 数据仓库演变 2015 2016 2017 2018 2019 2014原始阶段 2016.4全新报表界面:梳理业务、开发报表0 码力 | 7 页 | 547.94 KB | 1 年前3
共 12 条
- 1
- 2













