分布式系统-分库分表

简介: 分布式系统-分库分表

为什么进行分库分表?

引言

业务快速增长带来的问题

在一个系统初期,一个Java应用背后对应的是一套数据库、一套数据表。业务发展后,后天业务逻辑变长、请求数量增加、数据表数据量暴增,这种情况下会出现一系列的问题:

1、数据库连接数量逼近瓶颈;

2、单机存储容量难以控制,时长需要磁盘扩容;

3、单表数据量巨大将导致SQL执行缓慢;

4、锁等待、死锁问题时长发生;

以上问题都可以通过分库分表进行很好的缓解或解决;

分库分表都有具体含义细节?

分库分表包括分库和分表两个部分,

在生产中通常包括:垂直分库、水平分库、垂直分表、水平分表四种方式。

1、垂直分库

2、垂直分表

将一个表按照字段分成多表,每个表存储其中一部分字段;

当表数据量很大时,可以将表按字段切开,将热门字段、冷门字段分开放置在不同库中,这些库可以放在不同的存储设备上,避免IO争抢。垂直切分带来的性能提升主要集中在热门数据的操作效率上,而且磁盘争用情况减少;

通常我们按以下原则进行垂直拆分:

把不常用的字段单独放在一张表;把text,blob等大字段拆分出来放在附表中;经常组合查询的列放在一张表中;

3、水平分库

目的:

解决了单库大数据,高并发的性能瓶颈,提高了系统的稳定性及可用性。是为解决单表数据量大的问题

4、水平分表

目的:是为解决单表数据量大的问题

相关文章
|
监控 安全 Linux
深入探讨Samba服务器的配置与使用
深入探讨Samba服务器的配置与使用
1549 0
|
机器学习/深度学习 传感器 算法
《DeepSeek赋能工业互联网:大幅提升设备故障诊断准确率》
DeepSeek技术通过多源数据融合、深度学习算法和实时在线监测,大幅提升工业互联网中设备故障诊断的准确性和及时性。它整合振动、温度、压力等多类型数据,构建精准故障模型,支持钢铁、化工、电力等行业的设备状态全面感知。DeepSeek还具备持续学习能力,适应复杂多变的工业场景,确保长期稳定的高精度故障诊断,助力企业实现高效、安全的生产运营。
982 3
|
7月前
|
安全 Linux 虚拟化
VMware Tools 12.5.4 下载 - 客户机操作系统无缝交互必备组件
VMware Tools 12.5.4 下载 - 客户机操作系统无缝交互必备组件
877 3
|
存储 网络协议 Windows
AD域备份和恢复工具
RecoveryManager Plus 是一款强大的Active Directory备份和恢复工具,弥补了Microsoft本地AD功能的不足。它不仅支持对象级和属性级的备份与还原,还能备份架构属性、组成员信息和Exchange属性等关键元素。通过简单的鼠标点击,即可恢复已删除的对象或回滚整个AD到先前状态。该工具还提供定期完整备份、增量备份、备份保留策略等功能,确保AD环境的安全性和可恢复性。此外,它支持免重启恢复,适用于多种Windows服务器版本,是保护AD环境的理想选择。
449 5
|
机器学习/深度学习 数据采集 监控
如何使用机器学习模型来自动化评估数据质量?
如何使用机器学习模型来自动化评估数据质量?
|
NoSQL Ubuntu Linux
基于ARM64的Qemu/KVM学习环境搭建2
基于ARM64的Qemu/KVM学习环境搭建2
|
前端开发 应用服务中间件 Linux
使用阿里云服务器部署前端项目
使用阿里云服务器部署前端项目,完成后可通过服务器域名访问网页
2975 0
使用阿里云服务器部署前端项目
|
人工智能 自然语言处理 算法
开源更新|语音生成大模型CosyVoice升级2.0版本
开源更新|语音生成大模型CosyVoice升级2.0版本
|
存储 安全 调度
深入理解操作系统:从基础概念到高级应用
本文将深入探讨操作系统的基本概念、功能和特性,以及其在现代计算环境中的应用。我们将从操作系统的定义和历史开始,然后详细介绍其主要组件和工作原理,包括进程管理、内存管理、文件系统和设备管理等。最后,我们将讨论一些高级主题,如操作系统的安全性、性能优化和虚拟化技术。无论您是计算机科学的学生,还是对操作系统有兴趣的技术人员,这篇文章都将为您提供深入理解和应用操作系统所需的知识和技能。
|
存储 安全 算法
密钥密码学(一)(4)
密钥密码学(一)
845 2