【云原生数据库:原理与实践】2 -数据库与云原生

2-数据库与云原生

2.1 数据库在云时代的发展

云计算为计算问题提供了一个解决方案,即把信息化需要的基础设施作为一种服务来提供(Infrastructure as a Service,IaaS),就像生活领域的水电煤气服务一样,企业或家庭用户无须为获取这些资源而进行基础设施建设,比如自己挖井或自己用发电机发电,只要接入政府提供的生活服务网络,根据需要随时取用即可。

有了IaaS层作为基础,云计算服务提供商在此之上建立了更加丰富的层次,如平台即为服务(Platform as a Service,PaaS)和软件即为服务(Software as a Service,SaaS),为各种应用场景在云上找到了合适的舞台。

云托管:云托管是最接近传统数据库系统的部署模式。本质上,云托管是将原本部署于IDC机房内物理服务器(也可能是虚拟出来的服务器)上的传统数据库软件部署在了云主机上。

云服务:用户可以直接使用云服务厂商提供的数据库服务,而不用关心数据库管理软件具体的部署方式。在通常情况下,云服务厂商会提供多种传统的数据库服务,例如MySQL、SQL Server和PostgreSQL,等等。用户可以直接使用云数据库服务的链接地址,采用JDBC或ODBC接口直接访问数据库。

云原生:从云场景出发,设计的具有新架构能够充分发挥云计算下:资源按需使用、快速弹性扩展、高性能、高可用等特点的数据库系统。

2.2 数据库在云原生时代面临的挑战

  1. 如何实现弹性及高可用,即实现按需按量使用,让资源高效利用。
  2. 云数据库在分布式事务的协调、分布式查询的优化和强ACID特性的保证等方面,具有非常大的挑战。
  3. 多服务器安装部署、自动化扩容带来的运维挑战。
  4. 复杂云环境下的实时监控、节点故障和性能问题的安全审计挑
    战。
  5. 多种数据库系统与其业务系统的管理挑战。
  6. 海量数据数据迁移的挑战。

2.3 云原生数据库的主要特点

2.3.1 分层架构

云原生数据库在架构设计上最显著的特点,即将原本一体运行的数据库进行拆解。分层架构的处理流程分为计算服务层、存储服务层和共享存储层。其中,计算服务层负责解析SQL请求,并转化为物理执行计划。存储服务层负责数据缓存管理与事务处理,保证数据更新和读取符合事务的ACID语义,在实现中不一定是物理分离的,可能一部分集成在计算服务层,一部分集成在共享存储层。共享存储层负责数据的持久化存储,利用分布式一致性协议保证数据的一致性与可靠性。

2.3.2 资源解耦与池化

三层池化:计算池、内存池、存储池

2.3.3 弹性伸缩能力

云原生的架构,在本质上,下层是分布式共享存储,上层是分布式共享计算池,中间层用于计算存储解耦,这样可以非常好地提供弹性高可用能力,做到分布式技术集中式部署,从而对应用透明。

2.3.4 高可用与数据一致性

2.3.5 多租户与资源隔离

2.3.6 智能化运维

相关推荐
@游子2 小时前
SQL注入语法和介绍(一)
数据库·oracle
蒋士峰DBA修行之路5 小时前
实验十三 WDR诊断报告
数据库
杂亿稿5 小时前
数据库的约束
数据库
u***32435 小时前
使用python进行PostgreSQL 数据库连接
数据库·python·postgresql
Codingwiz_Joy5 小时前
Day44 盲注、报错注入 & 实战复现
数据库·安全性测试
7***99877 小时前
GaussDB数据库中SQL诊断解析之配置SQL限流
数据库·sql·gaussdb
Wang's Blog8 小时前
MongoDB小课堂: 文档操作核心技术指南:主键机制、CRUD操作与最佳实践
数据库·mongodb
g***26798 小时前
最新SQL Server 2022保姆级安装教程【附安装包】
数据库·性能优化
U***e639 小时前
PHP在微服务中的Mezzio
微服务·云原生·架构
风123456789~10 小时前
【OceanBase专栏】OB背景知识
数据库·笔记·oceanbase