抛砖引玉 数据的删除 什么事怕思考

ypfe23 2010-10-27 10:25:18
避免发生数据的物理删除,通过设置注销标示或删除标示来实现
--利
反映删除,可追加删除原因搜集
业务引申:很多时候我们往往过于关心有效的事件,其实在一些情况下对无效数据的分析能够得到一些不为人注意的有价值的信息。
便于同步,简化同步删除的捕捉
业务引申:在现实业务中,公司很难做到一手遮天,往往有对外提供数据接口的需求,用于实现数据抽取同步,扩大对数据的利用面,这样容易和其它项目形成盘根错节的关系,增加自己项目客户方的牢靠地位,最好形成牵一发动全身,另外还有利于衍生新的项目或效益点。
反删除,提供数据删除撤消
--弊
过滤查询性能问题
查询要过滤注销数据,这时候要考虑性能问题,最好的方法是建bitmap index,但是要同时考虑不适用 bitmap index 的情况!
在海量数据中,考虑建立撤消表,此时考虑到从程序或是数据层面处理撤消表和主表的腾挪
撤消表的创建 考虑建立整个系统撤消数据大表的可行性,就是类似建立整个业务系统的撤消大表!



以上是思考所得,欢迎无聊的人,追加、补充、建议,给处影响 深挖其解决之道! 讨论贴 不结贴!
...全文
98 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ypfe23 2010-10-27
  • 打赏
  • 举报
回复
问题出现了:有意义的删除,即有原因可查的删除。无意义删除,二楼说的这种情况 。还有误删需撤消删除的!其判定是个问题!
  • 打赏
  • 举报
回复
个人观点:欢迎大家拍砖
我们程序控制增加数据的表可以考虑删除标志
但是如果是客户插入的数据这样就....
因为客户总是操作出错,一会增加...一会删除的,这样用删除标记的话
保存的这些删除数据也没有多大的意义。还造成了大量的数据冗余
minitoy 2010-10-27
  • 打赏
  • 举报
回复
使用his表存储删除信息更好些吧.可以实现历史数据的追溯.对在用数据的查询也没有任何影响.
wh62592855 2010-10-27
  • 打赏
  • 举报
回复
如果不是关键数据,而且对一致性要求不是特别高的话可以考虑使用其他一些数据库产品,不一定非要使用ORACLE。
可以关注一些NOSQL产品,例如CASSANDRA。更新和删除实质上都是通过插入来实现,只不过每行会附带一个时间戳,用来保证在查询的时候就可以取到最新的数据。
当然,为了避免这些废弃数据占用大量的磁盘空间,CASSANDRA也提供了压缩机制来定期清理这些废弃数据。

不过在CASSANDRA里目前通过正常途径的话,只能查询到最新数据。印象中有一款NOSQL产品可以指定查询任意版本的历史数据的,记不清是哪一个了。
sosoPG 2010-10-27
  • 打赏
  • 举报
回复
学习了。。。

3,492

社区成员

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

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