01.greenplum数据库实施手册

  • 格式:doc
  • 大小:1.82 MB
  • 文档页数:72

Greenplum数据库实施手册北京汉端科技有限公司2009-5-15内部资料,禁止外传版本历史目录1产品概述 (8)1.1 Greenplum产品特点 (8)1.2 Greenplum产品基本架构及组成部分 (8)1.2.1 支持的客户端程序 (8)1.2.2 主机(master) (8)1.2.3 分系统(segment) (9)1.2.4 Segment和master之间的连接媒介(interconnect) (9)1.2.5 Greenplum高可用性(HA)架构 (9)1.3 Greenplum管理组件 (9)1.4 重要的数据库概念 (10)1.4.1 分区表 (10)1.4.2 数据查询机制 (11)2系统配置准备 (11)2.1 Greenplum对硬件的要求 (11)2.1.1 Greenplum的单软件解决方法优点 (11)2.1.2 Greenplum普遍的硬件考虑 (11)2.1.3 支持的认证的操作系统 (11)2.1.4 Segment的磁盘布局 (11)2.2 可作为参考的Greenplum系统配置 (12)2.2.1 硬件 (12)2.2.2 存储容量 (12)2.2.3 SunDW的设备规格 (12)2.2.4 SUN DW服务器配置规格详解 (12)2.2.5 SUN DW的设备具体配置 (13)2.2.6 主机规格(X4200) (13)2.2.7 Segment规格 (13)2.3 操作系统核心调整 (14)2.3.1 LINUX操作系统核心调整 (14)2.3.2 LINUX操作系统核心调整 (14)2.4 Greenplum系统硬件检验及测试 (15)2.5 可以估计系统存储容量的方面 (15)3安装与初始化......................................................................................... 错误!未定义书签。

3.1 不同服务器软件具体安装步骤................................................ 错误!未定义书签。

