初识云数据库POLARDB及踩过的那些坑
POLARDB背景
POLARDB是阿里云自主研发的,具有里程碑意义的新一代关系型数据库,是与MySQL完全兼容的云托管数据库产品。它秉承Cloud Native的原生设计理念,采用了分布式存储引擎设计,性能最高可达到MySQL的6倍。在提供高吞吐、低延迟OLTP服务的同时,POLARDB以更低的使用成本,为用户提供更好的系统在线扩展服务。
---摘自POLARDB产品介绍文档
架构
cdn.com/5891207b220a7678752eeafb4eb586dcb5a3d91a.png">
架构的设计特点:
一写多读
计算与存储分离
读写分离
高速链路互联
共享分布式存储
数据多副本、支持Parallel-Raft协议
思考
: POLARDB
是阿里的技术体系演变过程中的一个优秀的产品,它的强大之处在于:将大规模数据的存储、同步和性能等难点,通过 POLARDB
的架构设计,将这些复杂的问题变得透明,让技术人员专注在业务的开发上。
体验POLARDB
依次打开
产品与服务
---云数据库 POLARDB
选择你所需要的配置
有预付费
和按量付费
,可以根据你的业务需求来具体选择。如果你的业务场景的用量比较稳定,可以选择预付费
,如果有弹性扩容的需求,可以选择按量付费
。
实例概要
POLARDB采用分布式集群架构,一个集群包含一个主实例和最多15个只读实例(确保高可用)。读写分离数据库接入功能,是POLARDB集群默认免费提供的一个透明、高可用、自适应的负载均衡能力。本次创建包含了一个主实例(负责读写)和一个只读实例(负责读)。
实例详细信息
集群概要
集群详细信息
创建账号
POLARDB初始账号只能在集群详情页设置,可用于登录到集群中的任意实例。
连接实例
VPC(Virtual Private Cloud):可以理解成内网,如果是从阿里的ECS连过来的,推荐使用VPC。注意:这个地址是自动生成的,且无法释放。
我们现在演示通过 VPC
和 公网
来连接POLARDB实例:
VPC网络
若使用ECS,推荐该种方式实例地址:pc-xxxxxxxxx.mysql.polardb.rds.aliyuncs.com:3306(xxxxxxxxx为你的实例配置id)端口:3306(默认,检查下ECS的防火墙配置是否开放了3306端口)账号:byronzoz 密码:xxxxxx
通过阿里云的RDS界面登录:
优点
:通过阿里云的RDS来登录,这种方式最简单,不需要安装任何客户端。
通过阿里云的ECS直连:
[byron@yanglaomap-prod ~]$ mysql -u byronzoz@pi-xxxxxx-pi-xxxxxx.mysql.polardb.rds.aliyuncs.com:3306
这种方式通过命令来直连,跟mysql操作没啥区别。
公网
实例地址:byronzoz-0.mysql.polardb.rds.aliyuncs.com端口:3306账号:byronzoz密码:xxxxxx
本次测试,我们用navicat客户端来连接,当然你可以采用mysql自带的client也是OK的。
提示:公网需要加入到白名单中,不然连接不过去,如我的公网IP为:171.221.xxx.xxx,这也是我踩过的坑~
建表玩转业务
各位看官们,这一块该你们发挥了...
总结
通过本文的简单介绍,你对POLARDB有一个初步的认识:
POLARDB是可以100%兼容mysql
POLARDB的架构设计
如何购买POLARDB产品
创建实例
创建账号
演示两种连接:VPC(通过阿里云RDS页面和ECS服务器)和公网(Navicat客户端)来连接实例
POLARDB
作为阿里云体系下的一个新成员,能与阿里云的产品迅速融合起来,包括 网络(VPC)
、 云服务器(ECS)
、 云数据库(RDS)
等,使用起来很方便,如果你是一个mysql老手,那你用POLARDB是可以非常快上手的,如果你是一个新手,按照教程step by step,也可以快速上手。
POLARDB
创新的架构设计,拥有很多是mysql数据库所不具备的或者需要花费很大精力才能具备的能力。如POLARDB创建实例后就默认具备了主从的多个实例,这些特性可以让开发人员专注业务上的实现,而不用关注数据库的水平扩展、存储、网络等耗费精力的事情。
当然,也有一些不足的地方:
白名单列表,公网连接下,需要设置白名单。这个有点繁琐,期望这个功能能进一步改进。如通过策略组的方式,而不是每个集群都配置一组白名单。
不能访问用户表。这个似乎限制了数据库的功能。
文档。很多开发者吐槽阿里云的技术文档(orz...):不规范更新慢,这个跟高大上的阿里云有点不匹配。期待未来的阿里云所有的云产品文档都是统一的格式/模板,这样阅读起来要更加容易些,而且建议要同步上英文文档(English Docs),毕竟已经走到国际化的道路上了。
有人会问了:我购买的ECS上面也能安装mysql,为什么要单独选择POLARDB?
原因很简单,你需要花费很长的时间和精力去做以下事情:
数据库网络和节点管理
主从配置
读写分离
数据库扩容
性能方面
数据容灾
......
你花费的这些时间,POLARDB帮你节省掉,你只需要将大部分精力专注在业务开发上。