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

相关推荐
betazhou1 分钟前
Oracle dgbroker常规命令管理简介
数据库·oracle·adg·dbbroker
海边夕阳200633 分钟前
PostgreSQL性能调优:解决表膨胀、索引碎片和无效索引问题
数据库·经验分享·postgresql·性能优化
一 乐1 小时前
个人理财系统|基于java+小程序+APP的个人理财系统设计与实现(源码+数据库+文档)
java·前端·数据库·vue.js·后端·小程序
m0_748248021 小时前
Redis的数据淘汰策略解读
数据库·redis·缓存
哥哥还在IT中1 小时前
让数据库更智能-大模型如何优化我们的SQL查询
数据库·sql
计算机小手1 小时前
探索 Maxwell:高效捕获 MySQL 数据变更的轻量级中间件
数据库·经验分享·mysql·开源软件
Serverless 社区1 小时前
算力成本降低 33%,与光同尘用 Serverless AI 赋能影视商业内容生产
人工智能·云原生·serverless
IvorySQL2 小时前
使用 PostgreSQL 时间点恢复(Point-In-Time Recovery)的多种数据恢复技术
数据库·postgresql
腾讯云云开发2 小时前
小程序数据库权限管理,一看就会!——CloudBase新手指南
前端·数据库·微信小程序
没有口袋啦3 小时前
《云原生基础设施》
云原生·容器·kubernetes·华为云