3.1.1 配置网络(master) (15)3.1.2 配置网络(segment) (16)3.1.3 系统参数设置(每台机器) (16)3.1.4 在master上安装greenplum (17)3.1.5 从master设置segment相关文件 (17)3.1.6 数据库初始化 (19)3.2 单机软件安装步骤 (19)3.2.1 配置网络 (19)3.2.2 系统参数设置 (20)3.2.3 安装greenplum (20)3.2.4 数据库初始化 (21)4服务器配置 (22)4.1 主机参数 (22)4.2 系统配置文件 (22)4.3 设置配置参数 (23)4.3.1 用户设定全局参数 (23)4.4 查看配置参数 (23)4.4.1 查看特定的配置参数 (23)4.4.2 查看所有的配置参数 (23)4.5 配置参数的种类 (23)4.6 基于主机的参数配置 (23)4.6.1 关于文件pg_hba.conf (23)5PSQL介绍 (23)5.1 通过psql连接数据库 (23)5.2 如何声明sql (24)5.3 Psql元命令 (24)6用户与权限 (24)6.1 关于用户和权限 (24)6.2 数据库用户 (24)6.3 关于用户组 (24)6.4 关于授权 (25)6.4.1 授权的特性 (25)6.4.2 可以分配的权限 (25)6.5 对于工作量的管理 (26)6.5.1 什么是greenplum工作管理 (26)6.5.2 资源序列 (26)7数据库定义语言 (27)7.1 数据库 (27)7.1.1 数据库处理 (27)7.1.2 psql数据库技巧 (27)7.2 schema (28)7.2.1 schema 的意义 (28)7.2.2 Schema的实施方法 (28)7.2.3 PSQL中Schema的实施技巧 (28)7.3 表 (28)7.3.1 表的特性 (28)7.3.2 表中的distribution key (28)7.3.3 数据库中表处理 (28)7.3.4 关于表的sql命令 (29)7.4 关于数据类型 (29)7.5 约束 (29)7.5.1 约束的种类 (29)7.6 函数 (29)7.6.1 转变函数(conversion) (29)7.6.2 Add函数 (29)7.6.3 Increment 函数 (30)7.6.4 包含多个输出参数的函数 (30)7.7 语言 (30)7.8 角色 (30)7.8.1 创建角色: (30)7.8.2 修改角色: (30)7.9 用户 (31)7.10 子类(operator class) (31)7.11 规则 (31)7.11.1 规则的创建模板 (31)7.11.2 创建注释 (31)7.11.3 规则创建样例 (31)7.12 试图 (31)7.13 索引 (32)7.14 序列 (32)7.14.1 序列基本操作 (32)7.14.2 序列样例 (32)7.15 触发器 (33)7.16 表空间 (33)8数据库查询语言与控制语言 (38)8.1 插入数据 (38)8.2 修改数据 (38)8.3 删除数据 (38)8.4 查询分析扩展数据 (38)8.4.1 关于分组查询 (38)8.4.2 Over函数的应用 (40)8.4.3 数据库的内置函数 (41)8.5 事务 (42)8.5.1 数据库中的事务执行语句 (42)8.5.2 Greenplum数据库中不支持的事务执行语句 (42)8.5.3 Sql语句中的事务的控制 (42)8.5.4 检查锁定冲突 (42)9PSQL命令在greenplum中的应用与否 (42)10数据库表分区介绍 (46)10.1 表分区描述 (46)10.2 建立表分区 (46)10.2.1 何时会建立分区表 (46)10.2.2 分区表建立样例 (47)10.3 分区表的维护 (48)10.3.1 增加一个表分区 (48)10.3.2 修改分区的名字 (48)10.3.3 删除表分区 (48)10.3.4 清空表分区 (48)10.3.5 分割分区 (48)10.3.6 分区表的限制 (48)11数据输出 (48)11.1 利用oracle工具sqluldr2到出数据至文本文档 (48)11.1.1 客户端要求 (48)11.1.2 sqluldr2的具体用法 (49)11.2 利用kettle将数据库数据输出至文本文档 (49)12数据装载 (50)12.1 外部表 (50)12.2 Gpfdist 的并行机制 (50)12.3 数据装载步骤 (50)12.3.1 Csv格式 (50)12.3.2 Txt格式 (51)12.3.3 自动调动sql文件 (51)12.4 外部表的错误处理 (51)12.5 Copy命令 (52)12.6 数据加载性能提示 (52)13数据库性能调优 (52)13.1 性能调优的相关介绍 (52)13.2 性能调优方法 (52)13.2.1 硬件问题或者segment停止 (52)13.2.2 资源分配 (53)13.2.3 数据库统计 (53)13.2.4 Segment之间不均衡的数据分布 (53)13.3 Sql语句的调优 (53)13.3.1 查看查询计划 (53)13.4 查询调优小结 (54)14系统管理 (54)14.1 启动和停止数据库 (54)14.2 查看数据库的状态 (54)14.3 查看数据分布情况 (54)14.4 查看磁盘空间的利用 (54)14.5 关于日志文件 (54)14.6 常规的数据库管理工作 (55)15镜像备份数据 (58)15.1 需要镜像备份数据的原因 (58)15.2 镜像备份的具体步骤 (58)15.3 备用主机数据 (59)15.3.1 备份机制 (59)15.3.2 备份步骤 (59)15.4 如何知道segment数据库无法使用 (59)15.5 Segment无法使用的原因 (59)16系统备份与恢复 (61)16.1 数据备份的并行机制 (61)16.2 数据库备份步骤 (61)16.3 非并行的数据库备份机制 (62)17数据库内部组织以及相关作用 (71)17.1 关于系统目录表的作用 (71)17.1.1 Greenplum中特有的目录表 (71)17.2 数据目录文件结构 (72)17.3 关于服务器进程 (72)17.3.1 Greenplum数据库主机监听进程 (72)17.3.2 Greenplum数据库segment监听进程 (72)1产品概述1.1Greenplum产品特点Greenplum是海量并行处理(MPP)的数据库管理系统,基于PostgreSQL 8.2之上,与PostgreSQL具有相似的客户端功能。

Greenplum 增加了支持并行处理的技术,增加了支持DW/BI 的功能,例如:外部表,资源管理,查询优化。

1.2Greenplum产品基本架构及组成部分1.2.1支持的客户端程序⏹psql⏹pgAdmin III⏹ODBC⏹JDBC⏹Perl DBI⏹Python⏹Libp1.2.2主机(master)Master是访问数据的入口,可以侦查数据库的进程,处理所有用户的连接,建立查询计划,协调工作处理,管理系统目录表和数据字典,不存放任何用户数据。

1.2.3分系统(segment)一个系统可以有多个segment,每个segment存放一部分用户数据,但是用户不能直接存取访问,所有对段的访问都要经过master,用postgres监听来自master的连接1.2.4Segment和master之间的连接媒介(interconnect)Interconnect是数据库之间的连接层,进行进程间的协调和管理,基于千兆以太网架构,属于系统内部丝网配置,支持两种协议:TCP ,UDP1.2.5Greenplum高可用性(HA)架构1.3Greenplum管理组件在$GPHOME/bin中存放数据库的管理文件,根据命令可以进行系统的启动和停止,系统的安装和初始化,数据侦查和恢复,备份和恢复,镜像和查看系统备份。

