乐趣区

云数据库POLARDB优势解读之①——10分钟了解

什么是 POLARDB
POLARDB 是阿里云自研的下一代关系型分布式数据库,100% 兼容 MySQL,之前使用 MySQL 的应用程序不需要修改一行代码,即可使用 POLARDB。
POLARDB 在运行形态上是一个多节点集群,集群中有一个 Writer 节点(主节点)和多个 Reader 节点,他们之间节点间通过分布式文件系统(PolarFileSystem)共享底层的同一份存储(PolarStore)。
POLARDB 通过内部的代理层(Proxy)对外提供服务,也就是说所有的应用程序都先经过这层代理,然后才访问到具体的数据库节点。Proxy 不仅可以做安全认证(Authorization)和保护(Protection),还可以解析 SQL,把写操作(比如事务、Update、Insert、Delete、DDL 等)发送到 Writer 节点,把读操作(比如 Select)均衡地分发到多个 Reader 节点,这个也叫读写分离。
POLARDB 对外默认提供了两个数据库地址,一个是集群地址(Cluster),一个是主地址(Primary),推荐使用集群地址,因为它具备读写分离功能可以把所有节点的资源整合到一起对外提供服务。主地址是永远指向主节点,访问主地址的 SQL 都被发送到主节点,当发生主备切换(Failover)时,主地址也会在 30 秒内自动漂移到新的主节点上,确保应用程序永远连接的都是可写可读的主节点。

如上图,底层一套存储,节省成本,是『合』;中间多个节点,提高扩展性,是『分』;上层一套代理层,统一入口,使用简单,也是『合』。如此『合 - 分 - 合』的架构,在扩展性和使用便捷性之间保持了平衡,使得对于上层应用程序来说,就像使用一个单点的 MySQL 数据库一样简单。
如何使用
POLARDB 部署在云端,创建时先选择使用的地域可用区和具体的 VPC 网络,然后指定节点的数量(从 2 个 到 16 个)和配置(从 2 核 到 88 核)即可,存储空间不用提前配置,也不需要关心容量大小,系统会根据实际的使用量自动收取费用。
创建过程可能持续 5 -10 分钟,然后配置好白名单、创建完高权限账号就可以使用了。逻辑 DB 和账号 User,可以在控制台创建,也可以通过高权限账号登录到数据库执行 SQL 创建,二者效果完全一样,没有区别。
如果您需要迁移老的数据库到 POLARDB,推荐使用 DTS。不管源库是在 RDS,还是在 ECS 自建 MySQL,甚至是在云下有公网地址可访问的 MySQL,都可以通过 DTS 做在线平滑迁移,停机时间 5 -10 分钟。
特点
除了可以像使用 MySQL 一样使用 POLARDB,这里还有一些传统 MySQL 数据库不具备的优势。

容量大最高 100T,不再因为单机容量的天花板而去购买多个 MySQL 实例做 Sharding,甚至也不需要考虑分库分表,简化应用开发,降低运维负担。
高性价比多个节点只收取一份存储的钱,也就是说只读实例越多越划算。
分钟级弹性存储与计算分离的架构,再加上共享存储,使得快速升级成为现实。
读一致性集群的读写分离地址,利用 LSN(Log Sequence Number)确保读取数据时的全局一致性,避免因为主备延迟引起的不一致问题。
毫秒级延迟——物理复制利用基于 Redo 的物理复制代替基于 Binlog 的逻辑复制,提升主备复制的效率和稳定性。即使是加索引、加字段的大表 DDL 操作,也不会对数据库造成延迟。
无锁备份利用存储层的快照,可以在 60 秒内完成 2T 数据量大小的数据库的备份。并且这个备份过程不需要对数据库加锁,对应用程序几乎无影响,全天 24 小时均可进行备份。
复杂 SQL 查询加速内置并行查询引擎,对执行时长超过 1 分钟的复杂分析类 SQL 加速效果明显。该功能需要额外连接地址。

本文作者:乙休阅读原文
本文为云栖社区原创内容,未经允许不得转载。

退出移动版