数据库架构的演变

数据库架构的演变

没有缓存的Web开发架构

  1. 架构图没有缓存的Web开发架构图
  2. 这种架构通过数据库访问对象直接访问一个数据库(如通过JDBC指定数据库:jdbc:mysql://localhost:3306/database)存取数据,从而存在一些瓶颈
    1. 一台机器的磁盘无法存储大量的数据
    2. 一台机器的内存无法装入数据库的索引
    3. 无法满足高并发访问

有缓存的Web开发架构

  1. 架构图

有缓存的Web开发架构图

  1. 引入缓存
    后,将常用的数据库查询结果放到缓存中,这样下次要再次查询这些存放在缓存中的数据时,就可以直接到缓存中拿数据,而不用访问数据库,从而缓解了数据库的访问压力;
  2. 进行垂直拆分,将数据进行分类,将不同类型的数据放到不同的数据库中,从而将原来单个数据库的压力分发给多个数据库;

数据库的主从拆分,读写分离

  1. 架构图

数据库主从拆分读写分离图
2. 将数据库分成两类数据库 主数据库从数据库,DAO向主数据库中写数据,从从数据库读取数据 。读写分离就进一步的减轻了数据库的访问压力;

数据库集群

  1. 架构图数据库集群架构图

  2. 即使实现了数据库的读写分离,随着用户的增加,数据库的性能会进一步地面临挑战,这时候需要对数据以及数据结构进一步进行分析优化。;

    1. 分表分库:将原来同一张表中的数据按行进行拆分,如上图所示,将原表1/3行的数据放到不同机器的不同数据库中,从而解决了原有数据库的存储压力;
    2. 水平拆分:重新分析原有系统的业务逻辑,从而重新划分数据,比如:容易发生变化的数据放在一起,不容易发生变化的数据放在一起,最后将数据分区进行存储。如上图所示,每一个区都是多台机器上的不同数据库组成的集群;

现今数据库架构

架构图

  1. 架构图现今数据库架构图
  2. 数据库集群的基础上引入负载均衡机器,这些机器将收到的请求按照当前各个机器的负载情况转发请求。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值