Java面试题:分库分表

分库分表

当数据量非常大时,就需要通过分库分表的方式进行压力分摊,避免数据库访问压力过大

分库分表的前提:

业务数据达到一定量级:单表数据量达到1000w或20g

优化解决不了性能问题

分库分表策略

垂直拆分

垂直分库

以表为依据,根据业务将不同表拆分到不同库中

eg:根据微服务拆分数据库成多个数据库

按照业务对数据进行分级管理
在高并发下提高磁盘的IO和数据库连接数
垂直分表

以字段为依据,根据字段属性将不同字段拆分到不同表中

拆分规则:

将大文本的字段或者是不常用的字段拆出来单独成为一个表

冷热数据分离
减少IO的过度争抢,两个表不会互相影响

水平拆分

水平分库

将一个库的数据分到多个库中(表相同,但数据不同)

查询数据时根据数据路由

路由规则:

根据id节点取模

或按照id的范围进行路由

解决了单库大数量,高并发的问题
提高了系统的稳定性和可用性
水平分表

将一个表的数据拆到多个表中(可以在同一个库内)

查询数据时根据数据路由

优化单表数据量过大问题
避免IO争抢

分库分表下的问题

分布式事务问题
跨节点的关联查询
跨节点的分页和排序
主键避重

一般通过中间键mycat或者sharding-sphere进行处理解决这些问题

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

车载终端_RTK定位|4路摄像头|驾驶辅助系统ADAS定制方案

现代车辆管理行业的发展趋势逐渐向智能化和高效化方向发展,车载终端成为关键的工具之一。在这个背景下,一款特别为车队管理行业设计的车载终端应运而生。该车载终端采用8寸多点触控电容屏,搭载联发科四核处理器,主频2.0GHz&#x…

如何安装node.js

Node.js Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境。 主要特点和优势: 非阻塞 I/O 和事件驱动:能够高效处理大量并发连接,非常适合构建高并发的网络应用,如 Web 服务器、实时聊天应用等。 例如,在…

FeignClient详解

FeignClient 是 Spring Cloud Open Feign 中的一个注解,它用于定义一个 Feign 客户端,Feign 是一个声明式的 Web 服务客户端,使得编写 Web 服务客户端变得更加简单。以下是 FeignClient 注解的详细说明: 定义 Feign 客户端&#x…

网络安全——防御(防火墙)带宽以及双机热备实验

12,对现有网络进行改造升级,将当个防火墙组网改成双机热备的组网形式,做负载分担模式,游客区和DMZ区走FW3,生产区和办公区的流量走FW1 13,办公区上网用户限制流量不超过100M,其中销售部人员在其…

Swift入门笔记

Swift入门笔记 简单值控制流函数和闭包对象和类枚举和结构体并发协议和扩展错误处理泛型 简单值 // 声明变量 var myVariable 42 myVariable 50// 声明常量 let myConstant 42// 声明类型 let implicitInteger 70 let implicitDouble 70.0 let explicitDouble: Double 7…

排序相关算法--3.选择排序

之前涉及的堆排序就是选择排序的一种,先进行选择。 基本选择排序: 最简单,也是最没用的排序算法,时间复杂度高并且还是不稳定的排序方法,项目中很少会用。 过程: 在一个长度为 N 的无序数组中,…

智慧公厕系统助力城市卫生管理

在当今快速发展的城市环境中,城市卫生管理面临着诸多挑战。其中,公共厕所的管理一直是一个重要但又常被忽视的环节。然而,随着科技的不断进步,智慧公厕系统的出现为城市卫生管理带来了全新的解决方案,成为提升城市品质…

OrangePi AIpro 浅上手

OrangePi AIpro 浅上手 OrangePi AIpro 介绍开发版介绍硬件规格顶层视图和底层视图接口详情图 玩转 OrangePi AIPro烧录镜像串口调试连接 WiFissh 连接配置下载源 使用感受优点:缺点或需注意的点: OrangePi AIpro 介绍 开发版介绍 OrangePi AIpro是香橙…

