当前位置: 首页 > news >正文

SQL分库分表

什么是分库分表?

        分库分表是两种操作,一种是分库,一种是分表

        分库分表又分为垂直拆分水平拆分两种。

        (1)分库:将原来存放在单个数据库中的数据,拆分到多个数据库中存放。

        (2)分表:将原来存放在单个表中的数据,拆分到多个表中存放。

        垂直拆分特点:        

        (1)每个库(表)的结构都不一样;

        (2)每个库(表)的数据至少一列一样;

        (3)每个库(表)的并集是全量数据;

        水平拆分特点:

        (1)每个库(表)的结构都一样;

        (2)每个库(表)的数据都不一样;

        (3)每个库(表)的并集是全量数据

        垂直分库:专库专用,按照业务将表进行分类,分布在不同的数据库中,每个库可以放在不同的服务器上。

        根据业务拆分,如图:电商系统,拆分成订单库、会员库、商品库。

        垂直分库优点:

        (1)解决业务层面的耦合,业务清晰;

        (2)能对不同业务的数据进行分级管理、维护、监控、扩展等;

        (3)高并发场景下,垂直分库一定程度的提升IO、数据库连接数、降低单机硬件资源的瓶颈;

        垂直分表:将一个表按照字段分为多表,每个表里面都存储其中一部分字段。

        根据业务去拆分表,如图:把  user表  拆分成  user_base表  和  user_info表,user_base表 负责存储登录,user_info表 负责存储基本用户信息。

     

        水平分库:同一个表的数据按一定规则拆到不同的数据库中,库放在不同的服务器上。

 

         如图:按会员库拆分成会员1库、会员2库;以userid拆分,0~1000为1库,1001~2000为2库。

         水平分库优点:

                (1)解决了单库大数据,高并发的性能瓶颈;

                (2)提高了系统的稳定性及可用性;

        水平分表:同一个数据库内,对数据行拆分,不影响表结构。

        如图:users表 拆分成 users1表 和 users2表;

        水平分表优点:

                (1)优化单一表数据量过大而产生的性能问题。

                (2)避免IO争抢而减少锁表的几率。

相关文章:

SQL分库分表

