什么是数据冗余?

当有相同数据值的多个实例时,我们称之为“数据冗余”。数据值应该只在数据库中出现必要的次数。理想情况下,每个惟一值应该只出现一次。

数据冗余会导致浪费了资源万博手机登录平台更慢的查询时间。除此之外,它还可能导致危险的不一致甚至数据丢失。数据库开发人员通过一种称为“标准化”的过程努力将冗余从系统中去除。

数据冗余是如何发生的?

冗余可能发生在缺乏冗余的数据库中合适的结构.例如,考虑一个包含两个表的数据库:一个表用于客户信息,另一个表用于订单信息。

当客户创建帐户时,系统在客户信息表中创建一条记录。这个记录包含了他们所有的信息,包括家庭住址。之后,客户订购产品送货上门。万博max手机网页登录因为它位于一个设计很差的数据库中,所以订单信息表也有一个地址列。

在这里,我们看到了数据冗余:相同的地址存在两次。这样做既浪费又低效,但也有风险。如果客户登录并更改了他们的地址会发生什么?系统可能只在一个表上注册更改,因此您现在有两个客户地址,其中一个是不正确的。

这类问题可能在一个组织内更大规模地发生。例如,大多数企业都会有一个客户关系管理系统和单独的订单执行系统。出于必要,两个平台都将拥有自己的数据库。每个数据库都可能有关于一个实体的信息,比如客户。企业必须使这些实体保持同步。

数据库数据冗余的解决方案是什么?

数据库设计人员使用规范化来避免数据库中的任何结构冗余。

在前面的示例中,设计器将立即看到地址值出现在两个表中。他们会通过添加一个名为“Address”的新表来解决这个问题,它看起来像这样:

ID¦街道¦城市¦¦压缩状态  -------------------------------------------------- 001¦大街¦洛杉矶¦CA¦90210

然后,设计器将从Customer和address表中删除地址字段,并将其替换为address表中对应的ID。

如果客户更改了他们的地址会发生什么?系统更新Address表中的值,这将改变您在查看Customer视图和Order视图时所看到的内容。

标准化是一个迭代的过程。这意味着执行一些基本的规范化,然后寻找进一步的规范化机会。完全规范化的数据库将具有零冗余。

数据库规范化是数据库设计的一个基本部分。一般来说,用户不会有问题,除非他们使用来自Excel等数据源的数据。但是在处理更大规模的信息时可能会出现问题。

企业数据冗余的解决方案是什么?

规范化技术只适用于统一的数据库。那么,当数据分散在多个系统中时会发生什么呢?

这是企业普遍存在的问题。一些公司没有意识到这是一个问题,由于负担得起数据的湖泊.然而,如果你不加区别地把所有东西都扔进数据湖,你就有可能把它变成数据沼泽。

一个更好的方法是使用数据集成合并和规范化您的数据。数据集成通常依赖于ETL这样的过程来帮助统一数据。ETL是一个三步过程:

  • 提取首先,ETL以原始格式从每个源中提取数据。
  • 变换:接下来,ETL将转换技术应用于原始数据。这包括数据清理而且重复数据删除,这有助于清除任何不必要的记录。ETL还将应用一个新的模式,该模式可以包括完全的规范化。
  • 负载:最后,ETL将转换后的数据发送到目的地,目的地通常是ManBetX万博客服

ManBetX万博客服数据仓库是关系数据库,尽管它们通常比其他数据库大得多。但是数据库专家仍然可以应用相同的规范化技术来帮助创建更高级别的数据一致性。这将加快对仓库的查询,同时降低总体仓储成本。

有意数据冗余的优点

数据冗余并不总是消极的。事实上,冗余实际上是数据治理的一个重要元素。

例如,数据备份在技术上是一种冗余形式,因为它包含存在于其他地方的数据。但有多个备份对数据质量至关重要。理想情况下,组织应该定期对其数据进行全面快照。

数据冗余还可以支持数据完整性。例如,在多个系统上拥有一个客户地址可以确保在出现问题时可以对其中一个进行验证。系统架构师有时也会决定为了提高整体系统性能而容忍冗余是值得的。

有意的数据冗余可以是积极的,只要这是一个了解可能后果的知情决策。数据库设计人员应该始终优先考虑数据完整性。

术语汇编

数据集成技术的命名指南。

Baidu
map