【大语言模型】私有化搭建-企业知识库-知识问答系统

下面是我关于大语言模型学习的一点记录 目录 人工智能学习路线 MaxKB 系统(基于大语言模型的知识问答系统) 部署开源大语言模型LLM 1.CPU模式(没有好的GPU,算力和效果较差) 2.GPU模式(需要有NVIDIA显卡支持) Ollama网络配置 Ollama前…

【问卷系统】TDucKX更新速览

TDuck是一款在线表单问卷收集工具,开源地址:https://gitee.com/TDuckApp一款免费的表单问卷系统;可快速创建问卷或业务表单,采用无代码理念支持开发自定义组件。采用SpringBootVueElementUI技术栈,功能强大界面清新&am…

Catena-x标准解读:CX-0007 Minimal Data Provider Service Offering v1.0.2 最小数据提供商服务产品

为了更好地理解,最小数据提供者服务也将被称为“上传工具”。 对于数据供应工具来说,数据主权的概念尤为重要。数据主权是Catena-X网络的核心价值观之一。每个参与者都应该尽可能多地控制自己的数据。这包括 他总是确切地知道他在与谁交换数据。参与者…

【GameFramework扩展应用】6-4、GameFramework框架增加AB包加解密功能

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址QQ群:398291828大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 【GameFramework框架】系列教程目录: https://blog.csdn.net/q764424567/article/details/1…

软件测试面试200问(全)

1、B/S架构和C/S架构区别 B/S 只需要有操作系统和浏览器就行,可以实现跨平台,客户端零维护,维护成本低,但是个性化能力低,响应速度较慢 C/S响应速度快,安全性强,一般应用于局域网中&#xff0…

【matlab】智能优化算法优化BP神经网络

目录 引言 一、BP神经网络简介 二、智能优化算法概述 三、智能优化算法优化BP神经网络的方法 四、蜣螂优化算法案例 1、算法来源 2、算法描述 3、算法性能 结果仿真 代码实现 引言 智能优化算法优化BP神经网络是一个重要的研究领域,旨在通过智能算法提高…

变量筛选—特征包含信息量

在变量筛选中,通过衡量特征所包含信息量大小,决定是否删除特征,常用的指标有单一值占比、缺失值占比和方差值大小。单一值或缺失值占比越高,表示特征包含信息量越少,不同公司设置不同阈值,一般单一值、缺失值占比高于95%,建议删除。方差值越小,代表特征包含信息量越小。…

入职前回顾一下git-01

git安装 Linux上安装git 在linux上建议用二进制的方式来安装git,可以使用发行版包含的基础软件包管理工具来安装。 红帽系 sudo yum install gitDebian系 sudo apt install gitWindows上安装git 去官网下载和操作系统位数相同的安装包.或者可以直接安装GitHub…

模板引擎是什么?

模板引擎(Template Engine)是一种用于生成文本输出的工具,尤其在Web开发中应用广泛。它的主要目的是将用户界面(通常是HTML等模板文件)与业务数据(内容)分离,从而提供一种高效、灵活…

[图解]SysML和EA建模住宅安全系统-14-黑盒系统规约

1 00:00:02,320 --> 00:00:07,610 接下来,我们看下一步指定黑盒系统需求 2 00:00:08,790 --> 00:00:10,490 就是说,把这个系统 3 00:00:11,880 --> 00:00:15,810 我们的目标系统,ESS,看成黑盒 4 00:00:18,030 --> …

spring管理bean源码解析

1. 从启动类开始 public static void main(String[] args) {// Run the SpringApplication class with the Application class as the first argumentSpringApplication.run(Application.class, args);}2. bean 实例化 // SpringAplication row1294,1295 run() // SpringApli…

Power Apps使用oData访问表数据并赋值前端

在使用OData查询语法通过Xrm.WebApi.retrieveMultipleRecords方法过滤数据时,你可以指定一个OData $filter 参数来限制返回的记录集。 以下是一个使用Xrm.WebApi.retrieveMultipleRecords方法成功的例子,它使用了OData $filter 参数来查询实体的记录&am…