暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

分析智能平台VMware Greenplum 7 正式发布!

304
作者:IT邦德
中国DBA联盟(ACDU)成员,10余年DBA工作经验
擅长主流数据Oracle、MySQL、PG、openGauss运维
备份恢复,安装迁移,性能优化、故障应急处理等

文章目录

前言

2023年10月13日VMware中国研发中心宣布,VMware Greenplum 7 正式发布,目前使用GP的用户可进行升级体验。

📣 1.Greenplum 7 的新功能

在这里插入图片描述

✨ 1.1 整合衍生

开放源代码和 PostgreSQL 12 的衍生:VMware Greenplum 7 建立在开源代码的基础上,利用了现代 PostgreSQL 版本的功能、可靠性和灵活性。与前一版本相比,Greenplum 7 植根于 PostgreSQL 12,并整合了近5年以来 PostgreSQL 的发布版本。

✨ 1.2 多种索引类型

VMware Greenplum 7 支持多种索引类型,包括 B 树索引、哈希索引、位图索引、块范围索引、文本索引、地理空间索引和 AI 向量索引。该功能可优化数据检索和查询性能。Greenplum 查询优化器自 2009 年以来不断改进,在第 6 版中取得了良好的性能记录,在第 7 版中得到了扩展,提供了全面的索引选择支持。

✨ 1.3 增强数据联合

利用 PXF 增强数据联合:VMware Greenplum 7 中的平台扩展框架 (PXF) 经过改进,实现了卓越的数据联合。企业现在可以通过 JDBC 查询亚马逊简单存储服务 (S3) 对象存储、Hadoop 分布式文件系统 (HDFS) 和其他关系数据库中的数据集。它利用 PostgreSQL 的外来数据封装器 API 来并行访问远程数据源,提供抽象数据模型来管理远程数据的安全性和统计数据,以优化查询。

✨ 1.4 增强文本搜索

VMware Greenplum 7 扩展了文本搜索功能,同时支持词法搜索和人工智能驱动的语义搜索,以提供更准确的搜索结果。词法搜索支持基于关键字的传统文本搜索,对于语义搜索,则由人工智能和向量 embeddings 提供支持。

✨ 1.5 升级地理空间分析

Mware Greenplum 7 通过集成 PostGIS 版本 3 升级了地理空间分析功能。这一改进大大提高了地理空间查询的速度和特征丰富度。

✨ 1.6 行级安全权限

该功能是对 VMware Greenplum 中已有的基于角色的安全模型以及表级和列级权限的补充。

✨ 1.7 其他

1)用于增强数据建模的生成列: VMware Greenplum 7 中引入了生成列,从而改进了数据抽象和建模,解决了安全特征保留数据屏蔽等用例问题。
2)改进的 DBA 查询功能: Greenplum 7 对 DBA 查询功能进行了大量改进,
包括 UPSERT 支持、带有事务的用户定义函数,以及对ALTER TABLE的改进以减少数据重写。
3)增强的半结构化和非结构化数据分析: Greenplum 7 除支持 XML 文档外,还支持半结构化数据处理,如增强的 JSON 和数组数据处理功能。全文搜索和基于文本的词法搜索索引可实现高效的文本存储、索引和搜索。此外,向量嵌入可实现非结构化数据的浓缩和高效表示,允许跨多种语言对匹配的文档、图像和视频进行相似性搜索,包括多语言搜索。
4)PostgreSQL 扩展生态系统: 更全面的PostgreSQL 扩展支持,如高级密码检查、模糊字符串匹配、Hyperloglog、用于网络数据的 Ip4r、用于媒体数据的 Isn、纳秒时间戳、稀疏向量、用于透视的 Tablefunc、用于唯一标识符的 UUID 以及用于人工智能向量嵌入的 pg_vector,已全部支持。
5)先进的资源管理: Greenplum 7 引入了一系列高级资源管理功能。这些功能可确保在高负载情况下的稳健性能。
6)VMware vSphere 部署模型: Greenplum 7 可以参考推荐的架构部署在裸机或公共云环境中。也可利用Greenplum 7版本中提供的自动部署模式无缝集成到vSphere私有云环境中。
7)多数据中心灾难恢复解决方案: 作为多数据中心灾难恢复解决方案的一部分,数据通过事务日志归档进行复制,从而实现比 Greenplum 以前版本更高效、更低的恢复点目标(RPO)和恢复时间目标(RTO)灾难恢复解决方案。
8)新的扩展 PostgresML:提供新的用户定义函数,使用户可以在 VMware Greenplum 中使用数以万计的开源人工智能/机器学习预训练模型。

