Greenplum Database 管理员指南 6.2.1进步,带来的是生态的蓬勃发展。 Greenplum Database 管理员指南 V6.2.1 版权所有:Esena(陈淼 +86 18616691889) 编写:陈淼 - 2 - 序言 术语约定 GP : Greenplum 数据库 Master : GP 的控制节点/实例 Standby : GP 的备用控制节点/实例 Host(主机) : GP 的一台独立的机器设备 ......................................................................................... - 2 - 术语约定................................................................................................... timeout 参数,该参数指定一个毫秒数, 当事务排队时间超过这个设置时,将会被数据库中断。 要手动终止一个事务,首先要确定该查询相关的进程号(pid),得到了该 pid 之 后,通过调用 pg_cancel_backend()函数来终止该查询。 例如,通过如下语句查看所有资源组中正在执行和排队的语句,如果查询没有结果, 说明资源组中没有正在执行的事务或者排队的事务。0 码力 | 416 页 | 6.08 MB | 1 年前3
Greenplum 排序算法● 第一阶段初始化TupleSort,通过调用函数tuplesort_begin_common,生成 Tuplesortstate。Tuplesortstate用于描述排序所需的信息 ● 第二阶段插入元组,每次调用函数puttuple_common,会根据当前TupleSort的 状态,选择将元组插入到不同的位置。 ● 第三阶段负责实际的排序逻辑,通过调用函数tuplesort_performsort,实现对已 经存储好的输入元组进行排序。根据当前TupleSort的不同状态,输入元组可能 存储在内存或者文件中,TupleSort会选择使用不同的算法进行排序。 ● 第四阶段负责输出排序后元组,在排序完成之后,每次调用函数 tuplesort_gettuple_common,即可获取排序后的元组。同样,根据当前 TupleSort的不同状态,算法选择不同的方式返回有序元组。 TupleSort 38 TupleSort0 码力 | 52 页 | 2.05 MB | 1 年前3
Greenplum分布式事务和两阶段提交协议k表里。 1. StartupXlog函数发现XLOG_XACT_PREPARE日志记录进行redo,调用函数recreateTwoPhaseFile将 该日志记录中的信息放到pg_twophase目录下的文件里,每一个prepared事务对应一个文件 2. StartupXlog函数调用recoverPreparedTransaction函数读取pg_twophase目录下的文件并进行相关操 TMGXACT 分布式事务结构体 • 分布式事务id • 分布式事务管理器启动的时间戳 • 活跃分布式事务中最小的事务id,分布式快照 • session id 34 Greenplum的两阶段提交函数调用关系 35 ● 事务的实现原理和Write Ahead Log(WAL) ● 分布式事务和两阶段提交的原理 ● Greenplum两阶段提交协议的实现 ● Greenplum两阶段提交协议的优化0 码力 | 42 页 | 2.12 MB | 1 年前3
Greenplum 编译安装和调试on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"? 这个通常是由于不同的 psql binary 造成的,也就是说自己编译的 psql 调用了系统的 libpq 库。可以通过 ldd 或者 otool -L 查看。 解决方法: export LD_LIBRARY_PATH=/path/to/your/psql/lib 2 集群初始化工具 gpinitsystem 是Bash脚本工具,有些时候它的报错信息很不清楚。这个 时候可以 ○ 使用 -D 选项 ○ gp_bash_functions.sh 是内部一个被频繁调用执行系统命令的函数,可以通过 set -x 可以打印出所有执行的命令的详细信息。对调试 hang 问题很有效。 ● 在合适的代码处启用 Python 调试器,如果不知道什么地方合适,则在入口处。 的消息,则表示进程 attach成功,可以使用 clion进行调试了。 通过图像化窗口定位到 “ExecProcNode” 函数,通过单击下图的小红圈处,即可设置断点在 ExecAgg() 调用处。 执行 SELECT count(*) FROM students 语句,可以使用各种调试命令(例如单步执行、断点、跳 出函数等)方便的调试代码。 如上图所示,可以通过0 码力 | 15 页 | 2.07 MB | 1 年前3
并行不悖- OLAP 在互联网公司的实践与思考Ø单个存储过程,可以在shell中 select func_name() 的方式调度 • 外部任务调度 Ø将整个过程封装成shell脚本,或 Python脚本 Ø用crontab在操作系统调用脚本 Ø用 opencron在图形界面调用脚本 32 Greenplum运维体系 Greenplum任务调度-opencron 33 Greenplum现状说明 三 Greenplum体系架构 二 数据仓库体系架构0 码力 | 43 页 | 9.66 MB | 1 年前3
Greenplum 分布式数据库内核揭秘Greenplum、PostgreSQL、MySQL 以及 Oracle 等主流数据库均采用拉模型。 拉模型的每个算子都实现了从下层节点获取一条元组的 GetNext 函数,每次调用该函数都会从下 层节点返回一条元组或者 EOF 的 NULL 指针。上层节点不断地调用 GetNext 函数从下层节点获 取数据,直至数据全部获取完毕。 火山模型 postgres=# explain select * from t order0 码力 | 31 页 | 3.95 MB | 1 年前3
Greenplum 精粹文集Protegrity 的解决方案相比传统 Greenplum 加密功能的工作方式, 展示 Greenplum 上的 Protegrity 设置,告诉读者如何加密静态数据并 提供 SQL 代码的示例以调用 Protegrity 的加密功能。 1. 默认的 Greenplum 加密和 Protegrity 的功能数据加密 2015 年,Pivotal 发 布 了 一 份 关 于 加 密 Greenplum ssn, rating, rating_date ) VALUES ( 1,pty_varcharins(‘123-45-6789,'ssn'), 2, ‘2016-04-01’); 此操作将调用标记化功能,然后联系本地 PEP 服务器,以确定哪些标 记了的数值可以放入到实际的表格中。 如果你尝试使用明码检索该数据,那么 SSN 将显示为完全不同的号码, 即其标记化的数值。 为了检索原始形式的数据需要对该数据启用0 码力 | 64 页 | 2.73 MB | 1 年前3
共 7 条
- 1













