分层架构
处理流程分为 计算服务层 、存储服务层 、共享服务层。
计算服务层负责解析SQL,转化为物理执行计划。
存储服务层负责数据缓存与事务处理。
共享存储层负责数据的持久化存储。
资源解耦与池化
虚拟化技术实现资源池化,按需按量使用,弹性调度资源。
弹性伸缩能力
下层分布式共享存储,上层是分布式共享计算池,中间层用于计算存储解耦,可以提供弹性高可用能力,做到分布式技术集中式部署。对应用透明。
高可用与数据一致性
分布式环境下会发生节点故障、通信异常和网络分区等问题。采用一致性协议可以保证发生异常时多个节点存储的数据达成一致。
比如raft协议与paxos协议。
高可用策略:
- RTO优先:数据库优先尽快恢复服务,对于数据库在线时间要求比较高的用户,使用RTO策略。
- RPO优先:数据库应该优先尽可能保证数据的可靠性,即数据丢失量最小,对于数据一致性要求比较高的用户,应使用RPO。
多租户与资源隔离
多租户指一套系统能支撑对个租户。一般多租户采用一组租户以数据库系统,或者多租户共享以数据库系统,通过命名空间等方式隔离,但是比较负责。云原生场景下,数据库可以为多个租户绑定相应的计算节点和存储节点实现资源的隔离和吗,面向不同租户的资源调度。
智能化运维
- 自定义备份策略,通过复制实例恢复到任意时间点。
- 自动在线热升级,及时修复bug。
- 资源和引擎双重监控,连接云监控自动报警策略。
- 节点故障秒级探测,分钟级切换。
- 提供专家级自助服务,可解决大部分场景的性能问题。
参考文件:
《云原生数据库原理与实践》