PolarDB 开源部署体验评测

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: PolarDB 开源部署体验评测

PolarDB 开源部署体验评测

引言

非常荣幸受邀参与PolarDB 开源部署评测,以下是参与评测过程中的安装过程、遇到的问题以及改进的建议。

PolarDB-X作为 PolarDB的分布式版本, 是由阿里巴巴设计的高性能、云原生数据库。采用存储计算分离的无共享架构, 支持集中式与分布式模式, 提供金融级数据的高可用性、可扩展性及混合负载支持, 同时保持MySQL兼容性, 实现高吞吐、大存储、低延迟及易扩展的服务。

PolarDB-X采用双层架构,CN用于SQL处理,DN用于分布式事务和高可用性存储。它还包括用于元数据管理和安全的GMS,以及用于MySQL Binlog兼容和复制功能的CDC。

操作前的准备工作

首先, 确保你的操作系统环境符合要求 (例如 CentOS 7.x 或 Ubuntu 18.04)。根据官方文档,需准备适当的硬件与软件资源,包括 JDK、GFlags、Glog、Protobuf 和 GTest 等依赖库。本指南采用源码编译方式进行安装,这有助于深入理解系统的内部运作。在准备系统环境的过程中可能耗时较久,需要耐心等待。

由于PolarDB-X 支持通过 PXD 工具在本地一键安装,因此这里我们采用通过 PXD 工具安装。

安装过程

首先通过 PXD 工具部署 PolarDB-X 数据库需要先安装 Python3 和 Docker。

1、检查Python3是否安装正确

yum update -y
yum install -y python3

2、检查Docker是否安装正确

docker ps

3、安装 MySQL 命令行工具

sudo apt-get install mysql-shell

4、安装 PXD

注意: 推荐使用 virtual environment 安装 PXD 工具

python3 -m venv venv
source venv/bin/activate

安装前建议先执行如下命令升级 pip

pip install --upgrade pip

执行如下命令安装 pxd:

pip install pxd

注: 部分国内用户从 pypi 下载包的速度较慢, 可以使用如下命令从阿里云的镜像安装:

pip install -i https://mirrors.aliyun.com/pypi/simple/ pxd

执行如下命令验证 pxd 是否安装成功:

pxd version

注意:如果执行上述命令报了如下错误:

Click discovered that you exported a UTF-8 locale but the locale system could not pick up from it because it does not exist.

请执行如下命令后重试:

export LC_ALL=en_US.utf-8
export LANG=en_US.utf-8

5、部署 PolarDB-X

部署 PolarDB-X 企业版集群

PolarDB-X 企业版是分布式架构集群,支持更大数据量,面向具备企业级超高并发、大规模数据复杂查询、加速分析的业务场景。

直接运行 pxd tryout 命令会创建一个最新版本的 PolarDB-X 企业版集群,其中 GMS, CN, DN, CDC 节点各 1 个:

pxd tryout

如果需要创建指定版本的实例,您可以通过如下命令获取 PolarDB-X 各个组件的最新镜像tag:

curl -s "https://polardbx-opensource.oss-cn-hangzhou.aliyuncs.com/scripts/get-version.sh" | sh

输出内容如下所示(以 PolarDB-X V2.4.0 版本为例):

CN polardbx/polardbx-sql:v2.4.0_5.4.19
DN polardbx/polardbx-engine:v2.4.0_8.4.19
CDC polardbx/polardbx-cdc:v2.4.0_5.4.19

通过如下命令,指定 CN,DN, CDC 节点的个数以及版本:

pxd tryout -cn_replica 1 -cn_version v2.4.0_5.4.19 -dn_replica 1 -dn_version v2.4.0_8.4.19 -cdc_replica 1 -cdc_version v2.4.0_5.4.19

tryout 模式创建的 GMS 和 DN 默认采用单副本模式,如果您想创建基于 Paxos 的三副本的集群,使用如下命令:

pxd tryout -leader_only false

注:三副本模式需要 pxd版本>=0.3.0

PolarDB-X 数据库创建完成后,会输出对应的连接信息:

注意:PolarDB-X 管理员账号的密码随机生成,仅出现这一次,请注意保存。

通过 MySQL Client 即可连接,执行如下 SQL 初步体验 PolarDB-X 的分布式特性。PolarDB-X SQL 详情请参考:SQL 概述

检查GMS

select * from information_schema.schemata;

创建分区表

create database polarx_example partition_mode='partitioning';

use polarx_example;

