大数据冷热分离方案

数据冷热分离方案
1、背景

​ 随着业务的发展,在线表中的数据会逐渐增加。常规业务都有冷热数据现象明显的特性(需要访问的都是近期产生的热数据;时间久远的冷数据出于备份、备案溯源等诉求会进行在线保留)。在业务表数据

量可控、数据库服务性能有足够余量时,一般不会对冷数据进行处理。

三个方面的影响:

  1. 数据量增长:随着业务的发展,在热数据表中的数据会逐渐增加。磁盘存储越来越大。

  2. 存储成本: db数据量存储越来越大,成本越来越高。

  3. 性能:db数据库数量量越来越大,性能也会随之下降。

2、系统-表数据量统计
省略…
3、简介

3.1、什么是冷热分离

​ 冷热分离就是在处理的数据的时将数据分成冷库和热库,冷库存放的是已经走到最终状态的数据,同时也是不常使用的数据;热库存放的未走到最终状态的数据,还需要在进行变更的、经常使用的数据。

3.2、什么情况下要使用冷热分离

​ 假设业务需求出现了以下情况,就可以考虑使用冷热分离的解决方案。

​ 3.2.1 数据走到终态后只有读没有写的需求,比如完结状态。

​ 3.2.2 用户能接受新旧数据分开查询,比如一些网站默认只让查询3或6个月内的订单,如果要查询3或6个月前的订单,还需要访问其他的页面.

3.3、冷热分离实现思路: 冷热数据都用MySQL。

首先我们要解决如下问题:

  1. 如何判断一个数据是冷数据还是热数据?

  2. 如何触发冷热数据分离?

  3. 如何使用冷热数据?

  4. 历史数据如何迁移。

3.3.1、如何判断一个数据是冷数据还是热数据?

​ 一般而言,在判断一个数据到底是冷数据还是热数据时,主要采用主表里一个字段或多个字段的组合作为区分标识。

​ 这个字段可以是时间维度,比如订单的****下单时间、创建时间****,可以把3或6个月前的订单数据当作冷数据,3或6个月内的订单数据当作热数据。当然,字段也可以是状态维度,比如根据订单状态字段来区分,将已完结的订单当作冷数据,未完结的订单当作热数据。

*注意*: 1. 如果一个数据被标识为冷数据,业务代码不会再对它进行写操作。 2. 不会同时存在读取冷、热数据的需求。

3.3.2、如何触发冷热数据分离?

​ 在按照时间区分冷热数据用定时扫描数据库方式。

​ 通过定时扫描数据库的方式来触发。这个方式通过用xxl-job的分布式调度平台配置一个定时任务。这个定时任务每隔一段时间就扫描一次热数据库里面的入库、上架、下架、出库主表以及数据详情表,找出符合冷数据标准的数据,进行冷热分离。
在这里插入图片描述
3.3.3、如何使用冷热数据?

​ 在功能设计的新增历史数据查询界面,历史数据查询界面和原来功能查询显示界面一样,查询调用接口的新增字段标示区分是历史数据查询界面还是热数据查询界面的方式处理。 后端通过标示来区分是否切换查询的数据源进行查询数据的方式处理。下图蓝色标记部分.
在这里插入图片描述

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

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

相关文章

安卓玩机工具推荐----高通芯片9008端口读写分区 备份分区 恢复分区 制作线刷包 工具操作解析

上期解析了下adb端口备份分区的有关操作 安卓玩机工具推荐----ADB状态读写分区 备份分区 恢复分区 查看分区号 工具操作解析 在以往的博文中对于高通芯片机型的分区读写已经分享了很多。相关类似博文 安卓备份分区----手动查询安卓系统分区信息 导出系统分区的一些基本操作 …

0x04_数组_指针_字符串

数组 数组的定义与使用 数组是具有一定顺序关系的若干相同类型变量的集合体&#xff0c;组成数组的变量称为该数组的元素。 给出下面程序的输出&#xff1a; #include <iostream> using namespace std; int main() {int a[10], b[10];for(int i 0; i < 10; i) {a[…

python 基础知识点(蓝桥杯python科目个人复习计划59)

今日复习内容&#xff1a;做题 例题1&#xff1a;建造房屋 问题描述&#xff1a; 小蓝和小桥是两位年轻的建筑师&#xff0c;他们正在设计一座新的城市。 在这个城市中&#xff0c;有N条街道&#xff0c;每条街道上有M个位置可以建造房屋&#xff08;一个位置只能建造一个房…

2024.3.7 FreeRTOS 作业

思维导图 练习题 1.使用ADC采样光敏电阻数值&#xff0c;如何根据这个数值调节LED灯亮度。 //打开定时器3的通道3&#xff0c;并且设置为PWM功能HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_3);/* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1…

【Spring云原生系列】Spring Cloud Stream:消息驱动架构(MDA)解析,实现异步处理与解耦合!

&#x1f389;&#x1f389;欢迎光临&#xff0c;终于等到你啦&#x1f389;&#x1f389; &#x1f3c5;我是苏泽&#xff0c;一位对技术充满热情的探索者和分享者。&#x1f680;&#x1f680; &#x1f31f;持续更新的专栏《Spring 狂野之旅&#xff1a;从入门到入魔》 &a…

相机标定实验

相机标定 文章目录 相机标定1 ROS标定1.1安装标定程序1.2 下载标定板1.3 标定1.4 标定结果 2 Kalibr相机标定2.1 下载官方提供的标定板2.2 自定义标定板2.3 cam数据录制2.4 标定2.5 输出结果 3 MATLAB标定3.1 打开工具3.2 添加标定板图片3.3 设置标定参数3.4 生成标定结果3.5 标…