📣 2.VMware Greenplum 的优势

VMware Greenplum 为企业带来的众多优势可分为四个关键领域:灵活性、速度和规模、生产效率以及弹性。

✨ 2.1 灵活性

基础架构的多功能性:VMware Greenplum 在部署方面具有显著的灵活性,可兼容各种基础架构类型。它针对裸机、公有云和基于 vSphere 的私有云环境进行了优化。这意味着企业可以选择最适合其需求的基础架构,而无需牺牲性能或效率。
专用优化:Greenplum 提供专用的参考架构,确保无缝集成到不同的基础架构设置中,降低部署复杂性。

✨ 2.2 速度和规模

数据库内分析:
Greenplum 的数据库内分析功能大大加快了透视时间。这一功能意味着数据分析师和科学家可以直接在数据库中原地进行复杂的分析,而无需进行耗时的数据传输。
PB 级数据处理:
Greenplum 可处理海量数据,甚至是 PB 级数据。这确保了企业能够高效地分析和管理庞大的数据集,从其最大的数据存储库中获取洞察力。

✨ 2.3 生产效率

数据多样性:
Greenplum 擅长在单一平台上管理各种类型的数据。它能无缝处理结构化、半结构化和非结构化数据,包括文本、图像、视频、向量、地理空间信息、图形和语音数据。这种多功能性使企业能够整合数据源,无论数据存储在哪里,都能更轻松地对其进行分析。
数据可访问性:
Greenplum 能够处理和分析来自不同来源的各种格式的数据,从而减少了预处理和整合来自多个来源的数据所需的时间和精力,提高了工作效率。

✨ 2.4 弹性

成熟的基础:
Greenplum 建立在开源数据库 PostgreSQL 的基础之上,这是一个久经考验的成熟数据库平台。这提高了关键任务应用程序和数据工作负载的可靠性和稳定性。
增强安全性:
Greenplum 集成了增强的安全功能,可帮助企业保护数据安全。这包括身份验证机制、加密选项和访问控制。
企业支持:
Greenplum 提供强大的企业级支持,使企业能够获得管理和优化数据平台所需的协助。
灾难恢复:
通过远程灾难恢复等功能,Greenplum 提供了数据备份和恢复机制,最大限度地减少了灾难发生时的停机时间和数据丢失。

📣 3.GP集群部署准备

✨ 3.1 安装包下载

1.Greenplum 的 GitHub
https://github.com/greenplum-db/gpdb/releases
2.Pivotal官网
https://network.pivotal.io/products/vmware-greenplum

在这里插入图片描述

✨ 3.2 IP及实例规划

IP 主机名 端口 备注
172.18.12.10 mdw1 5432 Master host
172.18.12.11 mdw2 5432 Standby host
172.18.12.12 sdw1 主:6000-6003
镜像:7000-7003
segment host1,配置4个主实例+4个镜像实例
172.18.12.13 sdw2 主:6000-6003
镜像:7000-7003
segment host2,配置4个主实例+4个镜像实例
172.18.12.14 sdw3 主:6000-6003
镜像:7000-7003
segment host3,配置4个主实例+4个镜像实例
172.18.12.15 sdw4 主:6000-6003
镜像:7000-7003
segment host4,配置4个主实例+4个镜像实例

✨ 3.3 操作系统

