数据库中间件设计分析
目录 1.为什么需要中间件 不分库篇 (1)普通的应用程序 (2)并发读写大--缓存 (3)缓存过期问题--读写分离+缓存 (4)隔离对DAO层影响--数据库中间件+读写分离+缓存 (5)业务模块多--集群+数据库中间件+读写分离+缓存 分库篇 (1)业务模块多,数据总量大--分库+缓存 (2)分库对Dao层代码影响--分库+数据库中间件+缓存 (3)读写压力大--分库+读写分离+数据库中间件+缓存 2.数据库中间价设计要点 (1)垂直拆分 (2)水平拆分 (3)无论是垂直拆分、水平拆分,都有共同的技术难点 (4)数据库中间件的两种实现模式 (5)常用数据库中间件简介 小结 1.为什么需要中间件 不分库篇 (1)普通的应用程序 数据库访问 数据库存储的数据量不是很大,但并发的读写操作都很大,超过数据库服务器的处理能力。 阿里云-RDS版MySQL性能测试结果(MySQL 5.6) TPS:每秒钟处理事务数量 QPS:每秒钟SQL语句执行条数(并发请求数) (2)并发读写大–缓存 业务场景 :数据量不是很大,仅并发读写超过数据库服务器的处理能力 解决办法 : 加缓存 (3)缓存过期问题–读写分离+缓存 业务场景 :缓存会有过期命不中,还是会有大量的读和全部的写操作将请求数据库,如果数据库支持不起,怎么办? 解决办法 :读写分离+缓存 (4)隔离对DAO层影响–数据库中间件+读写分离