数据库设计 读多写少、写多读少、写多读多各场景数据库建设方案

读多写少

解决方案:采用传统关系型数据库足以应对,若并发量很大,采用mysql集群即可应对!
数据库设计 读多写少、写多读少、写多读多各场景数据库建设方案

写多读少

1、业务场景:滴滴、饭堂刷卡机等,采用传统关系数据库是不适合,因为传统数据库操作涉及事物机制,每次写入操作需要进行undo、redo操作,然后将redo操作记录到日志文件,事物开销是难以承受的
数据库设计 读多写少、写多读少、写多读多各场景数据库建设方案
2、解决方案一(针对低价值数据):
(1)如果低价值数据,可以采用noSQL存储数据
(2)noSQL数据库不做sql语法校验,抛弃了复杂的表结构和约束,因此数据写入速度很快
(3)构建业务系统需要创建两个数据源
数据库设计 读多写少、写多读少、写多读多各场景数据库建设方案
3、解决方案二(针对高价值数据):
(1)采用tokuDB(mysql引擎)存储
(2)tokuDB的写入速度是innoDB的9~20倍
(3)构建业务系统需要创建两个数据源
数据库设计 读多写少、写多读少、写多读多各场景数据库建设方案

写多读多

1、微信、QQ,需要存储许多离线消息,并且用户上线还需要读取离线消息,属于读多,写多,传统关系型数据库是难以支撑的
2、解决方案:采用noSQL数据进行存储
数据库设计 读多写少、写多读少、写多读多各场景数据库建设方案

数据库集群方案优缺点

1、无论是传统关系型还是noSQL数据库都是支持搭建数据库集群的
2、缺点:读写速度远低于单节点数据库,如创建订单,mycat管理集群,mycat需要生成全局主键,还要判断商品是什么类型,然后进行路由判断存储,正因为这些额外工作,所以读写低于单节点数据库
3、优点:支撑更大的并发量、存储等多的数据;单节点数据库并发量有限(10000左右),且数据量一旦大于2000万,性能将极具降低
数据库设计 读多写少、写多读少、写多读多各场景数据库建设方案