冗余数据的危险在同步。举个例子,本论坛的用户头像,很多时候,某个用户变更了头像,我们是看不到的,需要机缘巧合,刷新了浏览缓存(按F5键),才会把新头像显示出来,原因在于浏览器为了加快速度,会把诸如头像这类(相对)静态的资源缓存在本地计算机存储设备上,下次显示网页时就不去网路上读数据了,这就是本地和远程服务器上各有一份数据,而当远程的源数据更新后,没有有效的机制通知本地浏览器重新读取,结果呈现了旧的数据——如果数据只有一份是不会出现这种问题的。这个风险对头像这类数据来说,可能没什么大碍,但对商业或法律、官方等的应用来说,可能会造成重大损失,第一是会发生上述看不到新数据的问题,第二是会发生不同的用户看到不同的数据的问题,那官司就有得打了。别以为贪点编程省事那么好玩,总求快必定有风险的,《老子》都说了,欲速恐不达,安全必定要付出某种代价,世界是守恒的,片面追求某方面的效率,最怕的是不自知在那些方面失去了多少(知道还好办,就怕不知道)。
数据的简单重复,以及永久储存运算结果,都属于冗余。
[
本帖最后由 TonyDeng 于 2014-6-13 11:42 编辑 ]