数据匹配/重复数据删除Sql server 2008 R2

时间:2014-03-17 10:50:09

标签: sql-server-2008 weighted deduplication data-cleansing master-data-services

进行数据清理过程有哪些选项(重复数据删除/匹配) 处理MS SQL Server 2008 R2时? 或者更好的是,如何在一行的匹配过程中对分数进行加权? 情况如下:我的数据库上有一个人员表,他们在其他数据库表中有相关​​的地址和文件? 如何根据姓名,序列号和文件地址做出最佳匹配决定?据我所知,SSIS模糊摸索不支持此功能:加权评分。

2 个答案:

答案 0 :(得分:3)

我目前对SSIS没有太多经验 - 所以这个答案主要集中在你的问题的重复数据删除/匹配/评分方面。

有很多方法可以实现这样的数据质量策略,所有这些都有Pro和Cons,我认为很多方法都归结为您现有的数据管理策略 - 您正在尝试的数据是多么干净和标准化重复数据删除?

如果您没有正确的话,即使像电话号码这样的“简单”项也很难重复删除 - 例如,所有这些都是相同数字的不同表示形式:

  • +1(888)707-8822
  • 1-888-707-8822
  • 18887078822
  • 001 888 7078822
  • 888-7078822

更复杂的结构如地址变得更有趣:“平2”和“2号公寓”是一回事还是不同?

您有两种选择 - 让自己成为自己或信任第三方

自己动手

  • 优点
    • 通过
    • 解决许多有趣的逻辑问题
    • 随着解决方案的发展,将能够“永远”地调整和改进
  • 缺点
    • 这需要很长时间。
    • 您使用的每个国家/地区都需要单独查看 - 您无法应用高质量的“全局”规则(但当然可以重复使用这些规则)

第三方

  • 优点
    • 如果重复数据删除不是您的专长 - 让专家来做吧
    • 准备好立即投入价值
  • 缺点
    • 费用

无论你走自己的路线还是第三方,我建议你先创建一个明确的目标。

您的意见是什么:

  • 您的数据有多“干净”?
  • 您的数据标准化程度如何?
  • 记录如何链接在一起。
  • 地址是仅来自一个国家/地区还是来自多个国家/地区。

您的工作流程是什么:

  • 您需要多久运行一次这个过程?
  • 您是想首先停止重复进入系统还是只是定期批量运行?

您对该项目有什么要求?

  • 您想要识别重复的级别(文档,个人,家庭,组织 - 见下文)
  • 你想对这些重复做什么
    • 删除重复项并保留一条记录
    • 合并重复项以创建一个主记录
    • 这个阶段有时被称为创造“黄金”记录。决定保留哪些信息,以及忽视哪些信息。

要详细了解其中一些选择,请考虑以下虚拟地址:

您是否正在尝试重复播放到家庭级别:

  • Ann Smith,1 main st,DupeVille,MA,12345
  • Bob Smith,1条主要街道,DupeVille,MA,12345

成为

  • Ann和Bob Smith,1 Main St,DupeVille,MA,12345-6789

人员等级

  • Robert Smith,1 main st,DupeVille,MA,12345
  • Bob Smith,1条主要街道,DupeVille,MA,12345

成为

  • Robert Smith,1 Main St,DupeVille,MA,12345-6789

甚至是文档数据库中的ID。

一旦你有了这个计划,它可以帮助你决定最佳路线。如果您想自己创建它,您找到的链接肯定会让您处于正确的心态。如果你想去第三方 - 那里有很多供应商。只要确保你选择一个你可以信任的人 - 他们就会改变你的数据!

Google为各种供应商提供服务 - Experian Data Quality就是其中之一(我公司!),根据您所在的世界,您可以在此处找到最佳联系方式和详细信息:http://www.qas.com/contact/office-locations.htm。我们有可以与SQL Server 2008 R2集成的工具,它们可以对不同的输入类型进行评分,然后自动为您重复删除这些工具,或者返回潜在组的集群,以便您自己照顾。

采取您的计划,清楚地了解您的需求并与他们讨论。无论您选择谁,都可以通过您的计划与您讨论,讨论您的目标,并告诉您他们是否适合这份工作。

想想我有点在那里:-)但希望能指出你正确的方向 - 祝你好运!

答案 1 :(得分:0)

如果您使用多列进行模糊分组,您将获得选择作为输入的每列的_similarity信息。使用此相似性信息,您可以计算自己的阈值等。