首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >互联网公司为啥不使用mysql分区表?(一分钟系列)

互联网公司为啥不使用mysql分区表?(一分钟系列)

作者头像
架构师之路
发布于 2018-03-01 07:31:38
发布于 2018-03-01 07:31:38
1.8K0
举报
文章被收录于专栏:架构师之路架构师之路

缘起:有个朋友问我分区表在58的应用,我回答不出来,在我印象中,百度、58都没有听说有分区表相关的应用,业内进行一些技术交流的时候也更多的是自己分库分表,而不是使用分区表。于是去网上查了一下,并询问了58到家的DBA专家,将自己收到的信息沉淀下来,share给大伙。

解决什么问题?

回答:当mysql单表的数据库过大时,数据库的访问速度会下降,“数据量大”问题的常见解决方案是“水平切分”。

mysql常见的水平切分方式有哪些?

回答:分库分表,分区表

什么是mysql的分库分表?

回答:把一个很大的库(表)的数据分到几个库(表)中,每个库(表)的结构都相同,但他们可能分布在不同的mysql实例,甚至不同的物理机器上,以达到降低单库(表)数据量,提高访问性能的目的。

分库分表往往是业务层实施的,分库分表后,为了满足某些特定业务功能,往往需要rd修改代码。

什么是mysql的分区表?

回答:所有数据还在一个表中,但物理存储根据一定的规则放在不同的文件中。这个是mysql支持的功能,业务rd代码无需改动。

看上去分区表很帅气,为什么大部分互联网还是更多的选择自己分库分表来水平扩展咧?

回答:

1)分区表,分区键设计不太灵活,如果不走分区键,很容易出现全表锁

2)一旦数据量并发量上来,如果在分区表实施关联,就是一个灾难

3)自己分库分表,自己掌控业务场景与访问模式,可控。分区表,研发写了一个sql,都不确定mysql是怎么玩的,不太可控

4)运维的坑,嘿嘿

5)…

文章很短,一分钟搞定,希望大家有收获,有任何疑问欢迎提出,我不懂的再去问DBA专家。如果大家有分区表的应用,踩了什么坑,亦可回复,我下一篇文章share出来。

埋坑:如何来进行水平切分,分库分表?如果大伙感兴趣,后续和大家聊更多的数据库架构。

