【云原生数据库:原理与实践】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 智能化运维

相关推荐
摩羯座-1856903059433 分钟前
爬坑 10 年!京东店铺全量商品接口实战开发:从分页优化、SKU 关联到数据完整性闭环
linux·网络·数据库·windows·爬虫·python
你好龙卷风!!!1 小时前
SpringCloud,vue3应用使用AlibabaCloudToolkit自动化部署到远程服务器上的docker
云原生·自动化
编程充电站pro2 小时前
SQL 面试高频:INNER JOIN vs LEFT JOIN 怎么考?
数据库·sql
这周也會开心2 小时前
SQL-窗口函数做题总结
数据库·sql
间彧2 小时前
TiDB详解与Spring Boot实战指南
数据库
极限实验室2 小时前
Easysearch 字段'隐身'之谜:source_reuse 与 ignore_above 的陷阱解析
数据库·redis
2301_772093562 小时前
tuchuang_后端_前端_注册登录
数据库·后端·网络协议·mysql·wireshark
武子康2 小时前
Java-141 深入浅出 MySQL Spring事务失效的常见场景与解决方案详解(3)
java·数据库·mysql·spring·性能优化·系统架构·事务
FIN66682 小时前
募投绘蓝图-昂瑞微的成长密码与未来布局
前端·后端·5g·云原生·信息与通信·射频工程·芯片
间彧2 小时前
脏读、不可重复读、幻读详解与对比
数据库