Greenplum Database 管理员指南 6.2.1......................................................................................... - 265 - 内存容量 ................................................................................................ ......................................................................................... - 375 - 内存管理 ................................................................................................ .............................. - 386 - 操作系统内存参数配置 .......................................................................................... - 387 - 共享内存设置 ..........................................0 码力 | 416 页 | 6.08 MB | 1 年前3
Greenplum 精粹文集hash join 是必备的利器,缺少这些关键功能非常致命,将难于在 OLAP 领域充当大任。我们最近对基于 MYSQL 的某内存分布式数据库做 对比测试时,发现其优点是 OLTP 非常快,TPS 非常高(轻松搞定 几十万),但一到复杂多表关联性能就立马下降,即使其具有内存 计算的功能也无能为力,就其因估计还是受到 mysql 在这方面限制。 3) 扩展性方面,Postgresql 比 mysql 下午3:38 Greenplum 精粹文集 7 Greenplum 采用 Postgresl 作为底层引擎,良好的兼容了 Postgresql 的 功 能,Postgresql 中 的 功 能 模 块 和 接 口 基 本 上 99% 都 可 以 在 Greenplum 上 使 用, 例 如 odbc、jdbc、oledb、perldbi、python psycopg2 等,所以 Greenplum 仅 只 是 简 单 的 等 同 于 “Postgresql+interconnect 并行调度 + 分布式事务两阶段提交”, Greenplum 还研发了非常多的高级数据分析管理功能和企业级管理模 块,如下这些功能都是 Postgresql 没有提供的: ·外部表并行数据加载 ·可更新数据压缩表 ·行、列混合存储 ·数据表多级分区 ·Bitmap 索引 ·Hadoop 外部表 ·Gptext0 码力 | 64 页 | 2.73 MB | 1 年前3
Greenplum上云与优化from customer where status = valid group by city 列存与压缩原理举例 ….. ….. Name Id status city 列存块 ….. 列存块 列存 ≈索引 + index only 2016Postgres中国用户大会 GP vs. Hadoop? Orca优化器 SQL Runtime 本地存储 >5-30倍的性能优势 查看所有连接信息 杀连接 创建和删除插件 2016Postgres中国用户大会 解决OOM问题 实例的OOM有时很频繁,同时OOM很难提前监控 我们的办法 利用外部脚本监控cgroup中的内存统计 发生内存水位较高时,将实例移入公共 cgroup;同时发出cancel query信号给内核 水位下降时移回实例的cgroup 2016Postgres中国用户大会 Linux Box CGroup0 码力 | 26 页 | 1.13 MB | 1 年前3
Greenplum on Kubernetes
容器化MPP数据库○ Vertica Eon Mode ● 容器化数据库+Kubernetes ○ Apache Spark ○ CockroachDB ○ Apache HAWQ 云数据库存储方案 ● 块存储 ○ 文件系统接口 ● 对象存储 ○ 成本低 ○ 扩展性强 ○ 访问延迟高 Greenplum on Kubernetes Network Interconnect Standby (Mirror) 容器化Greenplum ? + = 容器化Greenplum ● 容器粒度 ○ Segment主机 VS. Segment实例 ● 容器资源分配 ○ CPU ○ 内存 ○ 磁盘 ● 容器间网络互联 ○ 本机网络 ○ 跨机网络 ● 容器化Greenplum部署策略 ○ Master部署策略 ○ Primary Segment部署策略 ○ Mirror 容器化Greenplum存储管理 ○ 容器本地存储易失性 容器化Greenplum ● 容器粒度 ○ Segment主机 VS. Segment实例 ● 容器资源分配 ○ CPU ○ 内存 ○ 磁盘 ● 容器间网络互联 ○ 本机网络 ○ 跨机网络 ● 容器化Greenplum部署策略 ○ Master部署策略 ○ Primary Segment部署策略 ○ Mirror0 码力 | 33 页 | 1.93 MB | 1 年前3
Greenplum 新一代数据管理和数据分析解决方案CPU 共4core, 16GB;SUN X4200一台,2路dual-core CPU 共4core,8GB – 存储平台:每台X4500中各48块500GB硬盘,共96 * 500GB – 网络平台:每台X4500和X4200上各有4块千兆网卡 – 软件平台:Solaris 10 + GreenPlum v3.1 Beta – 应用软件:SQL语句 • 数据导入测试 – A - 67858566 Facts • 6台华为-赛门铁克T3500服务搭建数据库阵列 • 每台T3500服务器可以自带24TB硬盘 • 每台服务器含有两个四核的CPU(8 Intel X5560) • 每台机器含有32GB内存 • 每台机器配置6个千兆网口 • Raid10 • Solaris 10 网站日志 交易数据 详细数据 Greenplum •海量基础数据 •大数据量查询 Oracle 加工数据0 码力 | 45 页 | 2.07 MB | 1 年前3
Greenplum数据仓库UDW - UCloud中立云计算服务商语法: ANALYZE [VERBOSE] [ROOTPARTITION [ALL] ] [table [ (column [, ...] ) ]] 命令: BEGIN 描述: 开始⼀个事务块 语法: BEGIN [ WORK | TRANSACTION ] [ 事务模式] [ READ WRITE | READ ONLY ] 事务模式为下⾯之⼀: ISOLATION LEVEL UNCOMMITTED} 命令: SHOW 描述: 显⽰运⾏时参数值 语法: SHOW 参数名 SHOW ALL 命令: START TRANSACTION 描述: 开始⼀个事务块 语法: START TRANSACTION [ 事务模式 [, ...] ] 事务模式为下⾯之⼀: 开发指南 Greenplum数据仓库 UDW Copyright © 2012-2021 UDW Copyright © 2012-2021 UCloud 优刻得 129/206 做哈希分布。 在MPP环境下,查询的执⾏时间是由所有节点决定的。当数据出现倾斜时,会导致较低的性能以及内存溢出的情况。 当选择分布键时,考虑以下⼏个⽅⾯: 1. 为所有的表显⽰地指定哈希或随机分布,不要使⽤默认的。 2. 理想的情况下,使⽤⼀个可以将数据均匀分布在各个节点上的字段作为分布键。 3.0 码力 | 206 页 | 5.35 MB | 1 年前3
Pivotal Greenplum 最佳实践分享 kernel.shmmax = 1000000000 kernel.sem = 250 512000 100 2048 Redhat 6.2以后,内核增加了hugepage大页内存管理,关闭hugepage可以提高混合负载管理性能 设置办法:修改local脚本 For SUSE /etc/init.d/boot.local For RHLE /etc/rc gp_autostats_on_change_threshold 5000000 5000000 gp_vmem_protect_limit 32768(64G内存时,其他配置 依据实际内存进行调整) 16384(64G内存时,其他配置 依据实际内存进行调整) gp_segment_connect_timeout 10min 10min log_min_duration_statement Vacuum:标记垃圾空间为可再利用 Vacuum用于将数据表垃圾空间标记到FSM(自由空间映射),一般也不回收空间,当往该表插入新数据时,数据库会重 新这些空间。 FSM驻留在内存中,FSM的大小必须足够标记数据库中的所有过期记录。如果尺寸不够大,超出自由映像空间的过期记录 占用的空间将无法被VACUUM命令标记。可通过修改max_fsm_pages、max_fsm_relations放大这些参数0 码力 | 41 页 | 1.42 MB | 1 年前3
PostgreSQL和Greenplum 数据库故障排查1)增加物理内存或调整SWAP交换空间; 2)调整work_mem、max_connections参数; 2018年PostgreSQL中国技术大会 微信号:laohouzi999 3)使用更严格的内存提交策略overcommit_memory: 内核参数overcommit_memory ,指定内存分配策略 可选值:0、1、2。 0, 表示内核将检查是否有足够的可用内存供应用进程使用; ; 如果有足够的可用内存,内存申请允许;否则,内存申请 失败,并把错误返回给应用进程。 1, 表示内核允许分配所有的物理内存,而不管当前的内存 状态如何。 2, 表示内核允许分配超过所有物理内存和交换空间总和的 内存 2018年PostgreSQL中国技术大会 微信号:laohouzi999 2018年PostgreSQL中国技术大会 微信号:laohouzi999 5.故障排查步骤总结0 码力 | 84 页 | 12.61 MB | 1 年前3
Greenplum 排序算法问题一:分割阶段只需要顺序扫描一次外存,最简单的策略是读取外存数据,加 载到内存,当内存用满时,执行快速排序等内排序算法,生成一个顺串。之后清 空内存,继续读取外存数据,如此反复,直到所有外存数据处理完毕。该算法生 成的每一个顺串的大小都不会超过内存的大小,而顺串越小,合并阶段的代价 就越高,需要读取外存的次数也越多,有没有办法在分割阶段就生成大于内存 大小的顺串呢? 归并排序的三个问题 23 替换选择算法 替换选择算法 24 Knuth 5.4.1R替换选择算法: ● 1. 初始化阶段,读取输入元组至内存,并建立最小堆。 ● 2. 弹出堆顶元组,输出到顺串文件的缓冲区,并记录该元组的排序键为 lastkey。 ● 3. 读取新元组,如果元组排序键大于等于lastkey,插入堆顶,并调整堆,使其有 序。 ● 4. 如果新元组排序键小于lastkey,将该元组放入堆尾,并将堆的大小减1。 ● 5. 重复第2步,直至堆大小变为0。 根据排序算法类型,指向Tuplesortstate 或者Tuplesortstate_mk bool delayEagerFree 某个Segment的排序节点输出最后一条元组 后是否可以提前 释放内存 36 ● ExecSort: 从下层Outer节点读取所有元组,并传递给tuplesort模块进行排序 排序节点 37 TupleSort是排序节点的核心,算法主要阶段: ● 第一阶段0 码力 | 52 页 | 2.05 MB | 1 年前3
Greenplum资源管理器Greenplum数据库 2017 年象行中国(杭州 站)第一期 Resource Queue • SQL语句并发控制 • 基于cost的并发控制 • 基于priority的CPU控制 • 内存控制 2017 年象行中国(杭州 站)第一期 Running Example • CREATE RESOURCE QUEUE rq WITH ( active_statements = 6, CREATE 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 需要睡眠/唤醒机制 – Count + LWLock + Lock • Count:记录并发数 • LWLock:保护count • Lock:睡眠/唤醒,死锁检测,状态报告 – 维护Lock在共享内存的状态 – bug => lock table corruption => PANIC 2017 年象行中国(杭州 站)第一期 Resource Queue • Cost is tricky0 码力 | 21 页 | 756.29 KB | 1 年前3
共 19 条
- 1
- 2