想了解什么技术,大家做主。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-09-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 架构师之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
互联网公司为啥不使用mysql分区表?(一分钟系列)
缘起:有个朋友问我分区表在58的应用,我回答不出来,在我印象中,百度、58都没有听说有分区表相关的应用,业内进行一些技术交流的时候也更多的是自己分库分表,而不是使用分区表。于是去网上查了一下,并询问了58到家的DBA专家,将自己收到的信息沉淀下来,share给大伙。
海涛
2019/12/20
4830
互联网公司为啥不使用mysql分区表?
缘起:有个朋友问我分区表在58的应用,我回答不出来,在我印象中,百度、58都没有听说有分区表相关的应用,业内进行一些技术交流的时候也更多的是自己分库分表,而不是使用分区表。于是去网上查了一下,并询问了58到家的DBA专家,将自己收到的信息沉淀下来,share给大伙。
Dlimeng
2023/06/28
2100
互联网公司为啥都不用MySQL分区表?
当MySQL单表的数据量过大时,数据库的访问速度会下降,“数据量大”问题的常见解决方案是“水平切分”。
架构师之路
2023/08/10
5030
互联网公司为啥都不用MySQL分区表?
大厂原来都这么对MySQL分库分表!
传统的将数据集中存储至单一数据节点的解决方案,在容量、性能、可用性和运维成本这三方面难满足海量数据场景。在单库单表数据量超过一定容量水位的情况下,索引树层级增加,磁盘I/O也很可能出现压力,会导致很多问题。
JavaEdge
2022/11/30
4.7K0
大厂原来都这么对MySQL分库分表!
面试总被问分库分表怎么办?你可以这样怼他
微服务、分布式大行其道的当下,中、高级Java工程师面试题中高并发、大数据量、分库分表等已经成
程序员小富
2020/02/25
6040
面试总被问分库分表怎么办?你可以这样怼他
MySQL:互联网公司常用分库分表方案汇总
不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是,可用数据库连接少甚至无连接可用。接下来就可以想象了吧(并发量、吞吐量、崩溃)。
java进阶架构师
2020/04/02
8770
一文搞定MySQL的分区技术、NoSQL、NewSQL、基于MySQL的分表分库
上文讲到,查询分离的方案存在三大不足,其中一个就是:当主数据量越来越大时,写操作会越来越缓慢。这个问题该如何解决呢?可以考虑分表分库。
愿天堂没有BUG
2022/10/28
7260
一文搞定MySQL的分区技术、NoSQL、NewSQL、基于MySQL的分表分库
【建议收藏】MySQL 三万字精华总结 —分区、分表、分库和主从复制(五)
一般情况下我们创建的表对应一组存储文件,使用MyISAM存储引擎时是一个.MYI和.MYD文件,使用Innodb存储引擎时是一个.ibd和.frm(表结构)文件。
码农编程进阶笔记
2021/07/20
2.5K0
【建议收藏】MySQL 三万字精华总结 —分区、分表、分库和主从复制(五)
在实践中使用ShardingJdbc组件的正确姿势(一)
在互联网时代,随着业务数量的暴增和应用规模的不断扩大,无论是oracle还是mysql这样子的关系型数据库,都会面临服务器CPU、磁盘IO和内存的各种瓶颈问题。基于此情况,各个业务团队迫切需要一种数据分片的方案将业务数据量存储成本分摊到成本可控的各个普通数据库服务器上,数据库切分的方案便应运而生。
用户2991389
2018/09/05
2.2K0
在实践中使用ShardingJdbc组件的正确姿势(一)
对MySQL分库分表的一些理解
MySQL的数据量到达一定的限度之后,它的查询性能会下降,这不是调整几个参数就可以解决的,如果我们想要自己的数据库继续保证一个比较高的性能,那么分库分表在所难免。
AsiaYe
2019/11/06
6590
企业互联网+转型实战:如何进行PB级别数据的架构变迁
随着 DT 时代的来临,数据对于企业经营决策的价值日益凸显,而企业在进行互联网+转型的过程中,如何让数据架构平滑迁移到大数据平台,对于传统业务的转型升级至关重要。企业 IT 部门该如何进行 PB 级别大数据平台的迁移规划呢,请看云智慧运维总监张克琛带来的经验分享。 提到 PB 级别的大数据解决方案市面上有很多,比较火的有 Hadoop、Spark、Kafka 等等,如果是一个新上线的系统,相信大家都能找到适合自己的方案。但“大数据”在 09 年才逐渐成为互联网信息技术的流行词汇,一个较老的系统如何平滑迁移到
张戈
2018/03/21
1.3K0
企业互联网+转型实战:如何进行PB级别数据的架构变迁
Mysql优化-表分区
已经基于行级锁的话,就没有办法从软件层面提升并发度了,否则会事务冲突。所以思路:行级锁、物理层面提升。
码客说
2019/10/21
4.8K0
大型互联网公司订单库分区分表优化实践
原订单表的数据量巨大,且业务要求查询维度较多,即使加了两个从库,优化索引,仍然存在很多查询不理想的情况。去年大量抢购活动的开展,使数据库达到瓶颈,应用只能通过限速、异步队列等对其进行保护;业务需求层出不穷,原有的订单模型很难满足业务需求,但是基于原订单表的DDL又非常吃力,无法达到业务要求。
物流IT圈
2019/07/16
1.6K0
大型互联网公司订单库分区分表优化实践
MySQL分库分表分区解析
- 概念:分区是在数据库内部层面将一张大表的数据分割成多个更小的部分,每个部分称为一个分区。尽管从逻辑上看仍然是一个完整的表,但在物理层面上,数据被分布在不同的物理区块上,这些区块可以位于同一台服务器的不同硬盘分区,或甚至是不同服务器上。MySQL支持多种分区类型,如范围分区、列表分区、哈希分区等。
用户7353950
2024/05/25
5050
MySQL分库分表分区解析
企业面试题|最常问的MySQL面试题集合(三)
问题27:简述MySQL分表操作和分区操作的工作原理,分别说说分区和分表的使用场景和各自优缺点。
民工哥
2020/09/16
8950
企业面试题|最常问的MySQL面试题集合(三)
MySQL分区表
随着业务的发展,当然现在比较流行的微服务无非就是业务垂直拆分+功能水平拆分,应用加节点是比较简单的,但是每个业务的单库单表扛不住了;数据库分库分表相对来说更复杂一点,但是分区表可以继续支持业务发展两三年,人手有限的情况下,我觉得分布表更合适一点。架构的终极目标是用最小的人力成本来满足就构建维护系统的需求。
只喝牛奶的杀手
2019/09/02
5.1K0
MySQL分区表
MySQL对于千万级的大表要怎么优化?
首先采用Mysql存储千亿级的数据,确实是一项非常大的挑战。Mysql单表确实可以存储10亿级的数据,只是这个时候性能非常差,项目中大量的实验证明,Mysql单表容量在500万左右,性能处于最佳状态。
友儿
2022/09/11
2.3K0
Java高并发系统设计-MySQL分库分表
传统的将数据集中存储至单一数据节点的解决方案,在容量、性能、可用性和运维成本这三方面难于满足海量数据场景。在单库单表数据量超过一定容量水位的情况下,索引树层级增加,磁盘 IO 也很可能出现压力,会导致很多问题。
JavaEdge
2021/02/22
3.5K0
Java高并发系统设计-MySQL分库分表
Mysql分库分表(1) --- 概念篇
前两篇文章重点讲到了Mysql数据库的主从同步和读写分离,使用主从同步实现从数据库从主数据同步数据保持主从数据一致性,读写分离使用主数据库负责写操作,多个从数据库负责读操作,由于从库可以进行拓展,所以处理更多的读请求也没问题。但是如果业务比较多,写请求越来越多要如何处理呢?可能有人说我可以再加一个master分担写操作,但是两个master数据肯定是需要同步的,主主同步 + 主从同步很显然会让我们的系统架构变得更为的复杂。所以本篇文章主要讨论一个对写操作进行切分的技术:分库分表。
创译科技
2019/10/24
1.1K0
『互联网架构』软件架构-mysql终级解决方案分库分表(65)
举例:一个用户表有很多的属性,关联了很多数据,如果放到同一个表里面的话查询是方便了,但是效率不行。
IT架构圈
2019/05/31
9160
推荐阅读
相关推荐
互联网公司为啥不使用mysql分区表?(一分钟系列)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档