关于数据逻辑删除方式的讨论

紫如风 2017-11-01 10:08:29
对于数据删除一般来说有很多采用数据库表增加一个delflag 来表是否删除,然而这样操作无疑会有弊端,那就是每次查找的话都得在条件中使用delfllag ,这样使得开发起来要兼顾这一方面,而且数据量大的话无疑会降低数据查询的效率,
还有一种设计模式就是 另外新建一个表 用来存储被删除的信息,比如我们可以建立一个触发器 或者是写一个存储过程,但是这样,这个还可以设计成一个审计日志的表结构,这样的话可对系统操作记录可以查出日志,有人误删数据可以责任到人,但是听说这样也有弊端,如果删除数据会有大量的数据库碎片 ,不知是否还有其他的弊端呢?

不知有哪位大神介绍下载什么情况下使用哪种设计模式或者是有更好的设计方案?
...全文
967 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rotel-刘志东 2017-11-07
  • 打赏
  • 举报
回复
大表还是建议分区表或历史表处理
卖水果的net 2017-11-06
  • 打赏
  • 举报
回复
如果是数据字典的数据,建议留着,并且使用delflag 标记删除。 对历史数据查询是有用的。 如果要删的数据本身就是一张大表,建议移动到历史表,或做表分区。
minsic78 2017-11-01
  • 打赏
  • 举报
回复
既然删除了,还留着干嘛?既然还要查,那么修改标志位可以的啊,觉得怕数据量大了影响查询,你换一张表存这些数据不仅也有这个问题,还有更多问题:因为即使与原表放一起,也还可以分区的,而要是放到另外一张表,无论是程序来完成还是触发器来完成,都是额外的开销。
碧水幽幽泉 2017-11-01
  • 打赏
  • 举报
回复
删除方式是根据需求和应用而定的。 应用和需求不同,删除的方式也不同。 常见的删除策略有: 1.分区删除 2.insert历史表,truncate原表 3.作某种特殊操作时,触发删除 4.其他删除方式 ........等等!
课程简介:  本项目课程是一门极具综合性和完整性的大型项目课程;课程项目的业务背景源自各类互联网公司对海量用户浏览行为数据和业务数据分析的需求及企业数据管理、数据运营需求。 本课程项目涵盖数据采集与预处理、数据仓库体系建设、用户画像系统建设、数据治理(元数据管理、数据质量管理)、任务调度系统、数据服务层建设、OLAP即席分析系统建设等大量模块,力求原汁原味重现一个完备的企业级大型数据运营系统。  拒绝demo,拒绝宏观抽象,拒绝只讲不练,本课程高度揉和理论与实战,并兼顾各层次的学员,真正从0开始,循序渐进,每一个步骤每一个环节,都会带领学员从需求分析开始,到逻辑设计,最后落实到每一行代码,所有流程都采用企业级解决方案,并手把手带领学员一一实现,拒绝复制粘贴,拒绝demo化的实现。并且会穿插大量的原创图解,来帮助学员理解复杂逻辑,掌握关键流程,熟悉核心架构。   跟随项目课程,历经接近100+小时的时间,从需求分析开始,到数据埋点采集,到预处理程序代码编写,到数仓体系搭建......逐渐展开整个项目的宏大视图,构建起整个项目的摩天大厦。  由于本课程不光讲解项目的实现,还会在实现过程中反复揉和各种技术细节,各种设计思想,各种最佳实践思维,学完本项目并勤于实践的话,学员的收获将远远超越一个项目的具体实现,更能对大型数据系统开发产生深刻体悟,对很多技术的应用将感觉豁然开朗,并带来融会贯通能力的巨大飞跃。当然,最直接的收获是,学完本课程,你将很容易就拿到大数据数仓建设或用户画像建设等岗位的OFFER课程模块: 1. 数据采集:涉及到埋点日志flume采集系统,sqoop业务数据抽取系统等; 2. 数据预处理:涉及到各类字典数据构建,复杂结构数据清洗解析,数据集成,数据修正,以及多渠道数据的用户身份标识打通:ID-MAPPING等;3. 数据仓库:涉及到hive数仓基础设施搭建,数仓分层体系设计,数仓分析主题设计,多维分析实现,ETL任务脚本开发,ETL任务调度,数据生命周期管理等;4. 数据治理:涉及数据资产查询管理,数据质量监控管理,atlas元数据管理系统,atlas数据血缘管理等;5. 用户画像系统:涉及画像标签体系设计,标签体系层级关系设计,各类标签计算实现,兴趣类标签的衰减合并,模型标签的机器学习算法应用及特征提取、模型训练等;6. OLAP即席分析平台:涉及OLAP平台的整体架构设计,技术选型,底层存储实现,Presto查询引擎搭建,数据服务接口开发等;7. 数据服务:涉及数据服务的整体设计理念,架构搭建,各类数据访问需求的restapi开发等;课程所涉及的技术: 整个项目课程中,将涉及到一个大型数据系统中所用到的几乎所有主要技术,具体来说,包含但不限于如下技术组件:l Hadoopl Hivel HBasel SparkCore /SparkSQL/ Spark GRAPHX / Spark Mllibl Sqoopl Azkabanl Flumel lasal Kafkal Zookeeperl Solrl Prestop

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