create table example (
id bigint(11) auto_increment NOT NULL,
name varchar(255) DEFAULT NULL,
score bigint(11) DEFAULT NULL,
primary key (id)
) engine=InnoDB default charset=utf8
partition by hash(id)
partitions 8;

insert into example values(null,'lily',375),(null,'lisa',400),(null,'ljh',500);

select * from example;

show topology from example;

检查CDC

show master status ;
show binlog events in 'binlog.000001' from 4;

检查DN和CN

show storage ;
show mpp ;

6、部署 PolarDB-X 标准版集群

PolarDB-X 标准版采用一主一备一日志的三节点架构,性价比高,通过多副本同步复制,确保数据的强一致性。面向具备超高并发、复杂查询及轻量分析的在线业务场景。

注:标准版集群创建依赖 pxd版本>=0.6.0

• 执行如下命令会创建一个最新版本的 PolarDB-X 标准版集群,其中 GMS, CN, CDC 个数为0,仅包含一个DN节点。

• pxd tryout -t standard

• tryout 模式创建的集群采用单副本模式,如果您想创建基于 Paxos 的一主一备一日志的三节点集群,使用如下命令:

• pxd tryout -t standard -leader_only false

PolarDB-X 数据库创建完成后,会输出对应的连接信息:

注意:PolarDB-X 管理员账号的密码随机生成,仅出现这一次,请注意保存。

通过 MySQL Client 即可连接。执行如下 SQL 体验PolarDB-X 标准版三节点架构的特性:

查询三节点的拓扑信息与状态

select * from information_schema.alisql_cluster_global;

查询三节点的延迟信息

select * from information_schema.alisql_cluster_health;

查看 PolarDB-X 状态

执行如下命令,查看当前环境的 PolarDB-X 列表:

pxd list

7、清理 PolarDB-X

执行如下命令,即可清理本地环境所有的 PolarDB-X:

pxd cleanup

8、非 root 用户如何获取 docker 权限

1.创建 docker 用户组,其实 docker 安装时会自动创建一个名为 docker 的用户组,可以通过查看 /etc/group 确认 docker 用户组的存在,如若不存在则手动创建 docker 用户组

sudo groupadd docker

2.添加当前非 root 用户到 docker 用户组中

sudo gpasswd -a ${USER} docker

3.将当前非 root 用户的 group 切换到 docker 用户组或者退出后重新登录

newgrp docker

4.执行 docker ps 验证

PolarDB-X 端口占用说明

目前本地测试模式,CN,DN,GMS 节点各会占用一个端口,该端口随机生成,如果因为端口冲突导致 PolarDB-X 创建失败,请执行 pxd cleanup 或者 pxd delete {集群名} 清理后重新创建即可。

部署过程体验:

本次部署流程顺畅,阿里云文档详尽清晰,新手也能快速掌握。通过控制台轻松完成ECS实例创建与ESSD云盘挂载。PolarDB-PG安装脚本自动化水平高,简化集群配置与初始化,尤其优化了读写分离配置过程,减少手动设置的复杂度。

性能评估:

ESSD云盘以卓越的IOPS和吞吐量超越普通云盘,对数据库等I/O密集型应用至关重要。压力测试显示,PolarDB-PG在高并发写入时表现出低且稳定的延迟,证实ESSD显著提升性能。此外,仅读节点得益于ESSD的高速读取能力,实现了近乎实时的数据访问。

高可用性验证:

在部署过程中,重点关注了PolarDB-PG的高可用性设计。通过利用ECS的可用区特性,实现了读写节点和只读节点的分散部署。模拟故障后,PolarDB-PG能快速自动切换到备用节点,保障服务连续性。ESSD云盘则加强了数据的持久性和可靠性,提升了整体系统健壮性。

总结:

