数据库架构演变过程

2023-11-06

背景

在互联网初创时期,企业往往采用单体架构去搭建自己的应用系统,但是,随着企业的不断壮大,系统访问量不断随之上升,数据量也急剧增长。数据的存储是首先要解决的问题,在这个大数据时代,数据就是企业的命根子,数据库的单体架构很难满足数据的存储,这时,我们要对数据进行切分,数据的切分又分为垂直切分和水平切分。

数据切分和数据库架构

在数据切分之前,我们的所有业务都放在一个数据库中,比如:我们的用户业务,商品业务,订单业务。数据库的架构如下:

1571966651393.png

在业务发展到一定规模时,一个数据库很难满足数据的存储,并且导致数据的访问比较慢,导致用户的流失。这时,我们要对数据进行切分,使其从单一的数据库的存储分散到多个数据库的存储。在进行数据切分时,我们要遵循先垂直水平的原则。

数据的垂直切分也就是数据的纵向切分,按照业务将数据进行切分。在上面的例子中,我们将一个数据库切分为:用户库,商品库,订单库。将原来的一个数据库分为了三个数据库,分散了数据的存储压力,同时也分散了数据的读取压力。如图所示:

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

数据库架构演变过程 的相关文章

  • Framework工具——EA画图

    EA 是一个著名的企业架构 Enterprise Architecture 工具 用于绘制和管理企业的架构图和过程模型 该工具提供了多种功能 包括建立业务流程图 数据流图 组织结构图 应用架构图等 EA工具可帮助企业进行战略规划 业务流程改