[root@mdw1 /]# cat /etc/redhat-release CentOS Linux release 8.2.2004 (Core) [root@mdw1 /]# df -Th Filesystem Type Size Used Avail Use% Mounted on overlay overlay 447G 22G 407G 5% / tmpfs tmpfs 64M 0 64M 0% /dev tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup shm tmpfs 64M 0 64M 0% /dev/shm /dev/mapper/centos-root00 ext4 447G 22G 407G 5% /etc/hosts tmpfs tmpfs 1.9G 8.3M 1.9G 1% /run [root@mdw1 /]# free -m total used free shared buff/cache available Mem: 3770 1063 1375 67 1332 2357 Swap: 4995 0 4995 [root@mdw1 /]# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 7: eth0@if8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 02:42:ac:12:0c:0a brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 172.18.12.10/16 brd 172.18.255.255 scope global eth0 valid_lft forever preferred_lft forever

在这里插入图片描述

✨ 3.4 创建用户

注意:为所有节点创建gpadmin用户
groupadd -g 1530 gpadmin
useradd -g 1530 -u 1530 -m -d /home/gpadmin -s /bin/bash gpadmin
chown -R gpadmin:gpadmin /home/gpadmin
echo “gpadmin:jeames” | chpasswd

✨ 3.5 host设置

1. /etc/hosts设置 1个master+1个standby master,4个segment的集群示例,OS均为CentOS Linux release 8.2.2004 (Core) 注意:所有节点设置一致 cat >> /etc/hosts <<"EOF" 172.18.12.10 mdw1 172.18.12.11 mdw2 172.18.12.12 sdw1 172.18.12.13 sdw2 172.18.12.14 sdw3 172.18.12.15 sdw4 EOF 2. all_hosts设置 为所有节点创建一个all_hosts文件,包含所有节点主机名 su - gpadmin mkdir -p /home/gpadmin/conf/ cat > /home/gpadmin/conf/all_hosts <<"EOF" mdw1 mdw2 sdw1 sdw2 sdw3 sdw4 EOF 3.seg_hosts设置 为所有节点创建一个seg_hosts文件 ,包含所有的Segment Host的主机名 su - gpadmin cat > /home/gpadmin/conf/seg_hosts <<"EOF" sdw1 sdw2 sdw3 sdw4 EOF

✨ 3.6 配置互信

集群ssh免密,只在master节点 172.18.12.10 操作
su - gpadmin
ssh-keygen -t rsa
ssh-copy-id gpadmin@mdw1
ssh-copy-id gpadmin@mdw2
ssh-copy-id gpadmin@sdw1
ssh-copy-id gpadmin@sdw2
ssh-copy-id gpadmin@sdw3
ssh-copy-id gpadmin@sdw4

✨ 3.7 防火墙及安全服务

# 每个节点机器 root 用户操作关闭防火墙 yum install -y firewalld systemctl status firewalld systemctl stop firewalld systemctl disable firewalld ##每个节点机器 root 用户操作,禁用selinux cat /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=enforcing # SELINUXTYPE= can take one of three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted sed -i "s#^SELINUX=.*#SELINUX=disabled#g" /etc/selinux/config 注意:修改后记得重启

✨ 3.8 内核配置

cat /etc/sysctl.conf # kernel.shmall = _PHYS_PAGES / 2 # See Shared Memory Pages kernel.shmall = 197951838 # kernel.shmmax = kernel.shmall * PAGE_SIZE kernel.shmmax = 810810728448 kernel.shmmni = 4096 vm.overcommit_memory = 2 # See Segment Host Memory vm.overcommit_ratio = 95 # See Segment Host Memory cat > /etc/sysctl.conf <<"EOF" fs.file-max = 6815744 kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 kernel.shmall = 1073741824 kernel.shmmax = 4398046511104 kernel.panic_on_oops = 1 fs.aio-max-nr = 1048576 net.ipv4.ip_local_port_range = 9000 65500 EOF ##变量生效 sysctl -p

📣 4.安装GP

✨ 4.1 安装依赖

