首先第一部分我讲解一下PolarDB-X和Mysql的一些实践,第二部分我讲一些PolarDB-X与MySql的对比分析
1. PolarDB-X的使用
首先安装Docker命令
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
然后进行启动
systemctl start docker
接下来我们通过Docker命令来安装PolarDB-X数据库
docker run -d --name some-polardb-x -p 8527:8527 polardbx/polardb-x:2.1.0
PolarDB-X支持通过MySQL Client命令行、第三方客户端以及符合MySQL交互协议的第三方程序代码进行连接。
接下来我们安装MySql,使用yum命令进行安装
yum install mysql -y
如果安装成功的话我们可以看一看数据库的版本,这个通过version命令即可查看
最后我们进行PolarDB-X数据库的登录
mysql -h127.0.0.1 -P8527 -upolardbx_root -p123456
登录之后我们就可以进行相应的数据库的开发操作,这款数据库对开发者而言是十分友好的,欢迎大家使用.
2. MySql数据库
以下是我写的一个比较完备的语法正确的数据库表,欢迎大家的使用
CREATETABLE `sys_numberkey_info` ( `number_key_id` BIGINT(20)NOTNULL AUTO_INCREMENT COMMENT '数字钥匙ID', `number_key_code` VARCHAR(255) DEFAULT '' COMMENT '数字钥匙识别码', `number_key_user` VARCHAR(255) DEFAULT '' COMMENT '用户信息', `number_key_vehicle` VARCHAR(255) DEFAULT '' COMMENT '车辆信息', `number_key_status` CHAR(1) DEFAULT '0' COMMENT '数字钥匙状态(0冻结 1解冻)', `create_time` DATETIME DEFAULT NULL COMMENT '创建时间', `number_key_date` DATETIME DEFAULT NULL COMMENT '数字钥匙有效期', PRIMARY KEY (`number_key_id`) USING BTREE ) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='数字钥匙表'
3. 两款数据库的对比分析
与PolarDB不同,PolarDB-X是一个真正的分布式服务。他的计算节点CN,数据节点DN都是可以进行扩容的。相较与MySQL的服务架构,PolarDB的DBServer可以认为就是MySQL本身,而DataServer则是文件服务。而PolarDB-X的CN节点可以认为是MySQL的Server部分,DN节点为MySQL的InnoDB部分。与PolarDB的主从架构不同,PolarDB-X的计算节点是完全分布式的。DN节点基于Paxos提供数据高可靠、强一致保障。同时通过MVCC维护分布式事务可见性。且DN支持PB级别的数据量.PolarDB-X将数据表以水平分区的方式,分布在多个存储节点(DN)上。数据分区方式由分区函数决定,PolarDB-X支持哈希(Hash)、范围(Range)等常用的分区函数。PolarDB-X支持并行计算,将SQL拆分为不同的Task分配给多个CN,并行计算。
从MySQL迁移至PolarDB-X的理由:
PolarDB-X将兼容MySQL以及周边生态作为核心设计目标之一。兼容MySQL协议,兼容绝大部分MySQL函数。PolarDB-X作为分布式服务,在可支撑并发量及容量上都是可以线性扩展的。
迁移成本:
- PolarDB 100%兼容MySQL协议,不需要改变客户端
- 学习成本低,除了部分由于分布式导致的SQL使用限制
- 由云完全托管,没有新的运维成本开销。
- 历史数据可以通过相关工具自动迁移至PolarDB-X。
4. 总结
要是我理解正确的话,这款数据库对于开发者是十分友好的,强烈推荐大家使用,大家可以不用考虑版本问题,比如我现在的使用Mysql 8.0.23版本,这个版本的数据库可太不稳定了,很多语句在Mysql 5.7版本可以运行,但是在Mysql 8.0版本却会出现各种各样的Bug,这就让人很烦恼了,而PolarDB-X是兼容的,这一点深受我的喜欢.
我想提出的建议就是是否官方可以直接推出兼容数据库以及桌面的数据库操作软件,方便大家使用,并进行大量的推广,不然大家都不知道还有这么个东西.