sqlserver 分表_题库分库分表架构方案

本文探讨了在SQLServer环境下,针对1300W多道题目的分库分表方案,包括按学段切分和按学科切分两种策略。选择了按学科切分的方案,并详细规划了数据id的自增区间。同时,提出了两种兼容旧功能的方案,一种是数据结构不变,另一种是整合进老结构。文章还涉及了数据库中间件Mycat的特性与注意事项,以及数据切分的原则和应用场景。
摘要由CSDN通过智能技术生成

方案

项目背景

在现在题库架构下,针对新购买的1300W多道数据进行整合,不影响现有功能。由于数据量偏多,需要进行数据的切分

目标场景

  1. 兼容旧的功能
  2. 对1300多W数据进行分库分表
  3. 需要对旧的数据进行整合
  4. 老师端选题组卷 可以根据 学段、学科、知识点、难度、题型 来筛选
  5. 学生端根据老师端所选题目获取对应的题目
  6. 对3年内以后扩展的增量数据预留数量空间

数据样例

学段数据量小学1285336初中6655780高中6144072学段学科数据量初中数学1869524初中化学1356224初中英语288440

切分方案一

  1. 切分为3个库, 分别是小学、初中、高中 数据占比如上
  2. 每个库切分10个表 根据 (学科+首级知识点)%10
  3. 每个库一个总表

缺点:例:用到不同知识点时,需要多表获取数据

优点:数据分布较为平均

切分方案二 (采用)

  1. 切分为3个库, 分别是小学、初中、高中 数据占比如上
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值