注意:所有节点均做操作,配置本地yum 1.创建挂载路径 mkdir -p /mnt/cdrom 2.挂载系统镜像光盘到指定目录 #因为光盘的格式通常是iso9660,意思是/dev/sr0挂载在/mnt/cdrom目录上 mount -t iso9660 /dev/sr0 /mnt/cdrom 3.修改yum源配置文件 ##编辑rhel8-local.repo文件,加入以下内容 [root@mdw1 ~]# cd /etc/yum.repos.d [root@mdw1 yum.repos.d]# vi rhel8-local.repo [localREPO] name=localhost8 baseurl=file:///mnt/cdrom/BaseOS enable=1 gpgcheck=0 [localREPO_APP] name=localhost8_app baseurl=file:///mnt/cdrom/AppStream enable=1 gpgcheck=0 4.配置好后重建本地缓存 yum clean all yum makecache yum repolist ##安装依赖包 yum install -y apr apr-util bash bzip2 curl iproute krb5-devel libcgroup-tools libcurl libevent libuuid libuv libxml2 \ libyaml libzstd openldap openssh openssh-client openssh-server openssl openssl-libs \ perl python3 python3-psycopg2 python3-psutil python3-pyyaml python39 \ readline rsync sed tar which zip zlib

✨ 4.2 安装rpm包

在所有节点操作,root用户操作
1.默认安装到/usr/local下
rpm -ivh open-source-greenplum-db-7.0.0-el8-x86_64.rpm
2.赋权,修改该路径gpadmin操作权限
chown -R gpadmin:gpadmin /usr/local/greenplum

✨ 4.3 目录创建

##创建目录,用作集群数据的存储目录,所有节点操作 mkdir -p /greenplum/data/ chown -R gpadmin:gpadmin /greenplum -- 所有节点 echo "/usr/local/greenplum-db/greenplum_path.sh" >> /home/gpadmin/.bashrc -- master配置 echo "export MASTER_DATA_DIRECTORY=/greenplum/data/master/gpseg-1" >> /home/gpadmin/.bashrc echo "export PGDATABASE=postgres" >> /home/gpadmin/.bashrc # 使配置文件生效 source /home/gpadmin/.bashrc

✨ 4.4 数据库初始化

在master节点操作:创建一个初始化副本 initgp_config,修改参数: -- 在所有节点操作 (在master节点创建master目录,在segment节点分布创建primary目录和mirror目录 或3个目录创建都可以 su - gpadmin -- master节点,Standby节点 mkdir -p /greenplum/data/master -- segment节点 mkdir -p /greenplum/data/primary mkdir -p /greenplum/data/mirror -- master节点配置,有几个segment节点就设置几个DATA_DIRECTORY cat > /home/gpadmin/conf/initgp_config <<"EOF" declare -a DATA_DIRECTORY=(/greenplum/data/primary /greenplum/data/primary) declare -a MIRROR_DATA_DIRECTORY=(/greenplum/data/mirror /greenplum/data/mirror /greenplum/data/mirror /greenplum/data/mirror) ARRAY_NAME="rptgp" SEG_PREFIX=gpseg PORT_BASE=6000 MIRROR_PORT_BASE=7000 MASTER_PORT=5432 MASTER_HOSTNAME=mdw1 MASTER_DIRECTORY=/greenplum/data/master DATABASE_NAME=rptgpdb MACHINE_LIST_FILE=/home/gpadmin/conf/seg_hosts EOF --在master节点操作,执行初始化命令 su - gpadmin gpinitsystem -c /home/gpadmin/conf/initgp_config -e=jeames -s mdw2 -P 5432 -S /greenplum/data/master/gpseg-1 -m 200 -b 256MB

在这里插入图片描述

欢迎关注我的公众号【IT邦德】,第一时间一起学习新知识!
————————————————————————————
公众号:IT邦德
CSDN :https://jeames.blog.csdn.net/
墨天轮:https://www.modb.pro/u/8580
知乎:https://www.zhihu.com/people/wang-ding-ding-71-72
bilibili:https://space.bilibili.com/660863136
————————————————————————————

image.png

最后修改时间:2023-10-14 22:05:46
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论