您的当前位置:首页 >域名 >面试官:谈谈你对分库分表的理解? 正文
时间:2025-11-05 05:15:15 来源:网络整理编辑:域名
在 MySQL 集群架构中有两种主流的集群实现,一种是读写分离,而另外一种则是数据分片。所谓的数据分片其实就是今天要聊的分库分表技术。分库分表技术不但是日常工作中用于解决数据库中的数据量会急剧增长,解
在 MySQL 集群架构中有两种主流的面试集群实现,一种是官谈读写分离,而另外一种则是谈对数据分片。所谓的分库分表数据分片其实就是今天要聊的分库分表技术。
分库分表技术不但是面试日常工作中用于解决数据库中的数据量会急剧增长,解决单库单表性能瓶颈的官谈一种方案,更是谈对面试中的高频知识点。
在阿里巴巴的分库分表《Java 开发手册》中规定:当单表的数据超过 500 万,或单表的面试大小超过 2GB 时,就要考虑分库分表了。官谈那么什么是谈对分库分表呢?
首先来说,“分库分表”不是分库分表一个技术,而是面试两个技术实现,它分为:
分库垂直分库
水平分库
分表垂直分表
水平分表
1.1 垂直分库垂直分库是官谈按照业务将不同的表拆分到不同的数据库中。云服务器提供商例如,谈对在一个电商数据库中的用户表和订单表分别存放到不同的数据库中,如下图所示:
图片
水平分库是将数据按照一定的规则(如用户 ID 取模、哈希等)分布到不同的数据库中。比如,根据用户 ID 对 10 取模,将用户数据分布到 10 个不同的数据库中,每个数据库都保存着完整的数据表结构,如下图所示:
图片
垂直分表是将一张表按照列的相关性拆分成多张表。例如,将一个包含大量字段的用户表,拆分为用户基本信息表和用户扩展信息表,如下图所示:
图片
水平分表是将一张表的数据按照行进行拆分。例如按照用户 ID 的范围或者哈希值将数据拆分到不同的表中。
图片
如果搞不清楚什么是垂直分表和什么是水平分表?可以参考一下这幅图思考一下:
分库分表的主流实现技术有以下两种:
MyCatApache Sharding SphereSharding Sphere 相比于 MyCat 来说,它的高防服务器优势是:
功能更多:除了读写分离和分库分表之外,还提供了数据加密、流量质量、数据迁移等功能。社区更活跃度和生态更好:Sharding Sphere 拥有活跃的社区和丰富的文档,生态系统较为完善,有更多的用户和开发者参与。灵活性和扩展性:Sharding Sphere 灵活性更高,扩展性也更好,它可以方便地与其他技术集成,这方便 MyCat 支持的比较有限。Sharding Sphere 最早是当当网的内部框架,后面捐献给了 Apache,目前也是分库分表的主流技术实现方案,在 Sharding Sphere 中有两种分库分表的技术实现:
Sharding Sphere JDBC:定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。它使用客户端直连数据库,以 jar 包形式提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,企商汇完全兼容 JDBC 和各种 ORM 框架。
图片
图片
它们的区别如下:
ShardingSphere-JDBC
ShardingSphere-Proxy
支持数据库
任意
MySQL/PostgreSQL
连接消耗数
高
低
支持语言
仅 Java
任意
性能
损耗低
损耗略高
无中心化
是
否
Sharding Sphere JDBC 和 Sharding Sphere Proxy 使用场景分别是啥?ShardingSphere-JDBC 具体实现步骤有哪些?说说它的实现原理?
电脑按键使用教程(简明易懂的电脑按键使用指南,快速学会提升工作效率)2025-11-05 05:13
机房重构——存储过程当媒人2025-11-05 05:11
DrayTek 路由器爆远程代码执行漏洞2025-11-05 04:41
理解工作角色和选择网络安全职业的指南2025-11-05 04:18
乐视1s手机评价如何?(从用户角度看乐视1s手机的优点和问题)2025-11-05 04:09
SVM的Map-Reduce数据挖掘算法2025-11-05 04:04
高效Redis Client多线程操作的并发吞吐设计2025-11-05 03:41
腾讯大数据平台的秘密——多维度交叉分析2025-11-05 03:01
Win7组装教程(详细步骤带你了解Win7操作系统的组装过程)2025-11-05 02:37
都说区块链“安全”,为什么 DeFi 黑客如此猖獗?2025-11-05 02:33
页面设置方法与文章布局技巧(提高文章可读性的关键步骤和注意事项)2025-11-05 05:05
把ElasticSearch当成是NoSQL数据库2025-11-05 05:01
《数据出境安全评估办法》发布:出海企业需加快对标合规2025-11-05 04:59
SQL Server 2008中增强的汇总技巧2025-11-05 04:36
电脑按键使用教程(简明易懂的电脑按键使用指南,快速学会提升工作效率)2025-11-05 04:33
恶意软件Raccoon升级,窃取密码效率将大大提高2025-11-05 03:43
Oracle 12c新特性对于业务上的一些影响总结2025-11-05 03:13
2014年值得关注的十个Hadoop大数据创业公司2025-11-05 03:09
电脑wis系统安装教程(电脑wis系统安装详解,助你提升工作效率与便捷性)2025-11-05 02:54
恶意软件Raccoon升级,窃取密码效率将大大提高2025-11-05 02:44