数据库上云架构选型浅析

2023-05-16

        数据库是整个业务系统的底座,所有系统(应用程序)最终的数据都会以持久化的方式存储在数据库中。随着云计算的发展,越来越多的企业选择使用弹性伸缩、按量付费的云服务的方式部署和管理的业务系统,业务上云首先是要数据库上云,将自己已有的存量数据搬迁到云上,并在云上选购符合自己要求、cp值高的数据库产品和架构,本文以关系型数据库为例,讲解如何从性能和安全方面入手,在云上选择对应的产品和架构,实现性能和安全性的有效结合。

        方案一:主备架构----------侧重安全,数据库的高可用性

                

 应用服务器对应的后端数据库部署为一主一备的高可用架构,其中日常的读写请求都是由主库(M)来处理,备库(S)通过同步链路将主库的数据进行实时同步,并不是双活的场景,此时备库不可用,性能上并不能产生优化的效果,主要是从数据库的高可用、容灾性角度考虑,一般适用于对数据安全性要求比较高的严肃企业场景如电商、游戏等行业。

上云后可以直接采购阿里云云数据库RDS高可用版(三节点可一主两从)即可,无需用户自建备库,无需自己进行数据同步链路的构建和管理。

方案二:主从架构------侧重性能,提高数据库的读性能,缓解主数据库的压力

我们知道,数据库的大部分请求都是读请求,对于主库而言,大量的数据写入之后,主要面临的并发压力是读的流量,为了缓解数据库的压力,采取读写分离的方式,新建只读节点(从库),通过设置读写策略,将写请求和一部分的读请求交给主库,大部分的读请求交给从库,保证了主库处理正常业务请求的能力,同时保证用户的查询和读的效率,提高了数据库的整体性能和并发能力。

此时,注意的是主从架构相对主备架构,不同在于:从库是实时运行可以提供服务的,从库中的数据可以被前端应用实时获取到,因此对于主从架构,需要注意的是保障主从库之间的数据一致性尤其重要,否则会影响用户实际查询数据的可靠性。而主备架构中的备库,数据虽然和主库是一样的,但是由于不是在线实时提供服务,只能在从库发生故障后启用,所以备库一般不讨论数据一致性的问题。

(简单理解,一个是单活(主备架构),一个是多活(主从架构))

方案三:双主(多主)架构------提高用户体验

一个系统(网站)的用户往往分布的地理范围很广,所处的网络环境和使用条件也不相同,为了保障各个不同位置的用户都可以使用到流畅稳定的数据库服务,企业选择在不同地域(国家、城市)部署多个数据库,这几个数据库都是主库,都可以进行读写,并且在实际过程中要求不同的主库之间需要保证数据的一致性,一个主库宕机,另一个主库根据已有的数据可以继续提供服务,因为是多个数据库同时分担读写压力,所以性能和安全性都更好,但是对于数据一致性要求极高。

方案四:双主+主从架构

双活场景(2个主库)以及主库对应的备库,对于性能和安全满足更高的要求。一般2个高可用架构会单独部署在独立的地域下,各自地域下的主备架构保障了当前地域下数据的安全性,适用于金融场景下的三地五中心等。但是对数据同步一致性和访问延迟要求会更高。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据库上云架构选型浅析 的相关文章

