分库分表浅析原理

数据库存放数据大了,查询等操作就会存在瓶颈,怎么办?

1. 如果是单张表数据大了,可以在原有库上新建几张表table_0、table_1、table_2、.....table_n

写程序对数据进行分表:

    --这里提供一种一种分表策略,这里只需维护分片字段与表序号的关系

伪代码:

   if(主键id % n)= x

   for( table:list [table_0、table1、table2、.....table_n ]){

       if(table.split("_")[1] = x ){

         //执行sql: INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
       }
   }

如果数据还是很大,放在一个库都嫌拥挤,那就新增数据库,与上面的同理,就是维护分片字段与某数据库和某个库里的表

伪代码:假设有n个库,每个库有m张表

   if(主键id % n)= x

   if(主键id % m) = y

那么  大表里这条数据将落在第x库里的第y张表

 执行

   connet = JDBC.connet(x)

   connet.stamet.excute(inset into y..... ) 

    

实现技术原理:

根据所使用的技术不同拦截层面有多种,我想到就有

 1. SpringMVC 的拦截器可以在Controller层面实现上述分表策略

 2. 使用Aop 进行拦截,也能实现在Controller或Service层面实现上述分表策略

 3. 单独起一个微服务进行(如网关)进行拦截实现上述分表策略

 4. 使用中间件mycat 、sharding jdbc等原理跟3是差不多的,只不过有更丰富的分表策略和更成熟的方案

当然实际我们会使用定时任务 + 线程池+本地缓存(存limit值,防重复) 去扫描大表数据    分段 select * from big_table limit 1,1000 这样分表

补充:水平切分和垂直切分

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/447792.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

动态规划-背包问题 分析+代码

这里写自定义目录标题 介绍背包问题过程分析例题题目说明代码输出结果 介绍背包问题 背景:在现实生活中,我们常常会面临需要在有限空间内做出最优选择的情况,比如旅行时需要选择携带哪些物品,或者在资源有限的情况下选择最有利可图…

EASY-LASER激光对中仪维修E710镭射仪联轴器维修

Easy-Laser激光对中仪维修常见故障:触摸屏损坏(屏碎,不显示,黑屏,蓝屏,无背光等),对中仪电路板损坏,对中仪接收装置电路板维修,对中仪发射控制装置电路板等均…

CubeMX使用教程(2)——如何点亮LED

在上一章,我们完成了CubeMX的环境配置,这一章我们通过CubeMX来完成点亮LED的工作。 通过LED原理图可知,如果我们要点亮LD1(第一个灯),它对应开发板的PC8端口,因此我们应该在CubeMX中将PC8配置为…

OpenCV实战--人脸跟踪(级联分类器)

1、前言 人脸识别是基于人的脸部特征信息进行身份识别的--种生物识别技术,也是计算机视觉重点发展的技术。 机械学习算法诞生之后,计算机可以通过摄像头等输入设备自动分析图像中包含的内容信息,随着技术的不断发展,现在已经有了多种人脸识别的算法。 人脸跟踪是让计算机…

Java 语言“编译与解释并存”

程序语言的执行方式 将高级编程语言按照程序的执行方式分为两种: 编译型:编译型语言open in new window 会通过编译器open in new window将源代码一次性翻译成可被该平台执行的机器码。一般情况下,编译语言的执行速度比较快,开发…

微信jssdk获取定位计算距离

微信网页jssdk开发文档获取地理位置接口文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#36 实现: const wx require(weixin-js-sdk) const jsApiList [ getLocation ]/*** 获取定位* param {*} configData 接口获取*…

云流化技术方案的优势

数字化的时代,许多新兴的技术都逐渐走进人们的视野,云流化作为一种新兴的技术在各个领域发挥着越来越重要的作用,也为我们带来了方便快捷的使用体验,尤其是在虚拟仿真和数字孪生领域,但是有的人可能听到这个词会比较陌…

armv8/armv9不同特权程序之间的跳转模型

目录 1、前言2、4个特权等级/4个安全状态之间的跳转模型3、启动时镜像之间的跳转模型4、runtime程序之间的跳转模型推荐 本文转自 周贺贺,baron,代码改变世界ctw,Arm精选, armv8/armv9,trustzone/tee,secur…

