千家信息网

初识云数据库POLARDB及踩过的那些坑

发表于:2024-11-25 作者:千家信息网编辑
千家信息网最后更新 2024年11月25日,POLARDB背景POLARDB是阿里云自主研发的,具有里程碑意义的新一代关系型数据库,是与MySQL完全兼容的云托管数据库产品。它秉承Cloud Native的原生设计理念,采用了分布式存储引擎设计
千家信息网最后更新 2024年11月25日初识云数据库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帮你节省掉,你只需要将大部分精力专注在业务开发上。


0