随机推荐

  • Redis过期监听—订单超时-取消

    最近在做电商项目 涉及支付超时处理的几种方式 记录哈使用redis监听处理 提交订单的时候 支付 超过了有效时间则支付状态自动更新为已取消 redis过期监听的实现 1 修改redis windows conf配置文件中notify key
  • OpenBSD cvsup更新

    安装了 OpenBSD 后你会发现它很小个 只有500多M 当然里面只有ssh sendmail功能 dev wd0a 130M 38 8M 84 7M 31 dev wd0h 95 5G 16 0K 90 8G 0 home dev wd
  • vue2.0解决el-table无限滚动解决数据量大前端界面渲染耗时或卡顿问题

    vue相关依赖版本 name vue demo version 0 1 0 private true scripts serve vue cli service serve build vue cli service build lint
  • input元素的事件的触发顺序及change事件触发条件

    1 input元素的事件触发顺序
  • Ubuntu学习笔记:配置账户密码使用期限

    Ubuntu学习笔记 配置账户密码使用期限 配置账户密码最短使用期限为 10天 最长使用期限为 90 天 查看的方式还可以是 sudo passwd S liu
  • SpringBoot使用ShedLock调度任务

    前言 在分布式的场景下 SpringBoot程序以集群的方式部署 这些程序中运行着相同的代码 如果其中有定时任务的话 所有的程序都会运行该任务 这样就会导致任务的重复执行 由于所有的定时任务在集群的不同节点值中 所以需要一个专属的数据存储空
  • GCC编译选项参数

    linux系统下头文件 库文件搜索路径总结 文章目录 一 头文件 1 1 gcc或g 找头文件有三种策略 二 库文件 2 1 编译时查找库文件路径 2 2 运行时查找动态库文件路径 2 3 动态库的搜索路径搜索的先后顺序 一 头文件 1 1
  • java类静态实例成员_java中 静态成员、实例成员、构造方法在子类和父类中的执行顺序...

    java中的成员分为 静态成员 静态成员变量 静态代码块 静态成员方法 实例成员 实例成员变量 实例代码块 实例成员方法 构造方法 析构方法 下面做的实验 主要是验证 当new 一个子类时 子类和它的父类中 静态成员变量 静态代码块 实例成
  • jar还原源码

    上周接到个新任务 一个遗留的接口工程需要改造 然而根据前任开发留下的文档看 这个工程没有代码 只有生产环境的jar包供使用 边吐 咒 槽 骂 边在SVN服务器上四处翻找 想找到这个工程的源码 毕竟没源码怎么跑起来这个工程 不能跑起来怎么改造
  • 导致服务器CPU跑满的原因有哪些

    一 硬件原因 服务器CPU自身出现问题 比如机房散热不足 温度过热或者驱动故障 导致CPU性能下降 很容易造成CPU跑满的情况 二 网站代码错误 排查硬件原因后 我们进入网站后台查看是哪些程序占用了大量CPU 检测这些代码自身是否有问题 如
  • consul重启导致服务必须跟着重启解决方案

    问题 consul作为注册中心和eureka的机制不同 当微服务启动后首先向注册中心发注册请求 这点两者一致 之后consul在维护可用服务列表时 采用的是主动向微服务发健康检查的接口 也可以配置成微服务主动向consul发心跳 但是我看完
  • js写一个行星运转的效果

    以太阳系为例 以太阳为中心点 水金木土地火天海依次围绕着太阳做圆周运动 嗯 假设为圆周运动吧 以太阳为圆心点 所以在求行星做圆周运动时的半径就是行星的圆心点到太阳的圆心点 我们可以计算出太阳和行星的圆心点 我们可以通过函数获得行星和太阳的l
  • 经典面试题-聊聊JDK和CGLib动态代理实现和区别

    前言 在电面试阿里时 被问到Spring AOP中JDK和CGLib动态代理的区别 在此整理一下 供大家参考 JDK和CGLib动态代理实现 动态代理在Java中有着广泛的应用 如Spring AOP Hibernate数据查询 测试框架的
  • ZeroTier与Windows远程桌面实现远程控制 (转)(内网穿透)

    背景 Teamviewer虽然很好用速度也快 但是它是一款商业软件 时常会检测为商业用途而阻止个人免费使用 虽然网上也有一些修改ID的方法 还是各种破解版 但是均不尽如人意 于是想找找替代方案 经过尝试发现ZeroTier与Windows远
  • springMVC解决中文乱码几种方式,以及使用fastJSOn调整时间 的格式

    为什么 ResponseBody向前台传JSON输数据会有乱码 首先要知道乱码的原因是在入参之前就应经决定的 就是springMVC 中HandlerMapping会找到对应的handel 即具体去处理请求的方法 但是请注意 在真正调用处理
  • 三个短视频APP开发的成功秘诀免费发放

    无论海内外 中国的短视频已然走向了世界 成为世界了解中国的一种方式 甚至连Facebook都暗搓搓得准备 抄袭 抖音啃一块市场份额的蛋糕 更有无数的短视频APP开发者投入到这块市场中来 想要一战成名 这么 如何进行短视频开发 才能笑到最后呢
  • openwrt挂载tf卡,提示“unknown filesystem type 'vfat'”

    用命令挂载tf卡的时候报错 mount mnt mmcblk0p1 unknown filesystem type ext2 开始还以为是tf卡格式的问题 换了ext4和fat 仍然是这样 mount mnt mmcblk0p1 unkno
  • 在Qt中使用LoadLibrary无法加载DLL

    Qt系列文章目录 文章目录 Qt系列文章目录 前言 一 问题分析 前言 最近因项目需要使用qt做开发 之前使用LoadLibrary加载dll成功 很庆幸 当一切都那么顺风顺水的时候 测试同事却发现 在windows平台上个别电脑上加载dl
  • Python+xlwings操作Excel实战

    Excel是全世界最普及最强大的办公软件 应该没有之一 excel就相当于是一只老虎 python相当于是一双翅膀 两者结合将产生 如虎添翼 的效果 好了 不卖关子了 今天我们要跟大家说到的是excel xlwings xlwings是一个
  • 数据库架构演变过程

    背景 在互联网初创时期 企业往往采用单体架构去搭建自己的应用系统 但是 随着企业的不断壮大 系统访问量不断随之上升 数据量也急剧增长 数据的存储是首先要解决的问题 在这个大数据时代 数据就是企业的命根子 数据库的单体架构很难满足数据的存储