本文为您介绍POLARDB的常见问题及解答。

Q:什么是云数据库POLARDB版?

POLARDB是与MySQL、PostgreSQL、Oracle引擎兼容的云原生关系型数据库,经过阿里巴巴双十一活动的最佳实践,让用户既享受到开源的灵活性与价格,又享受到商业数据库的高性能和安全性。

POLARDB是为业务变化快,数据量激增,高并发场景而设计的数据库。单实例存储高达100TB、百万QPS,可扩展至16个节点,性能可提升至传统MySQL的6倍,而成本降低30%-50%。帮助您实现分钟级的配置升降级和弹性扩展、秒级故障恢复、全局数据一致性,使其具备商业数据库的高性能和安全性。

2008年起,POLARDB替换阿里巴巴生态系统中的传统Oracle数据库,支撑了阿里巴巴双十一活动中98%的业务订单。在2018年双十一当日,支撑了秒级突增122倍的交易订单负载,成为阿里巴巴集团核心产品。

Q:为什么选择云数据库POLARDB版?

企业IT和互联网技术的发展使企业与客户的互动越发频繁,而交互数据作为重要资产则呈现出指数级的增长。您可能面临以下的挑战:

  • 数据量瓶颈

    传统MySQL数据库,数据增长过TB后需要定期扩容、迁移、拆表,不仅开发成本高,还可能会造成业务中断。由于物理磁盘限制以及备份等策略,数据库的数据量大小通常不超过3TB,太大的实例将是运维的灾难。

  • 扩展难

    传统只读实例备份技术,读写实例和只读实例各自拥有一份独立的数据,新建一个只读实例需要重新拷贝数据,考虑到网络限流速度受限,将极大影响只读实例的快速扩展。

  • 数据一致性和可用性难保证

    传统读写实例和只读实例通过增量逻辑数据同步,读写实例上所有的命令需要在只读实例上重新执行一次,导致主备延迟非常普遍,这不仅会影响应用从备库读取数据的一致性,也影响各种切换任务和集群可用性。

POLARDB通过阿里巴巴十年双十一技术的沉淀,在技术与性能上不断提升,帮助您既享受到开源数据库的灵活性,又享受到商业数据库的高性能,且价格更低。

  • 支持数据海量存储

    POLARDB支持最大容量100T,最多可横向扩展16个节点,每个节点最高88 vCPU,Serverless分布式存储空间根据数据量自动伸缩,且仅须为实际使用的容量付费。

  • 极速弹性应对突增负载

    采用计算&存储分离架构,摆脱CPU、内存和磁盘互相制约的困扰,对计算和存储节点进行了针对性优化,大幅提升了资源利用率与性能。高并发场景下相比传统MySQL性能最高提升6倍,单节点最高100万QPS,增加计算节点只需5分钟,快速弹性应对突发业务负载。

  • 数据安全可用

    POLARDB采用“一主多从”架构,同一实例的所有读写和只读节点都访问存储上的同一个数据副本,极大降低了用户的存储成本。可实现主备切换0数据丢失,彻底解决了异步复制带来的只读节点数据与读写节点数据非强一致缺陷,几分钟内即可扩展只读副本,备份和恢复数据。

  • 与多种数据库引擎兼容

    POLARDB完全兼容 MySQL,不需修改代码即可以迁移到阿里云的企业数据库平台。

    PostgreSQL/Oracle兼容引擎也即将在国际站上线。

Q:云数据库POLARDB版有哪些功能特性?


原理

POLARDB的功能特性主要有如下:

  • 计算节点与存储节点分离
    • 计算节点:主要承担SQL解析以及存储引擎计算。
    • 存储节点:使用存储集群的方式,主要承担数据块存储和数据库快照。

    计算存储分离,摆脱了计算节点CPU、内存和存储节点磁盘互相制约的困扰,POLARDB对计算层关注CPU与内存性能的优化,对存储层关注低成本的存储实现,各自进行了针对性优化,提升资源利用率与性能。

    而计算节点和存储节点之间通过RDMA网络连接,保证数据的传输不会出现瓶颈。

    与传统MySQL在购买的时候需要指定购买的磁盘大小不同,POLARDB实现计算存储分离后,存储单独购买,可按量付费,也可选择不同规格的存储包。新增只读实例仅需要付出计算的成本,不需要单独增加存储成本。

  • 共享存储

    与传统MySQL一个实例一份数据拷贝不同,POLARDB同一个实例的所有节点(包括读写节点和只读节点)都访问存储节点上的同一份数据,由于只读实例的扩展不需要拷贝数据,创建新的只读实例不但速度快,而且很便宜,您仅需要支付相应计算节点的成本。

  • RDMA(Remote Direct Memory Access)网络和备份优化

    借助优秀的RDMA网络以及最新的PAXOS块存储技术,POLARDB的数据备份耗时可以做到秒级,服务器宕机后无需搬运数据,重启进程即可恢复服务。

    此外,POLARDB使用了Copy On Write技术,实现秒级快照,分钟级全量备份,轻松支持100T磁盘规格。

从RDS一键迁移POLARDB

目前POLARDB数据库内核支持从RDS for MySQL 5.6一键迁移到POLARDB,流程详见一键升级RDS for MySQL到POLARDB for MySQL

Q:为什么云数据库POLARDB版优于传统MySQL数据库?

  • 传统MySQL在购买时,需要指定购买的磁盘大小,通常不超过3TB。如果空间不够,需要升级磁盘空间,数据量大的实例升级可能需要几天的时间。POLARDB底层使用存储集群的方式,磁盘动态扩容,磁盘扩容过程对用户无感知,且扩容不需要停止实例。
  • 传统MySQL新增只读实例需重新拷贝数据,扩容速度受限于数据拷贝延迟。POLARDB自带一个只读实例,多节点共享存储,因此增额外只读实例,不需要重新拷贝数据,可以实现分钟级的快速弹性扩容。
  • 传统MySQL读写实例和只读实例各自拥有一份独立的数据,用户购买只读实例,不仅需要付出计算的成本,还需要付出存储资源的成本。POLARDB的存储真正做到实际使用多少仅须支付多少的按量付费方式。

Q:云数据库POLARDB的产品定价?

有关云数据库POLARDB版产品定价的更多信息,请参见规格与定价

Q:POLARDB是否使用了计算和存储分离的设计思想?

POLARDB使用了计算和存储分离的设计思想,使得在高可用,备份恢复,升级扩展等方面带来体验的全方位提升。

Q:POLARDB最大支持的数据量?

POLARDB支持高达100TB的数据规模, 轻松应对海量数据业务需求。

Q:POLARDB如何进行故障自动切换?

购买POLARDB时,除主节点外,默认购买了一个只读节点。当主节点故障时,系统会自动切换到只读节点,只读节点提升为主节点,原来故障的主节点也会在后台自动进行恢复。同理,只读节点故障时,也会自动创建恢复新的只读节点。

Q:POLARDB采用什么备份方式?

POLARDB采用Snapshot的方式进行备份。

Q:POLARDB可以最多支持多少个只读节点?

POLARDB可以支持高达15个只读节点。

Q:创建一个只读节点通常需要多长时间?

由于采用了计算与存储分离的架构,增加一个只读节点通常在5分钟以内。并且,不会因为数据库数据量的变大,导致增加只读节点的耗时增加。

Q:POLARDB使用了什么高速网络协议?

POLARDB的数据库计算节点和存储节点之间,以及存储数据多副本之间,都使用了双25Gbps RDMA技术,提供低延迟、高吞吐的强劲I/O性能。