综上,采用阿里云ECS+ESSD部署PolarDB-PG读写/只读节点,在性能、高可用性和成本效益间取得理想平衡,特别适合追求高性能与成本控制的企业应用。随PolarDB-PG社区发展,其开源领域竞争力将进一步提升。

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
打赏
0
3
3
1
296
分享
相关文章
PolarDB开源:云原生数据库的架构革命
本文围绕开源核心价值、社区运营实践和技术演进路线展开。首先解读存算分离架构的三大突破,包括基于RDMA的分布式存储、计算节点扩展及存储池扩容机制,并强调与MySQL的高兼容性。其次分享阿里巴巴开源治理模式,涵盖技术决策、版本发布和贡献者成长体系,同时展示企业应用案例。最后展望技术路线图,如3.0版本的多写多读架构、智能调优引擎等特性,以及开发者生态建设举措,推荐使用PolarDB-Operator实现高效部署。
172 2
PolarDB开源数据库入门教程
PolarDB是阿里云推出的云原生数据库,基于PostgreSQL、MySQL和Oracle引擎构建,具备高性能、高扩展性和高可用性。其开源版采用计算与存储分离架构,支持快速弹性扩展和100%兼容PostgreSQL/MySQL。本文介绍了PolarDB的安装方法(Docker部署或源码编译)、基本使用(连接数据库、创建表等)及高级特性(计算节点扩展、存储自动扩容、并行查询等)。同时提供了性能优化建议和监控维护方法,帮助用户在生产环境中高效使用PolarDB。
720 21
PolarDB开源:云原生数据库的新篇章
阿里云自研的云原生数据库PolarDB于2023年5月正式开源,采用“存储计算分离”架构,具备高性能、高可用及全面兼容性。其开源版本提供企业级数据库解决方案,支持MySQL、PostgreSQL和Oracle语法,适用于高并发OLTP、核心业务系统等场景。PolarDB通过开放治理与开发者工具构建完整生态,并展望更丰富的插件功能与AI集成,为中国云原生数据库技术发展贡献重要力量。
296 17
PolarDB开源进阶篇:深度解析与实战优化指南
PolarDB是阿里云开源的云原生数据库,采用计算-存储分离架构,结合高性能共享存储与Parallel Raft多副本一致性协议,实现微秒级延迟和卓越性能。本文深入解析其架构设计,涵盖智能调度层、性能优化技巧(如查询优化器调优和分布式事务提升)、高可用与容灾配置、扩展功能开发指南以及监控运维体系。同时,通过电商平台优化案例展示实际应用效果,并展望未来演进方向,包括AI结合、多模数据库支持及Serverless架构发展。作为云原生数据库代表,PolarDB为开发者提供了强大支持和广阔前景。
169 15
喜报|PolarDB开源社区荣获“2024数据库国内活跃开源项目”奖
喜报|PolarDB开源社区荣获“2024数据库国内活跃开源项目”奖
【瑶池数据库训练营及解决方案本周精选(探索PolarDB,参与RDS迁移、连接训练营)】(5.30-6.8)
本周精选聚焦数据库迁移训练营、快速连接云数据库RDS训练营及智能多模态搜索解决方案。为用户提供模拟教程与实战演练,学习RDS MySQL实例连接与数据管理技能,助力企业智能化发展。每周解锁数据库实战新场景,抓紧时间,精彩不容错过!
阿里云PolarDB与沃趣科技携手打造一体化数据库解决方案,助推国产数据库生态发展
阿里云瑶池数据库与沃趣科技将继续深化合作,共同推动国产数据库技术的持续创新与广泛应用,为行业生态的繁荣注入更强劲的技术动力。
阿里云PolarDB与沃趣科技携手打造一体化数据库解决方案,助推国产数据库生态发展
PolarDB开源数据库进阶课17 集成数据湖功能
本文介绍了如何在PolarDB数据库中接入pg_duckdb、pg_mooncake插件以支持数据湖功能, 可以读写对象存储的远程数据, 支持csv, parquet等格式, 支持delta等框架, 并显著提升OLAP性能。
247 3
PolarDB开源数据库进阶课15 集成DeepSeek等大模型
本文介绍了如何在PolarDB数据库中接入私有化大模型服务,以实现多种应用场景。实验环境依赖于Docker容器中的loop设备模拟共享存储,具体搭建方法可参考相关系列文章。文中详细描述了部署ollama服务、编译并安装http和openai插件的过程,并通过示例展示了如何使用这些插件调用大模型API进行文本分析和情感分类等任务。此外,还探讨了如何设计表结构及触发器函数自动处理客户反馈数据,以及生成满足需求的SQL查询语句。最后对比了不同模型的回答效果,展示了deepseek-r1模型的优势。
250 3
PolarDB开源数据库进阶课14 纯享单机版
PolarDB不仅支持基于“共享存储+多计算节点”的集群版,还提供类似开源PostgreSQL的单机版。单机版部署简单,适合大多数应用场景,并可直接使用PostgreSQL生态插件。通过Docker容器、Git克隆代码、编译软件等步骤,即可完成PolarDB单机版的安装与配置。具体操作包括启动容器、进入容器、克隆代码、编译软件、初始化实例、配置参数及启动数据库。此外,还有多个相关教程和视频链接供参考,帮助用户更好地理解和使用PolarDB单机版。
218 1

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等