云原生分布式数据库介绍

云原生数据库演进

云托管关系型数据库RDS虽然能部分实现“弹性”与“自愈”,但是这种方案存在资源利用率低、维护成本高、可用性低等问题。
以阿里云为例,阿里 PolarDB 之所以会诞生,原因之一是阿里云数据库团队在业务中遇到很大挑战:它们在云上维护了庞大的 MySQL 云服务(RDS)集群,包含成千上万个实例,面临很多棘手问题:
1)云服务一般使用云硬盘,导致数据库的性能没物理机实例好,比如 I/O 延时过高;
2)RDS 实例集群很大,可能同时有很多实例在备份,从而占用云服务巨大的网络和 I/O 带宽,导致云服务不稳定;
3)大实例恢复需重建时,耗时太长,影响服务可用性;
4)对需要读写分离,且要求部署多个只读节点的用户,最明显的感觉是每增加一个只读实例,成本是线性增长。

针对这些问题,可选解决方案是基于共享存储,即数据库共享存储方案:RDS 实例(一般指一主一从的高可用实例)和只读实例共享同一份数据。好处是实例故障或只读扩展时,不用拷贝数据,只需新建只读计算节点或把故障节点重新拉起来。并且,通过快照技术和写时拷贝解决数据备份和误操作恢复问题。不过,业内可用的共享存储方案非常少,即使可用,性能也达不到要求。
因此,想解决云托管关系型数据库服务面临的问题,必须改变思路,从架构入手。

架构“革命”,云原生数据库出现

过去三四十年,传统关系型数据库架构并未发生很大改变。
虽然在数据库扩展方面存在不同的常规方法(如分区、无共享或共享磁盘等),但这些方法都基于同样的基本数据库架构。
正如亚马逊云科技在博客中写道:“这些方法无法解决大规模性能、弹性和爆炸半径问题,因为严密耦合型整体式堆栈的基本局限性依然存在。”
为解决云托管关系型数据库面临的问题,适应云特性的云原生数据库就此诞生。云原生数据库完全为云设计,能充分发挥云的特点和优势。

具体说来,云原生数据库有三大特点:
第一,计算、存储分离,由于对存储与计算进行解耦合,实现了存储与计算分离;
第二,无状态,计算节点无状态或较少状态;
第三,存储节点灵巧化,因采用小存储块方式组织副本,用以减少平均恢复时间,多副本共识算法,实现存储的高可用与故障“自愈”能力。

目前,业内云原生数据库的代表有亚马逊云科技 Aurora、阿里 PolarDB、Azure CosmosDB、腾讯 TDSQL-C 等。

以PolarDB架构为例的云原生数据库产品架构

云原生分布式数据库介绍_第1张图片
特点:
1)一写多读计算与存储分离
2)读写分离
3)高速链路互联
4)共享分布式存储
5)数据多副本、parallel-raft协议

PolarDB云原生数据库应用实践:游戏/电商全球部署高并发

提供高读写性能,支持业务全球化部署,业务峰值时可支撑百万级玩家同时在线的高并发压力,可海外部署。
云原生分布式数据库介绍_第2张图片

云原生分布式数据库PolarDB-X

云原生分布式数据库介绍_第3张图片
云原生分布式数据库介绍_第4张图片
云原生分布式数据库介绍_第5张图片

PolarDB-X应用实践:每秒万级并发

在城市公交场景下,涉及大量的车辆和车型、多样计费方式,不仅要求数据库具有海量存储能力、还需要满足复杂查询计算。
基于PolarDB-X存储海量数据,通过AnalyticDB进行数据分析,构建智能化城市公交系统,满足路线规划、公交调度等需求,提升运营效率和服务水平。
云原生分布式数据库介绍_第6张图片

数据库生态工具:DTS、DMS、DBS、DAS、DG、ADAM等

云原生分布式数据库介绍_第7张图片

数据管理DMS介绍及应用实践

云原生分布式数据库介绍_第8张图片

云原生分布式数据库介绍_第9张图片

数据传输服务DTS介绍、数据迁移原理及应用实践

云原生分布式数据库介绍_第10张图片
云原生分布式数据库介绍_第11张图片
云原生分布式数据库介绍_第12张图片
云原生分布式数据库介绍_第13张图片

你可能感兴趣的:(云计算,数据库,云原生,分布式)