云卷云舒:浅析云数据库架构的分层设计

云数据库和普通数据库的区别,其实就是基础设施提供者的区别,包括其支撑能力的体现。

一、云数据库的受众

云数据库的形式大致可分为如下三类:

1、公有云数据库:基本上面向中小企业主,成本的节约往往可以直接体现在方方面面的,包括数据中心、机房、服务器、运维等成本。

2、私有云数据库系统:成本节约的同时,保证了系统和数据逻辑独占的需求,提升了自主和安全感等级,是大中型企业客户的选择。

3、混合云:企业有更多的自主度,至于那些数据放公有云,那些数据放到私有云,或者同时存储,只要保证整体的安全度与TCO达到预期即可。

二、大中型企业对于数据的要求

1、大中型企业第一个需求就是,云数据库需要适配企业的管理架构,不同部门之间的数据传递、共享一般都有独立的平台部门维护,同时每个部门又有定制部分,整个企业内部最关键的是要维护企业数据模型的稳定一致。

2、另外,稳定性和高等级的服务保障是第二大需求,且这个需求对于平台,以及各个研发部门之间存在差异性,一般体现在吞吐量、计算复杂度、极致扩展等不同方面。

3、最后,数据库生态方面,在企业统一的一套数据大模型之外,新型业务发展所必须得“数据敏捷性”,往往依靠数据库生态能力解决,包括数据复制和克隆。

三、云数据库的设计要点

1、核心思想:当然最关键的是“存算分离”技术,实现计算和存储层面的高度解耦,独立进行替代、升级和扩缩容动作。

2、具体原理:分层的数据库架构,一般来说都会至少包括如下三层

(1)存储层:存储层的扩展性需要完成对于统一集群的表级透明存储服务、同异构存储硬件适配、以及日志等通用服务的共享,也包括数据复制克隆等订阅服务;

(2)事务层:该层是根本解决数据库扩展性的一层,事务层的扩展能力决定了数据存储的上限,因为CAP理论之下,不可能无限的舍弃其中任意一环,实现租户级别的单独扩展能力,则需要依赖内存块级别的节点资源占用调度。

(3)执行层:该层主要起到向上适配的作用,发展方向则是兼容各类客户端,提供新客户端开发所需要的开放协议。

你可能感兴趣的:(数据库,云原生,架构设计,数据库架构,数据库,云计算)