greenplum

本文详细介绍了Greenplum的Shared-Nothing架构、MPP处理能力及基于PostgreSQL的特性。讨论了其高可用性、扩展性和低成本优势,并提供了优化建议,包括查询转换、大表操作策略及资源管理。此外,还涵盖了数据分布、压缩、备份恢复以及锁管理等方面,强调了在实际应用中结合正规化和星型/雪花模型的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Shared-Nothing Architecture
MPP(Mussively Parallel Processing) 海量并行处理
基于postgreSQL8.2,增加并行处理,支持数据仓库,bi的特性
客户端支持:psql,pgadmin3,odbc,jdbc,perl,python
private computing cloud
超大规模:理论上支持10000以上节点
虚拟化:主流虚拟化技术
高可用性:多级容错,高可用mirror技术
通用性:支持多种工具
高可扩张:增加节点
按需服务:负载管理
低成本:x86架构PC Server

安装:内存8G默认
网络带宽是i/o的倍数
系统表:gp_segment_configretion
pg_filespace

侦听进程postgres
gp实例可以绑定cpu,一般用cpu的个数是实际的1/4,如24颗cpu可以建立6个实例
缺省的配置一个实例绑定4颗cpu
一个实例可以对应多个文件空间(默认一个),一个文件空间下可以有多个表空间,一个表空间占一个目录,为了使不同性能的磁盘分开用可以建立多个文件空间。
优化:
1.大表distinct 用户group by替代
2.union用户union all+group by
3.嵌套改连接查询
4.大表更新用户,外连接+插入+truncate 替代
5.大表删除用,外连接+插入+truncate 替代
6.尽量避免过程嵌套导致锁冲突,可以用别的语言进行总体调度,如shell,java,c等
7.避免使用游标,序列,循环对数据进行整体操作。
8.避免使用高度频繁建表删表操作,容易造成字典破碎和字典锁,通过临时表和其他语言方式代替。
9.大表的hash键定义是否保证每个segment存储均匀
10.为了加快开发建议每个开发人员装一个gp虚拟机。
11.运行大数据操作时,建议写成shell脚本后台测试
12.避免不正常中断,如不正常中断 pg_cancel_backend 等3-5分钟再继续操作,避免破坏数据字典
13.批量数据处理后,要vacuum analyze ‘table’

星型模型:多为一个实体表对应多张维表,实体表位于中心,角上对应维度。
特点:有冗余数据,查询效率较高,设计维护简单
雪花模型:是星型模型的衍化,多将维表扩展,介于第三范式和星型之间。是由于星型模式在组织数据时,为减少维表层次和处理多对多关系而对数据表进行规范化处理后形成的。
优点:减少存储空间,
缺点:比较复杂,不容易理解,额外的连接将使查询性能下降。
总结:正规化,数据冗余少效率低操作维护复杂,实际应用中两者结合。中间用雪花降低冗余度,数据集市用星型模型方便数据提取和分析
雪花eg:一张销售表,有一张产品维表与之关联,有一张产品类别维表与产品维表关联
星型eg:销售表,有一张产品维表与之关联,有一张用户信息表与之关联
解读GP分布策略:
hash分布:1个或数个列用做Distribution key (DK)
随机分布(Random):默认DK为第一列
GP查询计划:特有的操作motion(移动)
表的存储:
行存或列存:列存,必须是AO表,经常

<think>我们正在处理关于Greenplum数据库的查询。用户希望获得使用指南或部署教程。根据提供的引用,我们可以整合信息来回答。引用[1]提到了《Greenplum中文官方总结文档》,这是一个很好的起点,它包含核心功能、最佳实践和配置指南。引用[2]提供了安装步骤,其中包含了一个声明数据目录的示例命令。引用[3]讨论了高可用性,包括镜像和故障切换。引用[4]则给出了安装Greenplum集群管理控制台(GPCC)的具体命令。因此,我们可以将回答分为几个部分:1.安装前的准备:包括系统要求、环境配置等。2.安装步骤:参考引用[2]和[4]。3.高可用性配置:参考引用[3]。4.使用指南:参考引用[1]的官方文档。注意:由于引用内容有限,我们只能基于这些信息进行回答,并建议用户查阅官方文档获取更详细的信息。我们将按照以下结构组织回答:-安装前的准备-安装步骤-配置高可用性(可选)-使用Greenplum数据库的基本指南-推荐官方文档同时,根据指令,我们需要在末尾生成相关问题。注意:由于引用中并没有提供完整的安装步骤,我们只能根据片段进行描述,并提醒用户参考官方文档。开始回答:</think>### Greenplum数据库使用指南与部署教程 Greenplum是一款开源的**大规模并行处理(MPP)数据库**,专为大数据分析和处理设计。以下是关键使用指南和部署步骤: #### 一、部署流程 1. **环境准备** - 节点要求:至少1个Master节点 + 2个Segment节点(生产环境建议4+) - 系统配置: ```bash # 所有节点创建gpadmin用户 sudo groupadd gpadmin sudo useradd -g gpadmin -m gpadmin sudo passwd gpadmin ``` - 磁盘配置(参考引用[2]): ```bash declare -a DATA_DIRECTORY=(/data/greenplum/primary /data/greenplum/primary ...) ``` 2. **软件安装** - Master节点执行安装(引用[4]): ```bash ./greenplum-db-<version>.bin source /usr/local/greenplum-db/greenplum_path.sh ``` - 安装集群控制台(GPCC): ```bash ./greenplum-cc-web-<version>.bin source /opt/gpcc/greenplum-cc-web/gpcc_path.sh ``` 3. **集群初始化** - 配置`hostfile`包含所有节点IP - 初始化集群: ```bash gpinitsystem -c gp_init_config ``` #### 二、核心使用指南 1. **数据库操作** ```sql CREATE DATABASE analytics; -- 创建数据库 \c analytics -- 切换数据库 CREATE TABLE sales (...) DISTRIBUTED BY (id); -- 分布式表 ``` 2. **并行查询优化** - 数据分布策略:`DISTRIBUTED RANDOMLY`(随机)或`DISTRIBUTED BY`(哈希) - 利用分区表提升性能: ```sql CREATE TABLE logs (dt date) PARTITION BY RANGE (dt); ``` 3. **高可用配置**(引用[3]) - Segment镜像:通过`gpinitsystem`添加`-m`参数启用 - Master冗余: ```bash gpinitstandby -s standby_hostname ``` #### 三、运维管理 1. **监控工具** - GPCC控制台:`http://<master_ip>:28080` - 内置命令: ```bash gpstate -e # 查看镜像状态 gpcheckperf # 性能测试 ``` 2. **备份恢复** ```bash gpbackup -dbname mydb --backup-dir /backup gprestore --backup-dir /backup --timestamp 20230801 ``` > **官方文档推荐**:参考《Greenplum中文官方总结文档》[^1]获取详细配置案例和性能调优指南。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值