b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

什么是数据冗余,有哪些优点和特点

电脑杂谈  发布时间:2020-03-15 11:01:31  来源:网络整理

数据的冗余_冗余测试是什么意思_冗余是什么意思

一、什么是数据冗余

大数据领域,冗余一般是指一模一样的数据存储多于一份的状况。

比如,我们建了一张表aa(PS:可以先不往下看答案,首先探讨一下能不能发现哪些问题哈)

CREATE TABLE aa

(姓名 varchar(25),

姓varchar(25),

名varchar(25),

冗余测试是什么意思_冗余是什么意思_数据的冗余

出生日期varchar(25),

年龄varchar(25),

类别varchar(25),

初领驾照时间varchar(25),

驾龄年限varchar(25)

)

数据实例如下:

数据的冗余_冗余测试是什么意思_冗余是什么意思

('张三','张','三','1986-03-01',30,'C1','2015-01-01',1)

分析本例字段,可以看到下面几点问题:

1、 从通常的逻辑来说,“姓名”这个字段是可以由“姓”、“名”两个字段推断起来的,“姓”和“名”收尾相接就能得到“姓名”这个字段;

2、 “年龄”是可以从“出生日期”这个字段推断起来的,在任意时刻使用当前日期与“出生日期”相减就能得到“年龄”这个字段;

3、 “驾龄年限”也是可以通过“初领驾照时间”推断起来的,在任意时刻使用当前日期与“初领驾照时间”相减就能得到“驾龄年限”。

以上这些状况就是有数据冗余的情况,是不是很容易理解?!

冗余测试是什么意思_数据的冗余_冗余是什么意思

二、数据冗余的特点

世界上万事万物的存在都有一定的道理,主义哲学教我们实事求是、一分为二的来看问题,不要搞一刀切说必定不可行或者一定可行。首先来看缺点:

1、 造成维护成本的提升:比如目前描述的张三是30岁,明年他就31岁了,是否还必须一个程序功能自动或手动对这个字段进行升级?如果在平台运行过程中看到在登记的之后“初领驾照时间”这一表单填写有误需要更正,那么“驾龄年限”也必须同步更改。所以,冗余的弊端是,如果其中一个相关的字段出现差异,则另一个字段也需要相应地做出差异,否则都会发生信息矛盾以及不一致的现象。这针对保持数据一致性来说,是必须耗费维护费用的;

2、 造成资源浪费:存储的空间是一定的,如果冗余数据过多的话,会导致资源的浪费。

三、数据冗余的特点

冗余的特点也有可圈可点的,那么它的特点是哪个呢?

1、 提高查询性能:

数据的冗余_冗余测试是什么意思_冗余是什么意思

举例如下:某个数据表有下面字段:

(用户ID,1月消费额,2月消费额,3月消费额,4月消费额,5月消费额,6月消费额,7月消费额,8月消费额,9月消费额,10月消费额,11月消费额,12月消费额,全年消费支出),其中,有一个“全年消费支出”的冗余字段冗余是什么意思,用来做中间12个月的消费额的加和。如果这个平台里有5000万用户,应该如何统计这5000万用户一年的消费支出?在没有“全年消费支出”这个字段的状况下,需要使计算机做6亿个数值对象的加法(12次×5000万),在有了这个字段的状况下,只需对这5000万个向量的最后一个字段——“全年消费支出”做加和,即做5000万个数值对象的加法即可,这二者在计算精度上有11倍的速度差距。

这11倍速率的差别意味着什么呢?如果这5000万个向量的推导必须2小时,那么这些计算可以在下午进行冗余是什么意思,并且当天一早做成报告。而6亿个向量时间计算最可能必须22小时,那么这些报告就只好第三天才能送达。这不仅仅是一个计算强度的弊端,甚至制约了一个业务的反馈和完整流程。

再例如有两张表,一张为字典表city,其中存放有城市的id 和 名称(cityName) 两个字段;另有有一张业务表custumers,其中有消费者姓名,消费者 id 、cityId(城市的ID)、消费金额、消费品类、消费型号等字段。

如果想查询业务表某个城市的消费状况,就需要将业务表 custumers和字典表city首先进行关联,来获cityId代表的城市名称cityName,取如果业务表用户量巨大很大,那么经常查询的挺慢,这个之后我们就可以使用冗余来缓解这个难题,直接将业务表中的 增加 cityName字段,这样我们在查询业务表的之后就不需要去关联 city 的字典表了。这样的方法虽然是不符合我们设计的模式的,但是这么的冗余可能更有必要。

2、 其他优点

(1)数据恢复,如设立备份文件以备即将文件被破坏时恢复;(2)数据核查,如建立数据校验位可以检测数据在存储、传输等过程中的改变; (3)数据使用的方便,如为了查看数据的直观,使用数据的便捷、高效。 (4)减少数据通信开销,如分布式在不同场地重复

冗余信息被成为推动数据访问速度的方式应用最多的状况通常不是在一个表里设置冗余字段,而是在这些海量数据的数据仓库里把这些小粒度的数据计算作为以每天、一周、一个月作为更大粒度统计单位的冗余信息表或者指标信息表,而直接访问那些大粒度的冗余数据,比直接访问最小粒度的数据进行统计效率或许快上几千倍

数据冗余或者信息冗余是制造、生活所必然存在的行为,没有好与不好的总体偏向。而针对自然界,则是物质存在的一种形式,是客观存在状况。例如每个人都有与其他人基本相似的基因。至于在详细的应用场景里是否使用冗余字段需要应用者根据平台设计的心得和自己的实际需求去判定,应选取在满足自己系统业务运转要求的前提下“成本”更低的方法。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-144223-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...