数据库建设方案

  • 读多写少
  • 写多读少
  • 写多读多
  • 数据库集群方案优缺点


读多写少

解决方案:采用传统关系型数据库足以应对,若并发量很大,采用mysql集群即可应对!

多读少写 数据架构 写多读少 数据库选型_多读少写 数据架构

写多读少

1、业务场景:滴滴、饭堂刷卡机等,采用传统关系数据库是不适合,因为传统数据库操作涉及事物机制,每次写入操作需要进行undo、redo操作,然后将redo操作记录到日志文件,事物开销是难以承受的

多读少写 数据架构 写多读少 数据库选型_数据库_02


2、解决方案一(针对低价值数据):

(1)如果低价值数据,可以采用noSQL存储数据

(2)noSQL数据库不做sql语法校验,抛弃了复杂的表结构和约束,因此数据写入速度很快

(3)构建业务系统需要创建两个数据源

多读少写 数据架构 写多读少 数据库选型_多读少写 数据架构_03


3、解决方案二(针对高价值数据):

(1)采用tokuDB(mysql引擎)存储

(2)tokuDB的写入速度是innoDB的9~20倍

(3)构建业务系统需要创建两个数据源

多读少写 数据架构 写多读少 数据库选型_多读少写 数据架构_04

写多读多

1、微信、QQ,需要存储许多离线消息,并且用户上线还需要读取离线消息,属于读多,写多,传统关系型数据库是难以支撑的

2、解决方案:采用noSQL数据进行存储

多读少写 数据架构 写多读少 数据库选型_数据_05

数据库集群方案优缺点

1、无论是传统关系型还是noSQL数据库都是支持搭建数据库集群的

2、缺点:读写速度远低于单节点数据库,如创建订单,mycat管理集群,mycat需要生成全局主键,还要判断商品是什么类型,然后进行路由判断存储,正因为这些额外工作,所以读写低于单节点数据库

3、优点:支撑更大的并发量、存储等多的数据;单节点数据库并发量有限(10000左右),且数据量一旦大于2000万,性能将极具降低

多读少写 数据架构 写多读少 数据库选型_分布式_06