本文介绍GBase 8a V95版本版本提供的虚拟集群(Virtual Cluster 简称VC),适合的场景。虚拟集群主要是物理资源的隔离,在不同的VC上运行不同或相同的业务。
目录导航
虚拟集群的特性
主要特性包括
- 通过资源隔离,实现业务互相不干扰;
- 通过统一管理,提升数据库管理人员的工作效率,降低维护成本;
- 通过统一入库,降低开发难度和使用难度
- 通过镜像数据,提供了双活的灾备方案以及读写分离的灵活性。
资源隔离
VC之间使用各自的节点,从资源上是隔离的。资源的使用不会影响到其它VC的性能。(特意用虚拟机或Docker,将不同VC负责的计算节点,部署在同一个宿主机上的不算,那确实有影响)。
统一管理
针对数据库管理人员DBA,通过在集群内部进行虚拟集群划分,在增强集群的扩展能力的同时,还提供了统一的管理视图。DBA通过统一的命令,同时管理多个虚拟集群的权限分配,节点分配,启停等操作。如果出现使用问题,排查过程也是统一的。不需要像多套独立集群那样,要挨个登录各个集群,分别操作。
统一入口
针对管理和开发人员,由于VC对外提供的访问入口是完全相同的,不同的业务,连接数据库的方法是一样的,包括IP,内部不同业务对应用户不同,VC权限不同。
镜像数据
提供了表级镜像数据功能,实现跨VC的表数据实时同步。镜像功能本身是双向的。在VC1的改变或自动同步到VC2,同时VC2的改变也会同步到VC1,通过集群锁机制保证事务隔离。
跨VC访问
通过权限控制,可以实现一个用户跨VC的数据访问,比如将VC1的计算结果,保存到VC2的表里面。
独立扩容
每个VC可以根据需求进行独立的扩容和缩容。
多租户
支撑完全隔离的多个业务系统,充分利用资源隔离和统一管理的特性。
比如一套集群,分别为经分,信令监测,数仓,大数据分析,网关平台等完全独立的业务提供数据库服务。每个系统使用各自的数据库,建各自的表。
通过GBase 8a的底层物理资源的隔离,实现业务互不影响。而在数据库管理层,则提供统一管理,包括=权限控制,统一接口。
提示:这里的多租户,只适合一个大客户的多个独立业务,而不是公有云的那种,任何人都可以随意购买的数据库。这种需求将由GBase的后续云版本来提供。
业务分割
支撑一套复杂业务,按照重要程度,时效性,资源使用量等进行业务分割,充分利用资源隔离,跨VC访问特性。
比如在一个提供大数据加载,统计分析,报表展示的场景下,其中加载和统计分析,将消耗大量的系统资源,耗时长,这类数据极少被前台查询使用;而分析后得到的报表结果,数据量相对很少,但会被频繁使用,对时效性要求高。
通过GBase 8a V9的资源隔离和跨VC访问特性,将数据量大,资源使用高,时效性要求不高的任务,放到一组VC内,让他慢慢的跑;而另一类数据量少,时效性要求高,并发高的,放到另一个VC内,来提供对外的高效查询。VC1的计算结果可以直接保存到VC2里面。
具体分类情况,可以分成多个VC,表示个别VC可以用更高效的硬件,比如更快的CPU,高效的SSD盘、Flash闪存卡,更大的内存等。
读写分离
通过镜像数据功能,在VC1里做复杂耗时的运算,然后将结果表,同步到镜像VC集群。
与业务分离不同,2套集群是都可以对外提供正常服务的,只是定位不同。VC1做消耗资源的运算,而镜像VC2更多的提供对外查询。
实时双活
通过镜像数据功能,在2套VC里保持数据一致性,同时对外提供服务,实现双活。
与读写分离不同点,是2套集群定位完全一样,承担相同的业务,镜像功能本身也是双向的。