什么是分库分表? 分库分表是两种操作,一种是分库,一种是分表。 分库分表又分为垂直拆分和水平拆分两种。 (1)分库:将原来存放在单个数据库中的数据,拆分到多个数据库中存放。 (2&…...

大数据分析案例-基于逻辑回归算法构建微博评论情感分类模型

🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 喜欢大数据分析项目的小伙伴,希望可以多多支持该系列的其他文章 大数据分析案例合集…...

0105深度优先搜索算法非递归2种实现对比-无向图-数据结构和算法(Java)

1 两种非递归实现 在前面我们解决无向图的单点通性和单点路径问题时,都用到了深度优先搜索算法。深度优先搜索算法可以用递归和非递归两种方式。这里讨论非递归实现。 无向图结构使用邻接表实现。 第一种非递归方法(推荐),代码如…...

传统手工数据采集耗时耗力?Smartbi数据填报实现数据收集分析自动化

企业在日常经营管理过程中,往往需要收集很多内外部的信息,清洗整理后再进行存储、分析、呈现、决策支持等各种作业,如何高效收集结构化数据是企业管理者经常要面对的问题。传统手工的数据采集方式不仅耗费了大量人力时间成本,还容…...

《Spring源码深度分析》第5章 Bean的加载

目录标题前言一、Bean加载入口与源码分析1、Bean加载的入口2、Bean加载源码二、FactoryBean的使用三、缓存中获取单例bean(待补充)前言 经过前面的分析,我们终于结束了对XML 配置文件的解析,接下来将会面临更大的挑战,就是对 bean 加载的探索…...

华为OD机试真题Java实现【求最大数字】真题+解题思路+代码(20222023)

求最大数字 题目 给定一个由纯数字组成以字符串表示的数值,现要求字符串中的每个数字最多只能出现2次,超过的需要进行删除;删除某个重复的数字后,其它数字相对位置保持不变。 如34533,数字3重复超过2次,需要删除其中一个3,删除第一个3后获得最大数值4533 请返回经过删…...

Java——异常机制

前言 随着对java的不断深入学习,在对语法以及编程思想有了一定的了解之后,在编程的过程中有可能会因为用户的输入不正确或者逻辑错误而出现异常或者错误,因此如何去捕捉与避免不应该出现的异常或者错误就变得十分重要。本文就介绍了java的异…...

【大数据实时数据同步】超级详细的生产环境OGG(GoldenGate)12.2实时异构同步Oracle数据部署方案(下)

系列文章目录 【大数据实时数据同步】超级详细的生产环境OGG(GoldenGate)12.2实时异构同步Oracle数据部署方案(上) 【大数据实时数据同步】超级详细的生产环境OGG(GoldenGate)12.2实时异构同步Oracle数据部署方案(中) 【大数据实时数据同步】超级详细的生产环境OGG(GoldenGate…...

ESP32设备驱动-土壤湿度传感器驱动

土壤湿度传感器驱动 1、土壤湿度传感器介绍 土壤湿度传感器由两个探头组成,用于测量水的体积含量。 两个探头让电流通过土壤,然后得到电阻值来测量水分值。 当有更多的水时,土壤会传导更多的电,这意味着电阻会更小。 因此,水分含量会更高。 干燥的土壤导电性差,所以当…...

公网远程连接MongoDB数据库【内网穿透】

文章目录1. 安装数据库2. 内网穿透2.1 创建隧道映射2.2 测试随机公网地址远程连接3. 配置固定TCP端口地址3.1 保留一个固定的公网TCP端口地址3.2 配置固定公网TCP端口地址3.3 测试固定地址公网远程访问MongoDB是一个基于分布式文件存储的数据库。由C语言编写。旨在为WEB应用提供…...

SQL注入——floor报错注入

目录 一,涉及到的函数 rand() floor() concat_ws() as别名,group by分组 count() 报错原理 一,涉及到的函数 rand()函数:随机返回0~1间的小数 floor()函数:小数向…...

P6入门:在EPS下创建项目(P6Professional)

引言 在 Primavera P6 中,一旦创建了企业项目结构EPS,就可以开始向该结构添加项目。项目是一组活动和数据,它们构成了创建产品或服务的计划。项目有开始日期和结束日期,可以包括活动、资源、工作分解结构、组织分解结构、日历、关…...

Linux安装及管理应用和账号和权限管理 讲解

♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放&#xff0…...

【JDK1.8 新特性】Stream API

1. 前言 Java8中有两大最为重要的改变。第一个是 Lambda 表达式;另外一个则是 Stream API。Stream API ( java.util.stream) 把真正的函数式编程风格引入到Java中。这是目前为止对Java类库最好的补充,因为Stream API可以极大提供Java程序员的生产力&…...

Springboot Maven打包跳过测试的五种方式总结 -Dmaven.test.skip=true

使用Maven打包的时候,可能会因为单元测试打包失败,这时候就需要跳过单元测试。也为了加快打包速度,也需要跳过单元测试。 Maven跳过单元测试五种方法。 在正式环境中运行Springboot应用,需要先打包,然后使用java -ja…...

静态链接和动态链接的区别

链接即为编译(包含预编译,编译和汇编过程)完成之后的过程,此过程又分为静态链接和动态链接两种方式。 1、静态链接 静态链接就是在生成可执行文件的时候(链接阶段),把所有需要的函数的二进制代…...

MATLAB学习笔记1

MATLAB学习笔记1 - 向量和矩阵 Matlab的数组可以是行向量,列向量,矩阵形式等 1.利用[ ]创建数组 例:包含7和9的一个数组,使用空格或,为行 x [7 9]//x是一个1*2的矩阵 y[7,9]//y是一个1*2的矩阵例:包含7和…...

Gorm -- 查询记录

文章目录查询单条记录通过结构体查询对应表指定表并将查询一条记录结果放至字典中按照主键查询查询多行记录按照主键查询使用结构体查询指定表名查询并放至字典列表中指定查询字段查询条件Where 条件(、like、in)通过结构体或字典设置查询条件或非排序Li…...

「Python 基础」错误、调试与测试

文章目录1. 错误处理2. debugassertloggingpdbIDE3. unittest编写运行setUp 与 tearDown4. doctest1. 错误处理 try:# 可能有异常的代码块r 10/int(2) except ValueError as e:# 有异常时执行,捕获指定类型及其子类型的错误print(ValueError, e) except ZeroDivis…...

17万字 JUC 看这一篇就够了(一) (精华)

JUC 今天我们来进入到 Java并发编程 JUC 框架的学习 ,内容比较多,但希望我们都能静下心来,耐心的看完这篇文章 文章目录JUC进程概述对比线程创建线程ThreadRunnableCallable线程方法APIrun startsleep yieldjoininterrupt打断线程打断 park终…...

别再只用BigGantt了!这个免费JIRA甘特图插件Gantt Suite,配置简单速度快

轻量高效的JIRA甘特图解决方案:Gantt Suite全面评测与迁移指南 在项目管理领域,甘特图作为可视化排期的黄金标准已有百年历史。然而当这一经典工具遇上现代敏捷开发平台JIRA时,许多团队却陷入了两难境地——要么忍受BigGantt等老牌插件的臃肿…...

革命性AI图像生成工具Fooocus:让创意触手可及的完整解决方案

革命性AI图像生成工具Fooocus:让创意触手可及的完整解决方案 【免费下载链接】Fooocus Focus on prompting and generating 项目地址: https://gitcode.com/GitHub_Trending/fo/Fooocus 你是否曾经被复杂的AI绘画工具吓退?Fooocus正是为你打造的解…...

告别SVN提交冲突!手把手教你配置TortoiseSVN 1.10.5的忽略列表与清理功能

告别SVN提交冲突!手把手教你配置TortoiseSVN 1.10.5的忽略列表与清理功能 团队协作开发中,版本控制系统是必不可少的工具。Subversion(SVN)作为一款经典的集中式版本控制系统,至今仍在许多项目中发挥着重要作用。然而&…...

从被看不起到被追更:《凰标》的逆袭就是行业缩影@凤凰标志

——《凰标》如何一刀劈开文娱偏见无资本即为小众,无热度即为劣质,无流量即为无用。 这条铁律,曾压弯无数民间创作者的笔。一、被看不起的开局:民间创作的“三无原罪”行业默认《凰标》现实顶级 IP 加持零 IP,纯原创豪…...

【AI面试临阵磨枪-54】如何监控 AI 系统:成功率、延迟、Token 消耗、幻觉率、调用量

一、 面试题目面试官提问: “在大规模 Agent 系统中,你是如何建立监控体系的?请针对 成功率、延迟、Token 消耗、幻觉率、调用量 这五个核心指标,详细谈谈你的采集、分析与预警方案。”二、 知识储备1. 核心背景:AI 监…...

别再手动造数据了!用Python的imgaug库5分钟搞定深度学习图像增强(附关键点/边界框处理避坑指南)

深度学习图像增强实战:用imgaug打造高效数据流水线 在计算机视觉项目中,数据增强是提升模型泛化能力的关键步骤。传统手动处理方式不仅耗时耗力,还难以保证处理一致性。本文将深入探讨如何利用Python的imgaug库快速构建自动化图像增强流程&am…...

为Odoo ERP构建安全的AI数据访问层:基于权限治理的语义查询实践

1. 项目概述:为Odoo ERP构建一个受治理的AI数据访问层如果你正在使用Odoo管理企业业务,同时又希望让AI助手(比如Claude、Cursor)能够安全地查询销售数据、分析库存状况,而不是让它们直接面对你的生产数据库写SQL&#…...

从布朗运动到伊藤公式:金融随机世界的建模基石

1. 从花粉运动到股票价格:布朗运动的金融启示 1827年,英国植物学家罗伯特布朗在显微镜下观察到花粉颗粒在水中的不规则舞动,这个看似简单的物理现象却在80年后被爱因斯坦用数学语言精确描述。有趣的是,当我们将显微镜换成股票行情…...

Taotoken模型广场如何帮助开发者快速选型,对比主流模型特性

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken模型广场如何帮助开发者快速选型,对比主流模型特性 对于需要接入大模型能力的开发者而言,面对市场…...

Gradle多模块项目实战:从settings.gradle的三种写法到自定义目录结构的完整指南

Gradle多模块项目实战:从settings.gradle的三种写法到自定义目录结构的完整指南 当你面对一个逐渐膨胀的单体项目时,如何优雅地拆分成多个模块?Gradle的多项目构建能力正是解决这一痛点的利器。本文将带你深入探索settings.gradle文件的奥秘&…...