设计思想赏析-单表超大数据量处理-水平切割法

简介: 设计思想赏析-单表超大数据量处理-水平切割法

MySQL分表

MySQL环境中,单表建议容量不超过千万条,否则查询效率会有较大影响。在常规的索引、读写分离、合理sql等方法都用上之后,剩下的方法就是分区分表,分表(sharding)就是水平切割。


mysql5.1版本开始,提供 分区(PARTITION)功能,也是对表数据进行切分你的方法之一。分表是把一张大表拆成N张小表;分区是把一张大表的数据分别存储在若干个区块上,仍然还是一张表。


分表策略一般有几类:

1.数字id可以按照数字范围切分,比如上图所示,ID为1~1000w的,放在第一个节点上;10000001~2000w的,放在第二节点上,依次类推。这种方法的好处是方便检索,按id查能够快速定位到那个节点,扩容也方便,增加一个节点就好了;不好的地方是数据不均匀,最后一个节点由于数据比较热,访问的频次会非常大。

2.为了解决数据热点问题,可以采用取模的方式,进行切分。一般设置2^n个节点,对数字的2^n取模。这种方法的好处是起到负载均衡的作用,热点数据会均衡的散落在各个节点中。坏处是扩容比较费劲,不能随意扩容,只能进行双倍扩容,否则需要进行重新sharding。


3.如果是日志类的数据,可以按照日期进行切分。


相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
JSON Shell DataX
DataX定时执行json脚本文件
DataX定时执行json脚本文件
960 0
|
数据采集 Java 数据安全/隐私保护
Spring Boot 3.3中的优雅实践:全局数据绑定与预处理
【10月更文挑战第22天】 在Spring Boot应用中,`@ControllerAdvice`是一个强大的工具,它允许我们在单个位置处理多个控制器的跨切面关注点,如全局数据绑定和预处理。这种方式可以大大减少重复代码,提高开发效率。本文将探讨如何在Spring Boot 3.3中使用`@ControllerAdvice`来实现全局数据绑定与预处理。
293 2
|
计算机视觉
HDR的主要标准有哪些?
HDR(高动态范围)技术通过提供更广阔的亮度范围和丰富的色彩细节,显著提升图像质量,使电影、图片和游戏画面更加逼真。相比SDR,HDR拥有更宽的色域、更高的色深和动态范围,支持多种行业标准如HDR10、Dolby Vision、HDR10+、HLG和HDR Vivid,为用户带来更接近真实的视觉体验。
|
算法 NoSQL 容器
1.贪心理论与常见的证明方法
1.贪心理论与常见的证明方法
|
Oracle 关系型数据库 大数据
|
SQL 机器学习/深度学习 分布式计算
spark与pyspark教程(一)
spark与pyspark教程(一)
945 0
|
存储 数据采集 关系型数据库
数据仓库模型全景
数据仓库模型全景
|
安全 前端开发 架构师
技术文档中的各种架构图该怎么画? by彭文华
技术文档中的各种架构图该怎么画? by彭文华
|
存储 搜索推荐 数据建模
(下)原理都懂,就是不会建模?来,顶尖数据模型走一波
(下)原理都懂,就是不会建模?来,顶尖数据模型走一波
|
搜索推荐 领域建模 调度
(上)原理都懂,就是不会建模?来,顶尖数据模型走一波
(上)原理都懂,就是不会建模?来,顶尖数据模型走一波