阿里巴巴开源的分布式数据库PolarDB-X凭借其高可用性、水平扩展能力和对云原生环境的出色适应性,成为了众多企业和开发者关注的焦点。尽管PolarDB-X最初设计时主要面向Linux环境,但随着技术的发展和社区的贡献,它也逐渐在Windows系统上展现出强大的兼容性和便捷的使用体验。本文将带您深入探索如何在Windows系统上体验PolarDB-X,感受其带来的高效数据管理魅力。
通过 PXD 工具部署 PolarDB-X 数据库需要先安装 Python3 和 Docker。下面给出wimdows操作系统的安装方式。
在 Windows 上准备测试环境
Windows 平台上一般使用 WSL 来运行 PolarDB-X。
1.安装 WSL,参考文档:https://docs.microsoft.com/en-us/windows/wsl/install ,使用默认的 Linux 发行版 Ubuntu
2.安装 Docker Desktop,参考文档:https://docs.docker.com/desktop/windows/wsl/
3.安装 Python3
如果你的机器上已经安装了 python3,可以跳过
apt-get install python3 apt-get install python3-venv
4.安装pip
apt-get install python3-pip
5.安装 MySQL 命令行工具,参考 MySQL 官方文档:Installing MySQL Shell on Microsoft Windows
安装 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
部署 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 的分布式特性。
# 检查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 ;
部署 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
清理 PolarDB-X
执行如下命令,即可清理本地环境所有的 PolarDB-X:
pxd cleanup
写在最后
随着技术的不断进步和社区的持续贡献,未来在Windows上的PolarDB-X体验无疑将更加完善和丰富。现在就开始你的PolarDB-X之旅,探索数据管理的新边界吧!