草庐IT

谈谈数据质量管理中的五个关键要素

晓晓 2023-03-28 原文
数据质量管理被定义为:实施一个系统的框架,持续描述数据源,验证数据质量,并执行一系列过程来消除数据质量问题,努力使数据更准确、正确、有效、完整、可靠。由于每个组织对数据质量的要求和特点不同,因此企业之间的数据质量管理也不同。管理数据质量所需的人员类型、衡量数据质量所需的指标、需要实施的数据质量流程——一切都取决于多种因素,例如公司规模、数据集大小、涉及的来源等。下面就谈谈数据质量管理的五大要素:人员、度量、流程、框架和技术。

01.人员:谁参与数据质量管理

人们普遍认为,在管理整个组织的数据质量时,必须获得决策者的批准和支持。但事实是,需要任命不同资历级别的数据专业人员,以确保对数据质量计划的投资得到回报。

以下是一些负责、批准、咨询或了解组织中数据质量控制的角色:

a)首席数据官(CDO):首席数据官是一个行政级别的职位,全权负责设计战略,以实现整个企业的数据利用、数据质量监控和数据治理。

b)数据管理员:数据管理员是公司处理与数据相关的所有事务的首选人员。他们全身心体验组织如何捕获数据、将数据存储在何处、数据对不同部门意味着什么,以及如何在整个生命周期内保持数据质量。

c)数据保管人:数据保管人负责数据字段的结构——包括数据库结构和模型。

d)数据分析师:数据分析师是能够获取原始数据并将其转化为有意义的见解的人,尤其是在特定领域。数据分析师的主要工作之一是准备、清理和过滤所需的数据。

e)其他团队:这些角色被认为是数据消费者,这意味着他们使用数据,无论是原始形式还是转化为可操作的见解时,例如销售团队、产品团队、业务团队、管理团队等。

02.度量:数据质量如何衡量

数据质量管理的第二个最重要的方面是它的测量。这些是数据特征和关键绩效指标,用于验证组织数据集中数据质量的存在。根据不同公司使用数据的方式,这些KPI可能会有所不同。我列出了最重要的数据质量维度及其代表的质量指标:

  • 准确性:数据值描述现实或正确性的程度如何
  • 沿袭:数据值的原始来源有多可信
  • 语义:数据值是否符合其含义
  • 结构:数据值是否以正确的模式和/或格式存在
  • 完整性:的数据是否如所需要的那样全面
  • 一致性:不同的数据存储是否对相同的记录具有相同的数据值
  • 可用性:数据是最新可用的吗
  • 及时性:请求的数据多快可用
  • 合理性:数据值是否具有正确的数据类型和大小
  • 可识别性:是否每条记录都代表一个唯一的身份并且不是重复的

03.流程:数据质量管理流程

由于数据在过去几十年里大量增长,它已经变得多变量并在多个维度上进行测量。要获取、修复和改进数据质量问题,必须实施各种数据质量流程——其中每个流程都有不同的价值和目的。让我们来看看公司用来提高数据质量的最常见的数据质量流程。

a)数据剖析

这是通过揭示有关数据结构和内容的隐藏细节来了解数据当前状态的过程。数据分析算法分析数据集列并计算各种维度的统计数据,例如完整性、唯一性、频率、特征和模式分析等。

b)数据清理和标准化

它是消除数据集中存在的不正确和无效信息以实现跨所有数据源的一致和可用视图的过程。包括删除和替换不正确的值、解析更长的列、转换字母大小写和模式以及合并列等。

c)数据匹配

也称为记录链接和实体解析,它是比较两个或多个记录并确定它们是否属于同一实体的过程。它涉及映射相同的列、选择要匹配的列、执行匹配算法、分析匹配分数以及调整匹配算法以获得准确的结果。

d)重复数据删除

这是消除属于同一实体的多个记录并为每个实体仅保留一个记录的过程。这包括分析组中的重复记录、标记重复记录,然后将其从数据集中删除。

e)数据合并和生存

它是通过条件选择和覆盖将重复记录合并在一起的构建规则的过程。这有助于防止数据丢失并保留最多的重复信息。它涉及为主记录选择和覆盖定义规则、执行规则并调整它们以获得准确的结果。

