Greenplum Database 管理员指南 6.2.1
+86 18616691889) 编写:陈淼 - 2 - 序言 术语约定 GP : Greenplum 数据库 Master : GP 的控制节点/实例 Standby : GP 的备用控制节点/实例 Host(主机) : GP 的一台独立的机器设备 Instance : GP 的计算实例,很多时候也叫 Segment Primary : .............................................................................. - 28 - 模拟 Row 级别的权限控制 ....................................................................................... - 29 - 密码加密 ..................................................................................... - 39 - 建立数据库会话 ..................................................................................................0 码力 | 416 页 | 6.08 MB | 1 年前3Greenplum机器学习⼯具集和案例
API (Greenplum, PostgreSQL, HAWQ) 底层抽象层 (数组操作、类型转换、数值计算库等) 数据库内建函 数 ⽤用户接⼝口 ⾼高层抽象层 (迭代控制器器) 内循环函数 (实现机器器学习逻辑) Python SQL C++ MADlib 架构 2017.thegiac.com • 是一种由搜索引擎根据网页之间相互 数据量量⼤大,现有数 据分析团队缺乏技 能 客户 数据科学解决⽅方案 ● 某⼤大型跨国⾦金金 融服务公司 ● 移动应⽤用 API 分析 ● 使⽤用Madlib进⾏行行聚 类分析,建⽴立会话 识别模型和主题模 型 ● 建⽴立scoring pipeline, 对新访问 的安全性进⾏行行评估 ● 使⽤用可视化⼯工具对 结果进⾏行行更更好地呈 现 背景 2017 2017.thegiac.com 会话识别 API 请求 ⽇日志 抽取会话特征 根据原始特征 对用户聚类 验证聚 类结果 评分 对API请求结合超时和 K-means聚类处理理 主题模型 对主题进⾏行行K- means聚类 S 标记回话 ⼈人⼯工审查 新会话 建模过程 2017.thegiac.com 会话识别 API 请求 ⽇日志0 码力 | 58 页 | 1.97 MB | 1 年前3并行不悖- OLAP 在互联网公司的实践与思考
Greenplum开发规范 Greenplum使用规范 • 平时使用规范 Ø避免高频率的insert、update操作 Ø避免频繁执行高内存消耗的会话 Ø避免出现死锁 Ø可以在适当的时候执行 vaccum 操作 Ø避免直接在Greenplum执行消耗session会话的操作 Ø尽量不创建索引 • 上线与调度规范 Ø上线的程序,必须要经过测试,才可以生产使用 Ø调度程序需考虑每个任务的前后关系,时间富裕0 码力 | 43 页 | 9.66 MB | 1 年前3Pivotal Greenplum 最佳实践分享
在资源队列中降低查询的并发数 降低GP集群中单节点的Segment Instance数量 增加机器的内存 检查gp_vmem_protect_limit 参数, 确保其不要超过安全的最大值 在会话层面降低statement_mem 参数的设定值 在数据库层面降低statement_mem参数的设定值 在资源队列中限制内存使用量 OOM-解决办法 GPDB中通常的规则是0 码力 | 41 页 | 1.42 MB | 1 年前3Greenplum资源管理器
2017 年象行中国(杭州 站)第一期 Greenplum数据库 2017 年象行中国(杭州 站)第一期 Resource Queue • SQL语句并发控制 • 基于cost的并发控制 • 基于priority的CPU控制 • 内存控制 2017 年象行中国(杭州 站)第一期 Running Example • CREATE RESOURCE QUEUE rq WITH ( active_statements ROLE r1 RESOUCE QUEUE rq; • SELECT * FROM gp_toolkit.gp_resqueue_status; 2017 年象行中国(杭州 站)第一期 内存控制 • virtual memory note keeping (gp_malloc) • statement_mem • gp_resqueue_memory_policy • work_mem & Runaway Detector 2017 年象行中国(杭州 站)第一期 Resource Queue • Deadlock – active_statements => ‘等待’ – SQL级并发控制 => 可能持有锁 – 拿着锁等待 => 环状等待 – Tx1: LOCK tbl; -- AccessExclusiveLock Tx2: INSERT INTO tbl; -- RowExclusiveLock0 码力 | 21 页 | 756.29 KB | 1 年前3Greenplum分布式事务和两阶段提交协议
实现对A、I、D三个属性的支持 Isolation 隔离性 多个事务并发地执行,对每个事务来说,它并 不会感知系统中有其他事务在同时执行。 多版本并发控制Multi-Version Concurrency Control、 两阶段加锁(Two Phase Locking, 2PL)、乐观并发控制 (OCC) Durability 持久性 一个事务在提交之后,该事务对数据库的改变 是持久的。 Write Ahead Logging Hector Garcia-Molina /Jeffrey D.Ullman/Jennifer Widom《数据库系统实现》 查询编译器/ 优化器 事务管理器 DDL编译器 执行引擎 日志和恢复 并发控制 索引/文件/ 记录管理器 缓冲区管理器 缓冲区 锁表 存储管理器 存储 查询计划 对索引、文件和 记录的请求 页命令 事务命令 查询、更新 用户/ 应用 DDL命令 数据库管理员 恢复成功后,删掉pg_twophase目录下的文件 《数据库系统概念》19.4.1.3节,参与者在响应prepare消息之前记录32 Greenplum实现分布式事务与并发控制 • 分布式事务管理 • 分布式事务的创建、状态迁移等 • QD向QE发起两阶段提交 • 分布式快照 • QD向QE发送全局快照信息 • Writer QE和Reader QE共享本地快照信息 0 码力 | 42 页 | 2.12 MB | 1 年前3Greenplum介绍
server(gpfdist),可 以达到1小时装载2T数据。 GP的工作负载的资源控制 GP提供了对工作负载和资源控制的功能。 在GP可以建一个资源队列(resource queue),然后把 用户加入到这个队列中,然后就可以控制: 1. 所有活动的SQL的cost值最多是多少? 2. 活动的SQL最多是多少个 3. 控制活动的SQL的优先级(4.0的新功能) GP的查询处理 用户提交一0 码力 | 38 页 | 655.38 KB | 1 年前3完全兼容欧拉开源操作系统的 HTAP 数据平台 Greenplum
........................................................................................... 10 并发控制优化 ................................................................................................ 这项技术对性能提升特别是 Update 和 Delete 至关重要。锁是数据库中实现并发控制的重要技术,随之而来的死锁 处理。Greenplum 创新性的采用了分布式死锁检测,更新删除表的锁级别已降低,支持并发更新删除操作,大大提 升了处理性能。 并发控制优化 Greenplum 6 除了全局死锁检测,还引入了多项其他并发控制优化方法,这些优化对 SELECT 和 INSERT 提升比较 大。一个优化有关0 码力 | 17 页 | 2.04 MB | 1 年前3Greenplum数据仓库UDW - UCloud中立云计算服务商
jdbc、odbc、php、python、psql 等⽅式来访问 udw。图形化的 pgAdmin、SQL Workbench/J 等⼯具 1.1 psql 客户端⽅式访问 客户端⽅式访问 下载 psql 客⼾端(或者通过控制台下载 udw 客⼾端) yum install postgresql.i686 (32位系统) yum install postgresql.x86\_64 (64位系统) psql -h hostIP(或域名) Greenplum数据仓库 UDW Copyright © 2012-2021 UCloud 优刻得 131/206 表膨胀 表膨胀 表膨胀的原因 表膨胀的原因 udw的存储实现(MVCC-多版本并发控制)来⾃于Postgres。根据MVCC的原理,没有办法直接更新数据(更新操作(update)是通过先删除(delete)再插⼊(insert)实现的),被更新之前的⾏ 数据仍然在数据⽂件中。 如何避免表膨胀 是由 Airbnb(知名在线房屋短租公司)开源的数据分析与可视化平台(曾⽤名Caravel、Panoramix),该⼯具主要特点是可⾃助分析、⾃定义仪表盘、分析结果可视化 (导出)、⽤⼾/⻆⾊权限控制,还集成了⼀个 SQL 编辑器,可以进⾏ SQL 编辑查询等。 部署 部署 SuperSet 以 Centos 64 操作系统为例(其他操作系统可参考:http://airbnb.io/superset/installation0 码力 | 206 页 | 5.35 MB | 1 年前3Greenplum 精粹文集
带来高效数据更新能力等还有很多方面,Postgresql 似 乎在这些 OLAP 功能上都比 mysql 更甚一筹。 5) Postgresql 许可是仿照 BSD 许可模式的,没有被大公司控制,社区 比较纯洁,版本和路线控制非常好,基于 Postgresql 可让用户拥有 更多自主性。反观 Mysql 的社区现状和众多分支(如 MariaDB), 确实有些混乱。 Big Date2.indd 5 16-11-22 16-11-22 下午3:38 Greenplum 精粹文集 15 2) 功能上的对比 MPP 数据库采用 SQL 作为主要交互式语言,SQL 语言简单易学, 具有很强数据操纵能力和过程语言的流程控制能力,SQL 语言是专 门为统计和数据分析开发的语言,各种功能和函数琳琅满目,SQL 语言不仅适合开发人员,也适用于分析业务人员,大幅简化了数据 的操作和交互过程。 而对 MapReduce 编程明显是困难的,在原生的 MPP 数据库 SQL-On-Hadoop 不擅长于交互式(interactive)的 Ad-hoc 查询, 大多通过预关联的方式来规避这个问题;另外,在并发处理方面的能 力较弱。高并发场景下,需要控制计算请求的并发度,避免资源过载 导致的稳定性问题和性能下降问题。 3) 架构灵活性的对比 前面提到,为保证数据的高性能计算,MPP 数据库节点和数据之 间是紧耦合的,相反,Hadoop 的节点和数据是没有耦合关系的。0 码力 | 64 页 | 2.73 MB | 1 年前3
共 18 条
- 1
- 2