阿里云数据库RDS PostgreSQL总体上来说,经历过三代架构。
Ø 第一代是纯物理机模式;
Ø 第二代是存记分离模式(我们更倾向强调快弹能力,快速的响应能力);
Ø 第三代提供的是用户的自主可控能力(比如说自主调配,自主查看数据库)。
第一代架构:
第一代架构是传统的物理机模式,左边呢是一台主节点的物理机,右边是一台standby物理机,它们主从之间通过Streaming流复制来做,然后最上面是有SLB(负载均衡),SLB是当主节点OK的情况下把SLB的流量切到主节点,如果当主节点异常的情况下,则把SLB切到备节点,这就是HA。
但是纯物理模式有几个缺点:
v 第一个缺点是,如果备节点,物理机当机的情况下,数据拷贝的时间是异常漫长的。
v 第二个缺点是,弹性能力比较差。
例如:要对这个机器的实例进行变配的时候,比如说4C4G变成了8C16G,这时候就要做一个变配,如果物理机有资源的情况下就可以完成变配,但若本地物理机没有资源的情况下,就需要一个跨机迁移,进行腾挪,而腾挪的时间非常漫长。
第二代架构:
第二代产品的特点是沉积分离,如左半边这张图,首先有个master节点在中间,master节点会通过streaming的复制方式,把数据传给两边的计算节点,一个是standby节点,一个是readonly,每个节点下面都挂着分布式存储,保证数据的一致性,独立性。
上面有个SLB,SLB连接主节点,还有个SLB RO节点,这个主要连着只读节点,这样有几个好处。
首先是底层分布式存储,分布式存储会带来很多运维上的提升,比如说数据的搬迁,数据的克隆,都可以很快的完成。
其次就是计算节点,计算节点由于是ServerList,所以在迁移的过程中不需要搬数据;第二是能够快速的弹升动作。
右图可以看到是SLB挂了一个master节点,然后下面是分布式存储,这个架构就是RDS PostgreSQL基础版,首先一个计算节点下面挂着一个分布式存储,上面是SLB,分布式存储有个最大的特点:保证数据的可靠性。
当主节点挂掉的情况下,只要重新找一个计算节点,把数据库和盘关联起来,把盘挂上去,就完成了,所以说基础版虽然在HA能力会变弱,但是其数据的可靠性还是很强的。
第三代架构(My Base)
My Base 在2019年在My SQL产品上进行了孵化,今年三月份My Base在PG产品上进行了孵化。
大家可以看到一个特点,原来一个计算节点只能挂一个数据库节点,现在一个计算节点可以挂多个数据库节点。
那么,它有什么好处呢?
首先,左边的这个计算节点,master standby,master readonly;右边节点就是:standby master,standby readonly。
就是说现在用户可以自定义左边的计算节点挂多少个master,右边的可以挂多少个matser,这样的话就把资源调拨的能力下沉给用户,用户可以自己调度解决,这是第一点;第二点,用户可以根据业务的压力进行动态的调配。
但是数据库是一个IO密集型的计算,所以如果一块数据盘大家都是这个计算节点会不会有性能的问题?
会,但是可以优化,避免的。
Ø 首先,每个数据库节点都挂了分布式存储,每个分布式存储都是独立的,这样就保证IO之间是隔离的,不会互相影响。这是MyBase产品一大亮点,就是用户成本会更低、更经济,同时具备自主的调度能力。
Ø 其次,MyBase还有个特点就是用户可以自己登陆到计算节点,看到数据库的状态、信息等等,甚至可以自己去写一些小脚本去监控数据库,这样是加大了用户对数据库的把控力。
前往咨询及购买:阿里云PostgreSQL数据库