f)数据治理

数据治理通常是指角色、策略、工作流、标准和指标的集合,可确保高效的数据使用和安全性,并使公司能够实现其业务目标。它涉及创建数据角色和分配权限、设计工作流以验证信息更新、确保数据安全免受安全风险等。

g)地址验证

它是根据权威数据库(例如国家的省市标准)运行地址并验证该地址在国内是否可邮寄、准确且有效的邮寄地址的过程。

04.框架:数据质量管理框架

除了数据质量流程之外,在设计数据质量策略时要考虑的另一个重要方面是数据质量框架。这些过程代表用于消除数据集中数据质量问题的独立技术。数据质量框架是一个系统的过程,它持续监控数据质量,实施各种数据质量过程(按定义的顺序),并确保它不会恶化到定义的阈值以下。它提供了有关数据质量管理流程的更多详细信息。

一个简单的数据质量框架包括四个阶段:

a)评估:这是框架的第一步,需要评估两个主要组成部分:数据质量对的业务的意义以及当前数据如何对其进行评分。

b)设计:数据质量框架的下一步是设计所需的业务规则,通过选择需要的数据质量流程并将它们调整到的数据,以及决定数据质量功能的架构设计。

c)执行:第三阶段是执行发生的地方。已经在前两个步骤中准备好了阶段,现在是时候看看系统的实际性能如何了。

d)监控:这是监控结果的框架的最后阶段。可以使用高级数据分析技术来生成详细的性能报告。

05.技术:数据质量管理工具

尽管数据质量问题的性质相当复杂,但许多企业仍然手动验证数据质量。针对此问题采用技术解决方案是确保团队生产力和数据质量框架顺利实施的最佳方式。有许多供应商将数据质量功能打包在不同的产品中,例如:

a)独立、自助式数据质量软件:

这种类型的数据质量管理软件允许对数据运行各种数据质量流程。它们通常带有自动数据质量管理或批处理功能,可以在一天中的特定时间清理、匹配和合并大量数据。这是合并数据记录的最快和最安全的方法之一,不会丢失任何重要信息,因为所有过程都在数据副本上执行,并且最终数据视图可以传输到目标源。

b)数据质量API或SDK:

一些供应商通过API或SDK公开必要的数据质量功能。这有助于在现有应用程序中实时或运行时集成所有数据质量管理功能。

c)嵌入数据管理工具的数据质量

一些供应商将数据质量功能嵌入到集中式数据管理平台中,以便在同一个数据管道中处理所有事情。设计具有嵌入式数据质量功能的端到端数据管理系统需要进行详细的规划和分析,并让关键利益相关者参与流程的每个步骤。此类系统通常被打包为主数据管理解决方案。

数据质量管理与主数据管理有何不同?

“主数据管理”一词指的是数据管理最佳实践的集合——涉及数据集成、数据质量和数据治理。这意味着数据质量和主数据管理不是彼此对立的;相反,它们是互补的。MDM解决方案除了数据质量管理功能外还包含一些额外的功能。这无疑使MDM成为实施起来更加复杂和资源密集型解决方案——在两种方法之间进行选择时需要考虑的因素。

d)定制内部解决方案

尽管市场上存在各种数据质量和主数据管理解决方案,但许多企业投资开发内部解决方案以满足其自定义数据需求。尽管这听起来很有希望,但企业往往最终会在此过程中浪费大量资源——时间和费用。开发这样的解决方案可能更容易实施,但随着时间的推移几乎不可能维护。

