小猿日记(11) - 单表亿级数据分表实战

简介: 单表亿级数据分表实战

声明

本文故事纯属遐想,如有雷同,我是原创。

欢迎转载。
转载请务必注明以下信息。
原作者:谙忆
原文链接: https://chenhx.blog.csdn.net/article/details/106446270

公众号

阅代码原理,看框架知识,学企业实践;
赏诗词,读日记,踏人生之路,观世界之行;
欢迎扫码关注公众号:程序编程之旅
程序编程之旅

概述

5000万单表数据,没有自增ID,要切分到128个表中。

如何选择切分字段,如何优化迁移速度,如何估计分表还是分库分表,如何确定分表数量?

口水记

最近将单表进行了拆分。

虽然是saas平台的权限系统,但是由于前期设计问题,开始在某些表中是没有租户标识的

所以这次给表加上了租户的标识。

改造数据库表结构,最大的难点不是知道如何改。而是变更落地。不遗漏。

经过两次的排查,将所有接口,所有依赖应用全部找出来,全部进行修改。

虽说没有测试人员,但是也顺利上线,没有bug。

然后就是分表问题,这里不选择分库,原因就是,我们的产品面向的是B端,数据库压力并不大,看了现在数据库的一些指标,单个库完全能够支持。

分表数量如何取,这里面要根据实际的一个情况来。

更多内容可以关注公众号或者阅读原文:
https://chenhx.blog.csdn.net/article/details/106446270

目录
相关文章
|
2月前
|
SQL 关系型数据库 MySQL
阿里面试:1000万级大表, 如何 加索引?
45岁老架构师尼恩在其读者交流群中分享了如何在生产环境中给大表加索引的方法。文章详细介绍了两种索引构建方式:在线模式(Online DDL)和离线模式(Offline DDL),并深入探讨了 MySQL 5.6.7 之前的“影子策略”和 pt-online-schema-change 方案,以及 MySQL 5.6.7 之后的内部 Online DDL 特性。通过这些方法,可以有效地减少 DDL 操作对业务的影响,确保数据的一致性和完整性。尼恩还提供了大量面试题和解决方案,帮助读者在面试中充分展示技术实力。
|
3月前
|
存储 缓存 关系型数据库
滴滴面试:单表可以存200亿数据吗?单表真的只能存2000W,为什么?
40岁老架构师尼恩在其读者交流群中分享了一系列关于InnoDB B+树索引的面试题及解答。这些问题包括B+树的高度、存储容量、千万级大表的优化、单表数据量限制等。尼恩详细解释了InnoDB的存储结构、B+树的磁盘文件格式、索引数据结构、磁盘I/O次数和耗时,以及Buffer Pool缓存机制对性能的影响。他还提供了实际操作步骤,帮助读者通过元数据找到B+树的高度。尼恩强调,通过系统化的学习和准备,可以大幅提升面试表现,实现“offer直提”。相关资料和PDF可在其公众号【技术自由圈】获取。
|
5月前
|
存储 SQL 关系型数据库
(二十三)MySQL分表篇:该如何将月增上亿条数据的单表处理方案优雅落地?
前面《分库分表的正确姿势》、《分库分表的后患问题》两篇中,对数据库的分库分表技术进行了全面阐述,但前两篇大多属于方法论,并不存在具体的实战实操,而只有理论没有实践的技术永远都属纸上谈兵,所以接下来会再开几个单章对分库分表各类方案进行落地。
472 3
|
8月前
|
关系型数据库 分布式数据库 数据库
PolarDB-X助攻《香肠派对》百亿好友关系实现毫秒级查询
云原生数据库PolarDB分布式版(PolarDB for Xscale,简称PolarDB-X)有极强的线性扩展能力,能够多写多读;它的全局索引能力,是分布式改造的利器,成功解决了传统分布式方案中多维度查询的难题,在《香肠派对》的好友系统上,实现了百亿好友关系20万QPS的毫秒级查询。
PolarDB-X助攻《香肠派对》百亿好友关系实现毫秒级查询
|
存储 监控 关系型数据库
传统库分表麻烦查询慢?TDengine 如何解决“搜狐基金”的应用难题
搜狐基金团队使用的 MySQL 数据库在面对海量数据时存在能力瓶颈,在此背景下,其决定基于 TDengine 尝试一下全新的方案。
144 0
|
存储 关系型数据库 MySQL
108分布式电商项目 - MySQL优化(插入数据优化)
108分布式电商项目 - MySQL优化(插入数据优化)
57 0
|
SQL 关系型数据库 MySQL
106分布式电商项目 - MySQL优化(查询优化)
106分布式电商项目 - MySQL优化(查询优化)
89 0
|
存储 缓存 自然语言处理
阿里二面:MySQL索引是怎么支撑千万级表的快速查找?
在 MySQL 官方提到,改善操作性能的最佳方法 SELECT 在查询中测试的一个或多个列上创建索引。索引条目的作用类似于指向表行的指针,从而使查询可以快速确定哪些行与WHERE子句中的条件匹配,并检索这些行的其他列值。所有MySQL数据类型都可以建立索引。
283 0
|
SQL 关系型数据库 MySQL
线上千万级大表排序:优化攻略揭秘,轻松应对海量数据!
前段时间应急群有客服反馈,会员管理功能无法按到店时间、到店次数、消费金额 进行排序。经过排查发现是Sql执行效率低,并且索引效率低下。遇到这样的情况我们该如何处理呢?今天我们聊一聊Mysql大表查询优化。
线上千万级大表排序:优化攻略揭秘,轻松应对海量数据!
|
存储 JavaScript Java
亿级别大表拆分 —— 记一次分表工作的心路历程
亿级别大表拆分 —— 记一次分表工作的心路历程