第二证券:金价创出历史新高 黄金主题类基金“熠熠闪光”

2024年3月以来,黄金价格走出了一轮波澜壮阔的行情。上海黄金(SHFE黄金)接连8日收涨,累计涨幅近6%,3月9日夜盘创出511.66元/克的前史最高价,最新收盘价为509.32元/克,相同是前史新高。 国际金价…

福州景湖佳园120平现代风格装修,简洁有层次。福州中宅装饰,福州装修

在现代风格的装修设计中,配色方案是决定整体氛围的关键因素。以福州景湖佳园的120平米装修案例为例,设计师巧妙地运用了灰、白、蓝三种颜色,打造出了一处既简洁又富有层次感的居住空间。 首先,灰色是现代风格中非常常见的一种色彩…

C++:继承与派生

为什么会有继承这样的语法呢??试想这样一个场景:假设我们这个App需要去获取不同类型用户的数据,并进行分类,那么就需要我们去写对应不同的类,比如说学生、老师、军人、公司职工…………每个类都需要有名字、…

Python从0到100(三):Python中的变量介绍

前言: 零基础学Python:Python从0到100最新最全教程。 想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…

四川易点慧电子商务有限公司抖音小店安全正规

在如今网络购物日益普及的时代,消费者对于购物平台的选择越来越挑剔。四川易点慧电子商务有限公司抖音小店以其安全正规的经营模式,赢得了广大消费者的信赖和好评。本文将为您详细介绍四川易点慧电子商务有限公司抖音小店的优势和特点,让您在…

windows下pytorch的dataloader多进程(num_workers)问题,为何num_workers的值只能为0?

问题背景介绍 本人是windows系统,在使用torch.utils.data.Dataloader加载torchvision中的数据集时,将其中的形参num_workers设置为了大于0的数,然后出现以下错误。 原因 在 Windows 系统下,num_workers 参数在使用 PyTorch 的 t…

内部文档多维保密,如何做好内部文件的保密措施?

在企业的日常运营中,内部文档往往包含了公司的核心战略、财务数据、客户信息等重要内容。一旦这些文件泄露,可能会给企业带来无法估量的损失。 因此,做好内部文件的保密措施显得尤为关键。 这里有一件真实的案例可以参考一下。 某大型制造企…

网红老阳分享的蓝海赚钱项目,这三个真香!

在互联网经济飞速发展的当下,寻找蓝海项目成为了许多创业者和投资者的首要任务。近期,知名网红老阳分享了一些他认为具有巨大潜力的蓝海项目,其中包括RPO人力资源、视频号带货和Temu跨境电商。下面我们将对这三个项目进行详细解析。 老阳分享…

照明灯十大知名品牌排行榜,前十名护眼台灯推荐

孩子们在学习时,良好的光线至关重要,因此,护眼台灯成为了许多家庭的首选。尽管人们对于护眼台灯的使用效果持有不同观点,但我多年来的使用体验证明,护眼台灯在保护视力、减轻眼睛疲劳方面发挥着不可或缺的作用&#xf…

C++ Qt学习——Qt启动流程

目录 1、点击文件,新建文件或项目 2、选择模板为Application(Qt),Qt Qwidgets Application,再点击Choose ​编辑 3、给自己的文件起个名字 4、点击下一步 5、点击下一步 6、点击下一步 7、点击下一步 8、点击完成 9、直接…

应用方案 |安防摄像头(IPC)的步进马达及IR-CUT驱动芯片D6212

应用领域 安防摄像头(IPC)的步进马达及IR-CUT驱动。 02 功能介绍 D6212内置8路带有续流二极管的达林顿驱动管阵列和一个H桥驱动,单芯片即可实现2个步进电机和一个IR-CUT的直接驱动,使得电路应用非常简单。单个达林顿管在输入…

Verovio简介及在Windows10和Ubuntu 22.04上编译过程

Verovio是一个快速、便携、轻量级的开源库,用于将音乐编码倡议(Music Encoding Initiative(MEI))数字乐谱雕刻到SVG图像中。Verovio还包含即时转换器(on-the-fly converters)用于渲染Plaine & Easie Code、Humdrum、Musedata、MusicXML、EsAC和ABC数字乐谱。源代…