首页  »  亚马逊云科技解决方案  »  数据库  »  基于 Amazon Aurora 的分库分表方案

基于 Amazon Aurora 的分库分表方案

Amazon Aurora 的分库分表方案有何用途 ?

Amazon Aurora 作为亚马逊自研的云原生关系型数据库,除高性能、高可用外,还有良好可扩展性,包括存储扩展、读节点水平扩展以及读、写节点的垂直扩展。本方案通过 ShardingSphere-Proxy 在多个 Aurora 集群上做分库分表,能进一步扩展 Aurora 处理数据的规模、提高并发访问量尤其是写的水平扩展,并能实现自动路由、读写分离、分片的动态配置以及对 Aurora 高可用的自适应。

Amazon Aurora 的分库分表方案优势

存储更大数据容量

横跨多个 Aurora 集群,可以进一步拓宽单个集群 128TB 的容量,多达存储 PB 级别数据容量。

支撑更多并发访问

ShardingSphere-Proxy 可以将写入流量打到不同的 Aurora 集群,提高写的并发吞吐。

支持动态调整分片

DistSQL 允许用户在不 down 机的情况下动态调整分片集群数目,提供更大灵活性。

提供高可用性保证

自动识别底层 Aurora failover 事件,更新链接到新的写节点,降低对业务影响。

Amazon Aurora 的分库分表方案架构及说明

以下架构图展示了整个方案的部署架构。

图示说明:

  1. 对数据库连接请求通过 NLB (Network Load Balancer) 打到 ShardingSphere-Proxy
  2. ShardingSphere-Proxy 可以部署在跨多个可用区的多节点中,实现高可用和流量均衡。ShardingSphereProxy 的配置信息可以通过 Zookeeper 集群来进行配置,Zookeeper 也可以配置成多节点高可用模式
  3. ShardingSphere-Proxy 可以连接到多个 Aurora 集群数据源,可以配置分库分表信息,对数据库的 SQL 进行解析、重构、请求发送到后端对应的 Aurora 集群中,并将 Aurora 集群的运行结果进行组织返回给用户。
  4. Aurora 的 failover 事件能被 Lambda 方法捕获,调用 ShardingSphereProxy 的 resetDataSource 来进行识别。