匿名客户数据以进行开发或测试

新手上路,请多包涵

我需要使用真实客户信息(姓名、地址、电话号码等)获取生产数据并将其移动到开发环境中,但我想删除任何 真实 客户信息的表象。

这个问题 的一些答案可以帮助我生成新的测试数据,但是如何替换生产数据中的这些列,但保留其他相关列?

假设我有一张包含 10000 个假名的表。我应该使用 SQL 更新进行交叉联接吗?或者做类似的事情

UPDATE table
SET lastname = (SELECT TOP 1 name FROM samplenames ORDER By NEWID())

原文由 BradC 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 345
2 个回答

匿名化数据可能很棘手,如果做得不正确,可能会给您带来麻烦,就像 AOL 不久前发布搜索数据时 发生的事情一样。在尝试转换现有客户数据之前,我会不惜一切代价尝试从头开始创建测试数据。事情可能会导致您能够使用诸如行为分析和其他您可能不认为敏感的数据点之类的东西来确定数据属于谁。我宁愿安全也不愿后悔。

原文由 John Lemp 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果您了解数据库,这比听起来容易。必要的一件事是了解个人信息未标准化的地方。例如,客户主文件将具有名称和地址,但订单文件也将具有可能不同的名称和地址。

我的基本流程:

  1. 标识数据(即列)以及包含这些列的表。
  2. 标识这些列的“主”表,以及这些列的非规范化实例。
  3. 调整主文件。与其尝试将它们随机化(或使它们变得虚假),不如将它们连接到文件的密钥。对于客户 123,将名称设置为 name123,将地址设置为 123 123rd St, 123town, CA, USA,电话 1231231231。这还有一个额外的好处,就是让调试变得非常容易!
  4. 通过从主文件更新 进行相同类型的去个性化来更改非正常实例

它看起来并不漂亮,但它确实有效。

原文由 tomjedrz 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进