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帮你节省掉,你只需要将大部分精力专注在业务开发上。