首页 > 其他分享 >关联数据快照

关联数据快照

时间:2024-03-11 21:13:39浏览次数:22  
标签:快照 记录 模版 信息 关联 镜像 活动 数据

  业务需求中会涉及到记录某个节点的数据,例如活动模版信息,在活动进行中时支持对部分字段的调整,因为活动已经是进行中的状态了,有一些历史数据已经产生了,如果要回溯这些历史数据关联的活动模版信息,就需要记录活动调整前的快照,这里有两种方式:

1、镜像表

每次修改活动模版信息时,同时在快照表中生成一份活动模版信息

历史数据需要记录对应的活动镜像id,用于回溯对应时段的活动信息

优点:

  • 历史记录只记录一个镜像id
  • 镜像数据完整

缺点

  • 占用存储空间
  • 需要管理查询镜像表

 

2、冗余字段

需要记录活动模版信息的表,增加一个字段,用于记录核心的活动模版字段

优点:

  • 单表查询,无需关联额外表
  • 最新原则,只保留每次需要的字段

缺点

  • 少了占用存储空间

 

标签:快照,记录,模版,信息,关联,镜像,活动,数据
From: https://www.cnblogs.com/use-D/p/18034475

相关文章

  • Qt 常用数据类型转换
    1、int转QStringquint8转QString1quint8k=77;2QStringstr_1;3str_1=QString::number(k,10);4qDebug()<<str_1;//"77"5QStringstr_2=QString("%1").arg(k);6qDebug()<<str_2;//"77"2、quin......
  • django保存数据到表时,遇到字符集问题--已解决
    问题回归:在开发《测试平台imos》时,调用下载接口后,保存返回报文乱码包含一大堆??时,报错: 查询了下资料,是由于编码位数不同引起的,在mysql中默认的utf8是3位的:??表情已经超过了三位位,所以用三位空间储存空间肯定出问题。知道了原因那解决起来就简简单单了。解决方式:1.打开mysql......
  • 在数据库中使用UUID+自增长ID混合方式,同时满足系统安全性和查询效率
    在数据库中使用UUID+自增长ID混合方式,可以达到较好的安全性和查询效率。具体的实现方式如下:在数据库表中创建两个字段,一个是UUID字段作为全局唯一主键,另一个是自增长的整型字段作为局部有序键。例如:sql:CREATETABLE`table_name`(`uuid`CHAR(36)NOTNULL,--UUID......
  • 【Python使用】python高级进阶知识md总结第3篇:静态Web服务器-返回指定页面数据,静态We
    python高级进阶全知识知识笔记总结完整教程(附代码资料)主要内容讲述:操作系统,虚拟机软件,Ubuntu操作系统,Linux内核及发行版,查看目录命令,切换目录命令,绝对路径和相对路径,创建、删除文件及目录命令,复制、移动文件及目录命令,终端命令格式的组成,查看命令帮助。HTTP请求报文,HTTP响应报文......
  • ETL的数据挖掘方式
    ETL的基本概念数据抽取(Extraction):从不同源头系统中获取所需数据的步骤。比如从mysql中拿取数据就是一种简单的抽取动作,从API接口拿取数据也是。数据转换(Transformation):清洗、整合和转化原始数据以适应目标存储或分析系统的阶段。从mysql中拿到数据之后对数据进行处理,像对数据的......
  • Logstash接收udp/tcp数据 python+ udp/tcp +logstash +elasticsearch
    Logstash接收udp/tcp数据背景:在 Logstash数据源为日志文件操作 基础上进行一、配置文件1.D:\usr\local\etc\logstash\pipeline1目录下logstash.conf文件配置input{stdin{}udp{host=>"0.0.0.0"#从5000端口获取日志port=>5000......
  • 一文学会JDBC实现java和mySQL的数据连接(尚硅谷学习课程代码+笔记+思路总结)
    JDBC是指数据库连接技术,用于java连接mySQL等数据库。本文详细介绍了尚硅谷课程中JDBC的学习内容和补充知识。概述java语言只提供规范接口,存在于java.sql.javax.sql包下,然后数据库软件根据java提供的规范实现具体的驱动代码(jar)jar包是java程序打成的一种压缩包格式,只要导入就......
  • MySQL如果数据存在则更新,不存在则插入
    如果数据存在则更新,不存在则插入,MySQL有duplicate、replaceinto、replace三种方式如何更新数据?insertignoreinto又是如何插入数据的呢?准备表和基础数据测试MySQL版本:8.0.35usetestdb;#droptabletb_student;CREATETABLE`tb_student`(`id`intNOTNULLAUTO_IN......
  • Visual Studio Code 配置文件关联
    在编写Linux的.service文件的时候,我发现.service文件的本质是INI文件。然而VSCode却并没有使用INI格式进行语法高亮。于是我通过如下设置使VSCode在遇到.service文件时自动使用INI格式的语法高亮:打开设置,搜索:files.associations,并添加一个项目:ItemValue......
  • pandas - 数据排序
    sort_values()函数importpandasaspddata={'名称':['太阳能','床','风扇','沙发'],'单价':[2000,3500,500,3500],'数量':[58,23,69,60]}df=pd.DataFrame(data)#单条件排序,使......