写点什么

设计千万级学生管理系统的考试试卷存储方案

作者:ren
  • 2021 年 12 月 26 日
  • 本文字数:534 字

    阅读完需:约 2 分钟

前言

本文是学生管理系统,数据存储具体方案,完善考试试卷存储方案

 

考试试卷存储方案

1. 业务分析:

不同学校不同年级试卷存储

试卷在考前写入即可,后续是读请求

 

2. 学生管理系统数据估算:

请求试卷:5 万/s

提交试卷:1700/s

在校学生:1000 万 * 20(课)* 2(考试次数) * 1000(答案)* 2(学期) * 3(只有前三年考试)= 2.4T

离校学生:每年 250 万,存储量为 0.6T

 

3. Redis 数据结构

分析:试卷由 20 判断题、选择题、四道大题组成,可能每个学校都有同样的题,所以可以建立各种题型的题库,redis 只需要存编号去找

使用 Hash Table,key 为学校 ID+编号(编号包含科目,年级等信息)

 

在考试时读取并发量较高,所以试卷可以组装好后,作为热点数据提供读取

学生的答案只有写入操作,不过存储量较大,每年增加

 

4. 读写流程

老师从题库选题,生成试卷数据存到 redis 中(有新题可以加题库内容)

学生从 redis 集群中读取试卷

学生提交答案到 redis

老师批改

打分并同步到 hbase


计算 Redis sentinel 集群的服务器数量和性能。

1. 请求试卷的 QPS 大概 5 万,单台 redis 上万,并且我们这里仅仅是简单的 kv 操作,应该够用

2. 使用集群的话,一般是奇数个节点,然后一台就够用了,所以弄 3 台可以

3. 使用集群更多的就是为了提高可用性,防止出错耽误学生考试。3 台就是十几万 qps


用户头像

ren

关注

还未添加个人签名 2021.07.22 加入

还未添加个人简介

评论

发布
暂无评论
设计千万级学生管理系统的考试试卷存储方案