数据库中间件

数据库中间件用于解决数据库并发读写、存储量大的问题,提供读写分离、分库分表等功能。本文介绍了数据库中间件的设计要点,包括解析SQL、支持读写分离和分库操作等,并详细讨论了垂直拆分与水平拆分的优缺点及技术难点。最后,提到了数据库中间件的两种实现模式——客户端模式和服务端模式,并简单介绍了MyCat和sharding-jdbc这两个常用的数据库中间件。
摘要由CSDN通过智能技术生成

数据库中间件简述

为什么需要数据库中间件

普通应用程序和数据库的访问如下图:
普通应用程序和数据库的访问
当出现下列问题时:

  1. 数据库存储的量不是很大,但是并发的读写操作都很大时,超过数据库的处理能力了。
  2. 应用的业务模块很多,总的数据量很大,并发的处理操作均超过单个数据库服务器的处理能力。
  3. 如果单个表的数据量很大,超过了单表的存储上限,如商品表、订单表等。

为了解决数据存储、访问性能我们需要用到数据库中间件。数据库中间件可以让我们在应用程序中快速的应用读写分离、分库分表,并且如果要是想让我们写代码时不需要关注数据库是不是进行了读写分离,所以需要隔离这些下端的数据库读写分离带来的变化屏蔽掉对上端的影响,就需要加数据库访问模块即数据库中间件。
数据库中间件

数据库中间件设计要点

  1. 要能解析SQL
  2. 能支持读写分离
  3. 能支持从库读的负载均衡
  4. 支持分库操作
  5. 支持分表操作
  6. 支持跨库关联查询
  7. 对事务处理的支持
  8. 主键ID生成
  9. 数据源管理
数据库的拆分

数据库拆分主要分为垂直拆分、水平拆分

垂直拆分

按业务模块进行垂直拆分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值