1.4重要的数据库概念1.4.1分区表1.4.1.1分区表的建立Ceeate table table_name (dt date,num int) distributed by (dt)1.4.1.2分区表的数据分布机制⏹进行分区后把相同的数据都分布到一个segment中⏹进行分区后按顺序分布到一个segment中1.4.2数据查询机制图解:主机进行查询的解析,信息分发到segment,通过数据的处理,把结果返回到master2系统配置准备2.1Greenplum对硬件的要求2.1.1Greenplum的单软件解决方法优点⏹为客户提供一个可以选择的软件平台⏹数据库的性能与硬件的性能紧密相连⏹在数据库运行的过程中可以验证硬件平台2.1.2Greenplum普遍的硬件考虑⏹Segment具有相同的硬件配置⏹Master的运行要求很快的cpu和很高的内存2.1.3支持的认证的操作系统⏹Solaris10(含带补丁)⏹Linux 4.x / 5.x⏹CentOS 4.x / 5.x2.1.4Segment的磁盘布局⏹每个segment都有一个cpu⏹用一个逻辑磁盘驱动器映射到文件系统⏹逻辑驱动器是应用一系列的物理磁盘(RAID)⏹Raid的层级选择依赖于raid-10或者raid5以及数据保护和磁盘容错要求2.2可作为参考的Greenplum系统配置2.2.1硬件⏹15个机架单位⏹一个master和4个segment⏹每台服务器要有16 400的SATA硬盘⏹2个SATA硬件控制器⏹分开控制器下的境像操作系统驱动器⏹Segment的总内存要达到64GB2.2.2存储容量⏹系统支持24TB的原始容量⏹在segment上要有6GB的主要数据的存储容量⏹启用镜像2.2.3SunDW的设备规格⏹可以选择的服务器配置规格:S1002, S1004, S1010, S1020, S1040⏹如果不考虑ETL主机服务器的型号可以是X4200⏹Segment服务器型号可以是X4500⏹应用ZFS的文件系统配置2.2.4SUN DW服务器配置规格详解2.2.5SUN DW的设备具体配置2.2.6主机规格(X4200)⏹双核AMD中央处理器⏹16 G内存⏹ 4 146的SAS驱动器⏹Solaris10,64位操作系统⏹文件系统:Solaris ZFS⏹磁盘阵列:RAID1⏹6以太的网络接口2.2.7Segment规格⏹双核AMD中央处理器⏹16GB内存⏹48 500 GB的SATA II的内部磁盘⏹Solaris10,64位操作系统⏹文件系统:Solaris ZFS⏹磁盘阵列:RAIDZ⏹6以太的网络接口2.3操作系统核心调整2.3.1LINUX操作系统核心调整2.3.1.1共享内存⏹kernel.shmmax = 500000000⏹kernel.shmmni = 4096⏹kernel.shmall = 4000000000⏹kernel.sem = 250 64000 100 512⏹vm.overcommit_memory=22.3.1.2网络⏹net.ipv4.tcp_tw_recycle=1⏹net.ipv4.tcp_max_syn_backlog=4096⏹dev_max_backlog=100002.3.1.3用户限制⏹最小的用户进程为131072⏹最少可以打开65536个文件⏹编辑/etc/security/limits.conf可以修改用户的限制2.3.2LINUX操作系统核心调整2.3.2.1网络配置文件编辑(/etc/rc2.d)⏹tcp_conn_req_max_q=4096⏹tcp_conn_req_max_q0=4096⏹tcp_largest_anon_port=65535⏹tcp_smallest_anon_port=4096⏹tcp_time_wait_interval=10002.3.2.2打开文件描述符编辑(/etc/system)⏹rlim_fd_max=262144⏹rlim_fd_cur=655362.3.2.3记忆内存文件编辑(/etc/system)⏹shmsys:shminfo_shmmax=0x2000000⏹semsys:seminfo_semmni=1024⏹配置完毕系统重新启动2.4Greenplum系统硬件检验及测试⏹测试磁盘输入/输出率(命令gpcheckperf)⏹测试内存宽带(命令gpcheckperf)⏹测试网络传输率(命令gpcheckperf)⏹验证操作系统环境(命令gpcheckos)⏹应力测试(命令bonnie++)2.5可以估计系统存储容量的方面⏹磁盘阵列⏹Segment镜像⏹文件系统的开销⏹磁盘容量建议为小于百分之七十⏹原始数据的大小加上数据库存储开销⏹每个segment实例要有20兆的元数据存储容量⏹数据库日志文件要保持在10兆的容量3Greenplum数据库安装3.1系统安装与运行环境需求3.1.1硬件要求数据库的性能与硬件的性能紧密相连。