数据库中间件简述
为什么需要数据库中间件
普通应用程序和数据库的访问如下图:
当出现下列问题时:
- 数据库存储的量不是很大,但是并发的读写操作都很大时,超过数据库的处理能力了。
- 应用的业务模块很多,总的数据量很大,并发的处理操作均超过单个数据库服务器的处理能力。
- 如果单个表的数据量很大,超过了单表的存储上限,如商品表、订单表等。
为了解决数据存储、访问性能我们需要用到数据库中间件。数据库中间件可以让我们在应用程序中快速的应用读写分离、分库分表,并且如果要是想让我们写代码时不需要关注数据库是不是进行了读写分离,所以需要隔离这些下端的数据库读写分离带来的变化屏蔽掉对上端的影响,就需要加数据库访问模块即数据库中间件。
数据库中间件设计要点
- 要能解析SQL
- 能支持读写分离
- 能支持从库读的负载均衡
- 支持分库操作
- 支持分表操作
- 支持跨库关联查询
- 对事务处理的支持
- 主键ID生成
- 数据源管理
数据库的拆分
数据库拆分主要分为垂直拆分、水平拆分
垂直拆分
按业务模块进行垂直拆分