随机推荐

  • PX4使用WIFI模块

    PX4支持WIFI模块作为数传工具 xff0c 官网上也提供了教程 xff0c 但是不注意细节也很容易失败 以下是我的经验以及教训 配置环境 飞控 xff1a pixhawk v2 xff0c 烧录PX4 v1 8 2的固件 地面站 xff
  • RT-Thread和Freertos哪个更适合学习开发使用呢

    Freertos是一个国外推出的一个迷你的实时操作系统内核 xff0c 开源 xff0c 功能包括 xff1a 任务管理 时间管理 信号量 消息队列 内存管理 记录功能 软件定时器 协程等 xff0c 可基本满足较小系统的需要 RT Thr
  • TX2 相关指令

    1 查看L4T版本 head n 1 etc nv tegra release 版本如下图所示 xff0c 为28 2 1 官网查看对应版本 https developer nvidia com embedded jetpack 如下图所示
  • VNC server 5.3.0 服务端密码配置

    下载地址 xff1a 链接 xff1a https pan baidu com s 11P8Nb 6MSHE1LjX97HH6w pwd 61 1234 提取码 xff1a 1234 更多资源请前往博主个人网站 xff1a http www
  • eclipse svn插件 (subclipse) 安装及错误解决 (2017)

    subclipse 插件相关网址 项目原网址 xff1a http subclipse tigris org 打开提示 This project has been moved to GitHub xff0c 项目已经移动到 GitHub x
  • [Linux_音频]_0_0_使用alsa的API,设置和获得声音

    只是一个使用alsa的API 设置和获得声音的入门例子 之后的事情就参考API自己玩吧 api网址 http www alsa project org alsa doc alsa lib group simple mixer html 也可
  • centos7配置tomcat开机自启动

    centos7配置tomcat开机自启动 一些服务器命令 查看全部服务命令 xff1a systemctl list unit files type service ctrl 43 c可以回到命令输入 查看服务 xff1a systemct
  • William的Linux学习之路7

    很不好意思 xff0c 这一段时间一直在做个医院的项目 xff0c 没有坚持学习 真心感觉鸟哥的书不错 xff0c 跟着它学习没错 因为我们使用Linux xff0c 在大多情况下使用的是文本命令界面 xff0c 所以有时候很难直接看出哪个
  • php在Linux环境中安装扩展

    如果我们刚开始编译php的时候 xff0c 没有安装curl扩展 xff0c 后面需要安装curl扩展的话 xff0c 可以如下 xff1a 我们先看本地有没有安装curl的 xff0c 执行下面的命令查看 xff1a yum list i
  • WNMP(windows+nginx+mysql+php)环境搭建

    我们就把开发环境都放到我C盘里面的wnmp目录下 xff0c 其中nginx就安装在wnmp目录里面的nginx目录里面 xff0c mysql就安装在wnmp目录里面的mysql目录里面 xff0c php就安装在wnmp目录里面的php
  • layer设置弹出层的位置

    layer的弹出层我不想再正中显示 xff0c 我们想在距离顶部10px xff0c 然后水平居中 xff0c 设置offset xff0c 如下 更offset更多设置如下 看看效果 xff0c 如下 滚动的时候我想固定弹出层 xff0c
  • 前端实现点击复制功能

    点击上面的 点击复制 xff0c 实现复制采购单号的功能 xff0c 使用下面这个插件 xff1a https github com zenorocha clipboard js 使用如下 首先html代码如下 xff08 主要看红色划住的
  • 批量修改数据库,比如给数据库的某个表添加一个字段

    批量修改数据库 xff0c 比如添加一个字段 xff0c 如下 SELECT CONCAT 39 ALTER TABLE 39 TABLE SCHEMA 39 tp client ADD from uid INT 11 NOT NULL D
  • 公众号h5网站里面跳转到小程序

    公众号h5网站里面也可以跳转到小程序的 xff0c 具体步骤如下 xff1a https developers weixin qq com doc offiaccount OA Web Apps Wechat Open Tag html 大
  • docker容器没有vim工具,怎么修改docker容器里面的文件?

    如果docker容器里面没有vim命令 xff0c 你又不想在docker容器里面安装vim命令的话 xff0c 想修改里面的文件真是麻烦 xff0c 我们可以把容器里面的文件复制到我们的本地 xff0c 修改完了就复制到容器里面 xff0
  • nginx给kibana设置代理转发

    我们本地的http 127 0 0 1 5601 访问的是下面的网站 xff08 这是通过启动一个docker 容器生成的项目 xff09 xff0c 如下 我想给它配置一个域名 xff0c 比如www es admin com xff0c
  • 怎么知道apache配置文件哪里错了?

    如果你配置Apache配置文件的时候 xff0c 配置错了 xff0c 不知道是哪一行错的话 xff0c 你可以使用httpd exe t命令 xff0c 如下 看 xff0c 告诉你133行错了 xff0c 我们就到Apache的配置文件
  • opencv编译前依赖包libjasper-dev无法安装问题解决

    opencv编译前常规步骤都需要安装编译过程的依赖包 xff0c 一般为以下几个 xff1a sudo apt get install build essential sudo apt get install cmake git libgt
  • 迷失的RPC.getServer方法回家了

    在hadoop2 4 0的RPC类中找不到getServer这个方法 xff0c 下面这个链接是详细的问题所在 http blog itpub net 29876573 viewspace 1813631 那么在hadoop2 4 0环境下
  • 数据库上云架构选型浅析

    数据库是整个业务系统的底座 xff0c 所有系统 xff08 应用程序 xff09 最终的数据都会以持久化的方式存储在数据库中 随着云计算的发展 xff0c 越来越多的企业选择使用弹性伸缩 按量付费的云服务的方式部署和管理的业务系统 xff