PolarDB MySQL版是阿里巴巴自研的云原生HTAP数据库。PolarDB MySQL版100%兼容原生MySQL的多个版本,包括MySQL 5.6、MySQL 5.7和MySQL 8.0。PolarDB MySQL版的企业版基于云原生架构、计算存储分离、软硬件一体化设计,为用户提供具备超高弹性和性能、高可用和高可靠保障、高性价比的数据库服务。
产品架构
云原生数据库PolarDB基于Cloud Native设计理念,既融合了商业数据库稳定可靠、高性能、可扩展的特征,又具有开源云数据库简单开放、快速迭代的优势。产品架构如下:
图 1. 产品架构图
PolarDB MySQL版的产品架构具有如下特点:
一写多读
PolarDB采用分布式集群架构,一个集群版集群包含一个主节点和最多15个只读节点(至少一个,用于保障高可用)。主节点处理读写请求,只读节点仅处理读请求。主节点和只读节点之间采用Active-Active的Failover方式,提供数据库的高可用服务。
计算与存储分离
PolarDB采用计算与存储分离的设计理念,满足公共云计算环境下根据业务发展弹性扩展集群的刚性需求。数据库的计算节点(Database Engine Server)仅存储元数据,而将数据文件、Redo Log等存储于远端的存储节点(Database Storage Server)。各计算节点之间仅需同步Redo Log相关的元数据信息,极大降低了主节点和只读节点间的复制延迟,而且在主节点故障时,只读节点可以快速切换为主节点。
读写分离
读写分离是PolarDB集群版默认免费提供的一个透明、高可用、自适应的负载均衡能力。通过集群地址,SQL请求自动转发到PolarDB集群版的各个节点,提供聚合、高吞吐的并发SQL处理能力。请参见什么是读写分离。
高速链路互联
数据库的计算节点和存储节点之间采用高速网络互联,并通过RDMA协议进行数据传输,使I/O性能不再成为瓶颈。
共享分布式存储
多个计算节点共享一份数据,而不是每个计算节点都存储一份数据,极大降低了用户的存储成本。基于全新打造的分布式块存储(Distributed Storage)和文件系统(Distributed Filesystem),存储容量可以在线平滑扩展,不会受到单个数据库服务器的存储容量限制,可应对上百TB级别的数据规模。
数据多副本、Parallel-Raft协议
数据库存储节点的数据采用多副本形式,确保数据的可靠性,并通过Parallel-Raft协议保证数据的一致性。
核心功能
超级MySQL
- 100%兼容原生MySQL和阿里云RDS MySQL,您可以在不修改应用程序任何代码和配置的情况下,将MySQL数据库迁移至PolarDB MySQL版。
持续提供高价值特性:一写多读或多写多读、共享存储、60亿行数据稳定运行、秒级DDL、主从切换无闪断、闪回查询等。
原生HTAP一套系统同时支持交易和分析,降低开发和运维成本。
- 无需ETL,数据分析更实时更稳定。
多主多写(多主集群) - 所有节点同时支持读写服务,写负载可线性扩展。
节点之间切换5~10s,在途事务不中断。
全球多活容灾跨地域容灾,地域级故障可继续提供服务。
- 高资源利用率,容灾集群可提供读写服务。
- 全球本地化访问,提升业务性能。
为什么选择PolarDB MySQL企业版
您可以像使用MySQL一样使用PolarDB MySQL版。此外,PolarDB MySQL版还有传统数据库不具备的优势:
高性价比
- 硬件压缩盘(Smart-SSD)在不降速的情况下实现高压缩比,存储成本降低40%。
- 多个计算节点共享存储,新增只读节点时只需支付计算节点费用,大大降低扩容成本。
- 存储空间无需手动配置,根据数据量自动伸缩,只需为实际使用的容量付费。
超高弹性
- 分钟级增删节点,支持临时升降配;存储容量自动在线扩容,无需中断业务。
- Serverless秒级动态弹降,轻松应对不确定的业务波峰波谷场景。
超高性能
深度优化数据库内核,同时采用物理复制、RDMA高速网络和分布式共享存储,大幅提高性能,相比开源MySQL性能最大提升6倍。
- 高可用和高可靠保障,数据安全可靠
- 共享分布式存储的设计,彻底解决了主从异步复制所带来的备库数据非强一致的缺陷,使得整个数据库集群在应对任何单点故障时,可以保证数据零丢失。
- 数据多副本跨可用区部署,主节点故障后RTO<10s。
- GDN集群间数据延迟小于2秒,分钟级切换,支持异地多活容灾。全方位、多维度确保系统高可用。
- 采用白名单、VPC网络、数据多副本存储等全方位的手段,对数据库数据访问、存储、管理等各个环节提供安全保障。
无锁备份
利用底层分布式存储的快照技术,只需分钟级别即可完成对上TB数据量大小的数据库的备份,且整个备份过程不需要加锁,效率更高,影响更小。
PolarDB MySQL版目前支持集群版、多主集群(库表)、单节点和高压缩引擎(X-Engine)4种不同的产品系列。具体请参见企业版产品系列。
如何使用PolarDB MySQL版
您可以通过以下方式管理PolarDB MySQL版集群,包括创建集群、创建数据库、创建账号等。
- 控制台:提供图形化的Web界面,操作方便。
- CLI:控制台上所有的操作都可以通过CLI实现。
- SDK:控制台上所有的操作都可以通过SDK实现。
API:控制台上所有的操作都可以通过API实现。
创建PolarDB MySQL版集群后,您可以通过以下方式连接PolarDB MySQL版集群:DMS:您可以通过DMS连接PolarDB集群,在Web界面进行数据库开发工作。
- 客户端:您可以使用通用的数据库客户端工具连接PolarDB MySQL版集群。例如MySQL-Front、HeidiSQL等。