GIT 卸载干净(图文详解)

一、控制面板卸载 右击卸载 等待卸载过程 二、在环境变量&#xff0c;把相关信息删除干净

微服务架构中实体类模块化设计与MyBatis-Plus注解浅析

引言 在微服务开发过程中&#xff0c;为了保证代码的整洁性和可维护性&#xff0c;我们通常会将VO&#xff08;视图值对象&#xff09;、DTO&#xff08;数据传输对象&#xff09;、DO&#xff08;领域对象&#xff09;等实体类独立组织成一个API模块。这样做的目的是实现代码…

官网:随便搞个?那不如不搞,搞不好就给公司减分了。

官网建设确实需要认真对待&#xff0c;不能随便搞。一个粗制滥造的官网可能会给公司带来负面影响&#xff0c;降低品牌形象和用户体验。以下是一些官网建设的重要原则&#xff1a; 专业性&#xff1a;官网应该展示公司的专业性和专业知识。它应该以专业的设计、内容和功能来展示…

【电路笔记】-NPN晶体管

NPN晶体管 文章目录 NPN晶体管1、概述2、双极NPN晶体管配置3、NPN晶体管中的α和β关系4、示例5、共发射极配置1、概述 NPN 晶体管是三端三层器件,可用作放大器或电子开关。 在前面的文章中,我们看到标准双极晶体管或 BJT 有两种基本形式。 NPN(负-正-负)配置和PNP(正-负…

Nginx启动服务

Nginx启动服务 一、启动前置 下载地址 如已安装Docker&#xff0c;下一步拉取Nginx最新的Docker镜像&#xff1a; docker pull nginx:latest查看拉取下来的镜像&#xff1a; docker images二、启动服务 创建Docker容器&#xff1a; docker run --name {projectname} -p 80…

spring-jpa

一、介绍 1.1ORM 1.2 Java Persistence API 放在javaee版本 优点 支持持久化复杂的Java对象&#xff0c;简化Java应用的对象持久化开发支持使用JPQL语言进行复杂的数据查询使用简单&#xff0c;支持使用注解定义对象关系表之间的映射规范标准化&#xff0c;由Java官 方统一规…

一个系列很多样式的wordpress外贸建站模板

菌菇干货wordpress跨境电商模板 食用菌、羊肚菌、牛肝菌、香菇、干黄花菜、梅干菜、松茸wordpress跨境电商模板。 https://www.jianzhanpress.com/?p3946 餐饮调味wordpress跨境电商模板 豆制品、蛋黄糖、烘焙、咖啡、调料、调味酱、餐饮调味wordpress跨境电商模板。 http…

如何将 ONLYOFFICE 协作空间部署到 Kubernetes / OpenShift 集群中

需要 ONLYOFFICE 协作空间的可扩展实例吗&#xff1f;使用 Helm 轻松将其安装到 Kubernetes 或 OpenShift 集群中。阅读本文了解详情。 ONLYOFFICE 协作空间是什么 ONLYOFFICE 协作空间是一个协同办公平台&#xff0c;能够帮助用户更好地与客户、业务合作伙伴、承包商及第三方…

响应式编程五股票订阅系统实现

响应式编程五 使用StepVerifier测试响应式流StepVerifier要点 使用StepVerifier进行高级测试股票订阅系统数据库表 使用StepVerifier测试响应式流 出于测试目的&#xff0c;Reactor 提供了额外的 reactor-test 模块&#xff0c;该模块提供了 StepVerifier。StepVerifier 提供了…

Easticsearch性能优化之索引优化

Easticsearch性能优化之索引优化 一、合理的索引设计二、合理的分片和副本三、合理的索引设置 对于性能优化&#xff0c;Elasticsearch&#xff08;以下简称ES&#xff09;的索引优化是提高性能的关键因素之一。合理的设计索引&#xff0c;合理的分片和副本以及合理的缓存设置等…

信号处理--卷积残差网络实现单通道脑电的睡眠分期监测

目录 背景 亮点 环境配置 数据 方法 结果 代码获取 参考文献 背景 人类大约花三分之一的时间睡觉&#xff0c;这使得监视睡眠成为幸福感的组成部分。 在本文中&#xff0c;提出了用于端到端睡眠阶段的34层深残留的Convnet架构 亮点 使用深度1D CNN残差架构&#xff0…

Python数据处理实战(4)-上万行log数据提取并作图进阶版

系列文章&#xff1a; 0、基本常用功能及其操作 1&#xff0c;20G文件&#xff0c;分类&#xff0c;放入不同文件&#xff0c;每个单独处理 2&#xff0c;数据的归类并处理 3&#xff0c;txt文件指定的数据处理并可视化作图 4&#xff0c;上万行log数据提取并作图进阶版&a…

一款非常适合老中医用的《书剑中医电子处方软件简明版》

上了年纪的老中医&#xff0c;虽然经验丰富&#xff0c;但是电脑的基础都比较差&#xff0c;而开处方的软件通常又设计的太复杂&#xff0c;想用电脑开处方就非常困难&#xff0c;所以只好坚持手写开处方。最近&#xff0c;小编找到了一款非常简单的《书剑中医电子处方软件简明…

【设计数据密集型应用】复制

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱敲代码的小黄&#xff0c;阿里淘天Java开发工程师&#xff0c;CSDN博客专家&#x1f4d5;系列专栏&#xff1a;Spring源码、Netty源码、Kafka源码、JUC源码、dubbo源码系列&#x1f525;如果感觉博主的文章还不错的话…