[镜像] 练习-分库分表解决方案实战案例

镜像 海牛博士 ⋅ 于 2024-12-30 11:38:28 ⋅ 43 阅读

镜像详情地址:https://cloud.hainiubl.com/#/excellentImageDetail?id=24673&imageType=excellent

点击镜像详情页面最下方的“添加到实验配置”按钮可直接运行该实战镜像

一、需求说明

该案例还原了《高频面试题--分库分表》的场景

涉及从Springboot程序开发并整合MyBatis和Shardingsphere-jdbc实现分库分表完整过程

二、环境介绍

机器介绍

  • 分库分表镜像:共需要2台机器
    1. 一台1核1GB内存的机器:Mysql
    2. 一台6核8GB内存的机器:Idea和Dbeaver

file

组件介绍

  • 该案例采用SpringBoot+MyBatis+MySQL展示单库单表

  • 该案例采用SpringBoot+MyBatis+MySQL+Shardingsphere-jdbc展示分库分表

为什么需要分库分表介绍

高并发写操作对比

file

  • 同时将100万条订单数据插入到两个数据库的效率肯定比插入到一个数据库的效率高

海量数据查询性能对比

file

  • 查询100万条订单数据中的1条,分库分表的查询效率肯定高于单库表,因为单库单表需要在100万条数据中查询出来,而分库分表根据订单id即可计算出该条数据在分库分表的具体库表中,该表中有100万/6条数据。对比可以得出,总量100万比100/6大很多,而计算出订单具体在分库分表的那个库表中的时间微乎其微可以忽略不计,所以当海量数据查询时,分库分表的查询效率高于单库单表的查询效率
您没有该镜像的运行权限,所以无权查看该笔记

版权声明:原创作品,允许转载,转载时务必以超链接的形式表明出处和作者信息。否则将追究法律责任。来自海汼部落-海牛博士,http://hainiubl.com/topics/76598
点赞
成为第一个点赞的人吧 :bowtie:
回复数量: 0
    暂无评论~~
    • 请注意单词拼写,以及中英文排版,参考此页
    • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
    • 支持表情,可用Emoji的自动补全, 在输入的时候只需要 ":" 就可以自动提示了 :metal: :point_right: 表情列表 :star: :sparkles:
    • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif,教程
    • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
    Ctrl+Enter