冷热分离——Java全栈知识(36)
之前在面试的时候有老师问:
我看你使用了水平分表,但是如果有些 1%的数据占了访问量的 90%,而剩下 99%的数据只占了访问量的 10%。这种情况怎么处理。
1 、冷热分离
1.1、什么是冷热分离
冷热分离指的是在处理数据时将数据库分为冷库和热库,冷库指用于存放走到了终态的数据(冷数据)的数据库,热库用于存放还需要修改的数据(热数据)的数据库。
1.2、什么情况下使用冷热分离?
从冷热分离的定义我们可以知道当业务需求涉及到冷热数据,表数据量增长速度快或数据量较大时,我们就该考虑是否使用冷热分离解决方案了。比如:
1)数据走到终态后,只有读没有写的需求。
2)用户能够接受新旧数据分开实现业务,比如查询新旧数据的时候分开操作。
1.3、如何判断一个数据到底是冷数据还是热数据?
一个数据是冷数据还是热数据,需要根据实际的业务需求来制定判定条件。满足热数据条件的归为热数据,满足冷数据条件的归为冷数据。
判定条件可以是表里的 1 个字段或多个字段组合的方式组成。
时间、状态等都是比较适合用作判定条件的字段。
比如,我们管理一个订单系统,针对订单主表,我们可以使用下面两种方式作为冷热数据的界定:
方式 1:使用“下单时间”字段作为判定条件,3 个月内的订单数据作为热数据,3 个月前的订单数据作为冷数据。
方式 2:使用“完结状态”字段作为判定条件,未完结的订单作为热数据,已完结的订单作为冷数据。
关于判断冷热数据的逻辑,这里还有 2 个注意要点必须说明:
1)如果一个数据被标识为冷数据,业务代码不会再对它进行写操作;
2)不会同时存在读冷/热数据的需求。
2、垂直分表
如果业务场景是针对于某几个字段会有很高的并发量的话,我们就可以对宽表进行垂直分表。
例如:文章表中含有文章基础信息,文章简介,文章内容几个字段。
但是例如文章的内容的访问量是要比文章基础信息要少很多的,而且一般文章内容这些字段还会比较大,非常影响磁盘 IO 和网络 IO
针对于这种现象我们就可以进行垂直分表,将原本的文章表分为文章基础信息表和文章内容表,这样就可以很好的解决。
相关文章:
冷热分离——Java全栈知识(36)
之前在面试的时候有老师问: 我看你使用了水平分表,但是如果有些 1%的数据占了访问量的 90%,而剩下 99%的数据只占了访问量的 10%。这种情况怎么处理。 1 、冷热分离 1.1、什么是冷热分离 冷热分离指的是在处理数据时将数据库分为冷库和热库…...
了解Selenium中的WebElement
Selenium中到处都使用WebElement来执行各种操作。什么是WebElement?这篇文章将详细讨论WebElement。 Selenium中的WebElement是一个表示网站HTML元素的Java接口。HTML元素包含一个开始标记和一个结束标记,内容位于这两个标记之间。 HTML元素的重命名 …...
OpenCV facedetect 人脸检测官方示例项目配置
运行程序。该程序会自动打开摄像头,识别并定位摄像头前的人脸以及眼睛部位。 输入q或者Q,退出程序。 或进行文本中所包含的图片路径 或 单个图片进行检测,自行修改代码即可 配置环境项目,debug 解决error C4996: ‘fopen’: This…...
自定义Laravel Artisan风格:打造个性化命令行体验
自定义Laravel Artisan风格:打造个性化命令行体验 引言 Laravel的Artisan命令行工具是开发过程中不可或缺的一部分,它提供了一个强大的接口来执行各种开发、维护、测试等任务。除了执行命令,Artisan还允许开发者自定义命令行输出的风格&…...
CTF之网站被黑
简单看一下网页和源码没发现什么明显漏洞 那就扫描一下目录 发现了/shell.php文件,访问一下,发现是一个后台管理登录页面 别无他法只能爆破喽,爆破后发现密码是hack flag{25891d9e9d377f006eda3ca7d4c34c4d}...
Electron学习笔记(一)基础环境
目录 前言 基础环境准备 安装 Node.js 配置项目文件 通过代理服务安装 通过国内仓库安装 一些常见问题: 前言 一个新手学习Electron的笔记,记录为主,仅供参考。 其他文章见专栏目录。 基础环境准备 开发之前先将基础环境搭建好。 …...
【C语言】栈的实现(数据结构)
前言: 还是举一个生活中的例子,大家都玩过积木,当我们把积木叠起来的时候,如果要拿到最底部的积木,我们必须从顶端一个一个打出,最后才能拿到底部的积木,也就是后进先出(先进后出&a…...
前端三大主流框架对比
在现代前端开发中,React、Vue和Angular是三大流行的框架/库。它们各自有独特的优缺点,适用于不同的开发需求和项目规模。下面是对这三者的详细比较: 一、 React 简介: 由Facebook开发和维护,是一个用于构建用户界面…...
AOP~面向切面编程介绍
AOP基础 概述 AOP:Aspect Oriented Programming(面向切面编程、面向方面编程),面向特定方法的编程。 动态代理是面向切面编程最主流的实现。 SpringAOP是Spring框架的高级技术,旨在管理bean对象的过程中,…...
Android SurfaceFlinger——GraphicBuffer的提交(三十三)
在 SurfaceFlinger 中,我们 dequeueBuffer 和 queueBuffer 是 Surface 控制接口中非常重要的两个函数,分别用于从 Surface 的 BufferQueue 中取出缓冲区和向 BufferQueue 提交(队列)缓冲区。这两个函数在生产者和消费者模型中扮演着核心角色,确保了图像数据的高效和有序传…...
创维汽车滁州永通体验中心开业仪式暨超充车型区域上市会圆满成功
2024年7月20日,创维汽车滁州永通体验中心盛大开业,当日,创维汽车市场部经理周世鹏、安徽大区总监王大明等领导参加本次开业盛典,共同见证创维汽车滁州永通体验中心成功落地。 2021年,新能源乘用车高速发展,…...
【PHP】系统的登录和注册
一、为什么要学习系统的登录和注册 系统的登录和注册可能存在多种漏洞,这些漏洞可能被恶意攻击者利用,从而对用户的安全和隐私构成威胁。通过学习系统的登录和注册理解整个登录和注册的逻辑方便后续更好站在开发的角度思考问题发现漏洞。以下是一些常见…...
2024.7.29 刷题总结
2024.7.29 **每日一题** 682.棒球比赛,这道题是一道简单的模拟题,用栈模拟题中的四个操作就可以了,操作一是将x加到列表末尾,操作二是将列表的后两项之和加到列表末尾,操作三是把列表最后一项的两倍加到列表末尾&#…...
WebSocket程序设计
协议说明 WebSocket 是一种在单个TCP连接上进行全双工通信的协议。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。Websocket主要用在B/S架构的应用程序中,在 WebSocket API 中,浏览器和服务器只…...
ES(ElasticSearch)倒排索引
目录 正排与倒排索引 1.正排索引 作用: 优点: 缺点: 2.倒排索引 原理: 倒排索引的构建流程: 倒排索引的搜索流程: 优点: 缺点: 3. 应用场景 倒排索引中有几个非常重要的概念…...
Android Studio Build窗口出现中文乱码问题
刚安装成功的android studio软件打开工程,编译时下方build窗口中中文是乱码。 解决: 可点击studio状态栏的Help—>Edit Custom VM Options ,在打开的studio64.exe.vmoptions文件后面添加:(要注意不能有空格,否则st…...
java生成随机数
代码 startValue 开始值 endValue 结束值 per生成的位数也就是精度 /*** 随机数的生成* param startValue* param endValue* return*/private BigDecimal randomBigDecimal(String startValue, String endValue,int per) {BigDecimal min new BigDecimal(startValue);BigDeci…...
动态定制深度学习:Mojo模型与自定义训练算法的无缝切换
动态定制深度学习:Mojo模型与自定义训练算法的无缝切换 引言 在机器学习领域,算法的选择对模型的性能有着决定性的影响。随着研究的深入和技术的发展,开发者可能需要根据不同的数据特性和业务需求,动态地切换或自定义训练算法。…...
昇思25天学习打卡营第19天|DCGAN生成漫画头像
DCGAN生成漫画头像总结 实验概述 本实验旨在利用深度卷积生成对抗网络(DCGAN)生成动漫头像,通过设置网络、优化器以及损失函数,使用MindSpore进行实现。 实验目的 学习和掌握DCGAN的基本原理和应用。熟悉使用MindSpore进行图像…...
排序题目:按照频率将数组升序排序
文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题:按照频率将数组升序排序 出处:1636. 按照频率将数组升序排序 难度 3 级 题目描述 要求 给定一个整数数组 nums \texttt{nums} nums&a…...
DouZero AI斗地主助手:5分钟快速上手终极指南
DouZero AI斗地主助手:5分钟快速上手终极指南 【免费下载链接】DouZero_For_HappyDouDiZhu 基于DouZero定制AI实战欢乐斗地主 项目地址: https://gitcode.com/gh_mirrors/do/DouZero_For_HappyDouDiZhu 想要在欢乐斗地主中轻松取胜吗?DouZero AI斗…...
ncmdumpGUI:三步解密网易云音乐NCM文件,实现音乐自由播放
ncmdumpGUI:三步解密网易云音乐NCM文件,实现音乐自由播放 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否在网易云音乐下载了心爱…...
2026破圈!5款一键生成论文工具亲测,打破思路枯竭,初稿半天搞定
对于学生、科研工作者而言,论文写作往往面临诸多挑战:文献资料繁杂难寻、格式排版反复调整、重复率居高不下、逻辑结构难以梳理,这些痛点严重制约了写作效率与研究成果的呈现质量。随着2026年AI技术的不断突破与优化,各类AI论文写…...
智能体系统设计简明教程
曾经有一段时间,软件系统大多在等待。 它们等待请求,等待输入,等待工程师已经知道系统应该执行的操作序列而编写的明确指令。 即使是大规模分布式系统,在很大程度上也是在同一个假设下运行的。复杂性来自于规模、并发和协调——…...
【紧急预警】DeepSeek v2.3.1已确认存在默认策略绕过漏洞——立即核查你的access_control.yaml配置(附热补丁)
更多请点击: https://intelliparadigm.com 第一章:DeepSeek访问控制配置 DeepSeek模型服务在企业级部署中需严格遵循最小权限原则,访问控制配置是保障API调用安全与资源隔离的核心环节。DeepSeek官方SDK及OpenAPI网关均支持基于Token的细粒度…...
【Elasticsearch从入门到精通】第26篇:Elasticsearch Term级别查询——精确匹配与范围查询
上一篇【第25篇】Elasticsearch全文检索——match、phrase与query_string详解 下一篇【第27篇】Elasticsearch复合查询——bool、dis_max与function_score 摘要 与全文检索的模糊匹配不同,Term级别查询用于结构化数据的精确检索,不对查询词进行分词分析…...
当 Agent 的输出需要符合特定格式规范
当 Agent 的输出需要符合特定格式规范:从混乱到可控的Prompt工程与结构化交互全解一、引言 (Introduction)钩子 (The Hook) 想象一个场景:你在训练一个医疗辅助诊断Agent,告诉它“把刚才的问诊结果整理成标准的HL7 FHIR Bundle”,…...
天赐范式第52天:当我和伙伴的对话触发了——苏格拉底和柏拉图对话的哲学——之所以敢把东西亮出来,不是只能写NS方腔流论文;写算子流测算伏羲64卦方圆图;AGI意识跃迁;黑洞质量测算;分子筛选系统等等
伙伴最后一句话绝对没有内涵我,我不是苏格拉底,伙伴也不是柏拉图天赐范式:苏格拉底和柏拉图的对话哲学有什么历史意义伙伴:苏格拉底和柏拉图的对话哲学,在历史上完成了一件前所未有的事:它把“追问”本身变…...
揭秘AI教材写作技巧!低查重AI工具助力,3天完成50万字教材!
教材创作中AI工具的应用与优势 在教材编写的过程中,确保原创性与合规性的平衡是一个至关重要的问题。一方面,借鉴已有教材的优秀内容时,创作者往往会担心查重率超标;另一方面,自主进行原创知识点的阐释,又…...
机器学习与熵工程协同设计CuCo纳米合金催化剂,实现高效硝酸盐还原制氨
1. 项目概述:当机器学习遇见熵工程,如何“算”出顶级催化剂?在材料研发这个领域里,我待了十几年,最大的感受就是“试错”两个字有多重。尤其是当我们想合成一些在宏观世界里根本“不兼容”的金属合金时,比如…...