有关谈谈数据质量管理中的五个关键要素的更多相关文章

  1. ruby - 如何从 ruby​​ 中的字符串运行任意对象方法? - 2

    总的来说,我对ruby​​还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用

  2. ruby - 其他文件中的 Rake 任务 - 2

    我试图在一个项目中使用rake,如果我把所有东西都放到Rakefile中,它会很大并且很难读取/找到东西,所以我试着将每个命名空间放在lib/rake中它自己的文件中,我添加了这个到我的rake文件的顶部:Dir['#{File.dirname(__FILE__)}/lib/rake/*.rake'].map{|f|requiref}它加载文件没问题,但没有任务。我现在只有一个.rake文件作为测试,名为“servers.rake”,它看起来像这样:namespace:serverdotask:testdoputs"test"endend所以当我运行rakeserver:testid时

  3. ruby-on-rails - Ruby net/ldap 模块中的内存泄漏 - 2

    作为我的Rails应用程序的一部分,我编写了一个小导入程序,它从我们的LDAP系统中吸取数据并将其塞入一个用户表中。不幸的是,与LDAP相关的代码在遍历我们的32K用户时泄漏了大量内存,我一直无法弄清楚如何解决这个问题。这个问题似乎在某种程度上与LDAP库有关,因为当我删除对LDAP内容的调用时,内存使用情况会很好地稳定下来。此外,不断增加的对象是Net::BER::BerIdentifiedString和Net::BER::BerIdentifiedArray,它们都是LDAP库的一部分。当我运行导入时,内存使用量最终达到超过1GB的峰值。如果问题存在,我需要找到一些方法来更正我的代

  4. ruby - i18n Assets 管理/翻译 UI - 2

    我正在使用i18n从头开始​​构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在ruby​​onrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi

  5. ruby-on-rails - Rails 3 中的多个路由文件 - 2

    Rails2.3可以选择随时使用RouteSet#add_configuration_file添加更多路由。是否可以在Rails3项目中做同样的事情? 最佳答案 在config/application.rb中:config.paths.config.routes在Rails3.2(也可能是Rails3.1)中,使用:config.paths["config/routes"] 关于ruby-on-rails-Rails3中的多个路由文件,我们在StackOverflow上找到一个类似的问题

  6. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  7. ruby-on-rails - Rails - 一个 View 中的多个模型 - 2

    我需要从一个View访问多个模型。以前,我的links_controller仅用于提供以不同方式排序的链接资源。现在我想包括一个部分(我假设)显示按分数排序的顶级用户(@users=User.all.sort_by(&:score))我知道我可以将此代码插入每个链接操作并从View访问它,但这似乎不是“ruby方式”,我将需要在不久的将来访问更多模型。这可能会变得很脏,是否有针对这种情况的任何技术?注意事项:我认为我的应用程序正朝着单一格式和动态页面内容的方向发展,本质上是一个典型的网络应用程序。我知道before_filter但考虑到我希望应用程序进入的方向,这似乎很麻烦。最终从任何

  8. ruby-on-rails - Rails 3.2.1 中 ActionMailer 中的未定义方法 'default_content_type=' - 2

    我在我的项目中添加了一个系统来重置用户密码并通过电子邮件将密码发送给他,以防他忘记密码。昨天它运行良好(当我实现它时)。当我今天尝试启动服务器时,出现以下错误。=>BootingWEBrick=>Rails3.2.1applicationstartingindevelopmentonhttp://0.0.0.0:3000=>Callwith-dtodetach=>Ctrl-CtoshutdownserverExiting/Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/actionmailer-3.2.1/lib/action_mailer

  9. ruby-on-rails - Rails 应用程序中的 Rails : How are you using application_controller. rb 是新手吗? - 2

    刚入门rails,开始慢慢理解。有人可以解释或给我一些关于在application_controller中编码的好处或时间和原因的想法吗?有哪些用例。您如何为Rails应用程序使用应用程序Controller?我不想在那里放太多代码,因为据我了解,每个请求都会调用此Controller。这是真的? 最佳答案 ApplicationController实际上是您应用程序中的每个其他Controller都将从中继承的类(尽管这不是强制性的)。我同意不要用太多代码弄乱它并保持干净整洁的态度,尽管在某些情况下ApplicationContr

  10. ruby-on-rails - form_for 中不在模型中的自定义字段 - 2

    我想向我的Controller传递一个参数,它是一个简单的复选框,但我不知道如何在模型的form_for中引入它,这是我的观点:{:id=>'go_finance'}do|f|%>Transferirde:para:Entrada:"input",:placeholder=>"Quantofoiganho?"%>Saída:"output",:placeholder=>"Quantofoigasto?"%>Nota:我想做一个额外的复选框,但我该怎么做,模型中没有一个对象,而是一个要检查的对象,以便在Controller中创建一个ifelse,如果没有检查,请帮助我,非常感谢,谢谢

随机推荐