审校 | 孙淑娟
企业需要了解数据合成与数据管道如何提供可扩展的解决方案,以创建符合测试系统实际需求的一致数据。
很多企业如今被淹没在数据之中。他们从多种来源收集数据,并试图找到利用这些数据来推进业务目标的方法。解决这个问题的一种方法是使用数据管道作为连接到数据源,并通过管道将数据转换为端点可用的某种形式。
虽然这是为企业操作数据的持续斗争的一部分,但始终需要找到方法为测试提供良好的数据集。企业需要这些数据集来测试整个架构环境中的应用程序和系统。他们还需要数据集来专注于测试其企业的各个方面,例如安全性和质量保证。
而创建合成数据是非常现实的需要。简单地说,这真正意味着企业需要找到一种方法来创建虚构或虚假的数据。企业希望创建类似于测试系统实际需求的一致数据。以下将了解数据管道,并探索企业如何使用它来开始创建自己的合成数据,以便在企业中进行测试。
1.数据管道和测试
数据管道的一个非常简单的定义是“一组串联的数据处理元素,其中一个元素的输出是下一个元素的输入”。更简单地说,这些是用于将数据从数据源返回到可以分析、转换然后由企业使用的级别的基本连接。
数据管道从检索数据开始。他们可以通过应用程序编程接口(API)等可编程接口,或通过数据流和事件处理接口,从SQL(DB)数据源等平台内提取所需数据。
一旦检索到数据,就可以决定转换数据以满足最终用户的需求。这可以通过数据生成API、通过清理或更改检索到的数据的结构来构建数据来完成,最后,出于安全原因,可以在呈现给最终用户之前对数据实现匿名化。
这些只是数据管道可用作测试过程一部分的几个示例,图1是从源到最终数据仓库位置以供进一步使用的数据管道的一个简单示例。
图1
测试要求企业向正在测试的系统、应用程序或代码片段提供数据集。这一数据集可以人工创建、从现有数据集复制或生成以供测试团队使用。
在处理非常小的数据集时,人工创建测试数据可能很有用,但是当需要大量数据集时,它会变得非常麻烦。如果数据包含敏感元素,则从现有(生产到测试)环境复制数据集会带来安全和隐私问题。基于现有数据生成数据可以提供良好的结果。
如果企业想大规模生成数据,考虑到安全性以提供匿名结果,并确保生成内容的灵活性,那么该怎么办?这就是数据合成发挥重要作用的地方。它允许企业以可能需要的灵活性生成数据。
2.初学者的数据合成
生成合成数据可以在处理敏感数据元素的同时提供大量数据。合成数据可以基于关键数据维度,例如姓名、地址、电话号码、帐号、社会保障、信用卡、标识符、驾驶执照号码等。
合成数据被定义为虚假或创建的数据,但它通常基于真实数据,用于扩展以创建更大、更真实的数据集进行测试。然后,为测试生成的数据以安全且可扩展的方式在企业中提供给业务用户和开发人员使用。
这种合成数据在任何企业中都有广泛的用途,例如医疗保健、金融、制造以及采用新技术来满足各种业务需求的任何其他领域。它的直接用途是持续的测试、安全和质量保证实践,以帮助实施、应用程序开发、集成和数据科学工作。
企业不仅能够通过数据合成大规模地提供数据集,而且还确保支持企业中多个域的数据一致性,同时提供代表现实世界格式的可行数据。它为开发人员、架构师和数据架构师提供了跨任何企业的一致方法,以利用数据进行测试。
3.数据合成入门
发现数据合成可以为企业提供好处的最佳方式是探索最常见的使用模式,然后潜入开源项目以启动其体验。开始数据合成有两种简单的模式:在云原生环境和云原生API中,如图2所示。
图2
第一种模式是在企业选择的云平台上的单个容器内运行数据合成平台,并利用API从容器中的源(例如应用程序或数据库)中提取数据。第二个是可以在选择的云平台上部署数据合成平台,并利用云原生API从任何来源(例如外部独立数据源)提取数据。
数据合成在以下用例中大放异彩:
- 在平台内检索所需数据(SQL)
- 数据检索(API)
- 数据生成(API)
按需或按计划构建更多虚构数据
- 数据构建
基于虚构数据按需或计划构建更多结构化数据
创建满足需求的结构化或非结构化数据
- 以流媒体行业为中心的数据
使用数据管道处理各种行业标准数据
通过从实时系统中解析和填充来提供真实世界的属性,从而实现去标识化和匿名化
涵盖这些用例中的每一个都超出了本文的范围,但这个列表让人们对数据合成和测试的适用性领域有一个很好的了解。对于数据合成数据层的概述,如图3所示:
这是数据层的概述,以及平台如何使用美国各地的数据字段(邮政编码和区号)作为示例将它们联系在一起。在图3的中心,可以看到可以根据需要扩展的松散耦合数据模型。它们构成了从现有数据、实施数据和行业标准数据进行访问的核心基础。这可以使用数据设置并基于企业中的现有数据结构进行调整。其输出是生成的数据、参考数据和特定于平台的数据。
在这个简短的数据合成之旅之后,下一步是开始探索名为Project Herophilus的开源项目,企业可以在其中开始使用数据合成平台。
企业将找到数据合成的关键起始区域:
- 数据层——设计为可扩展并支持平台的所有需求。
- 数据层API——支持用户请求需求的是数据层API,这个API集是关于能够生成数据并将其持久化到数据层。
- Web UI(s) ——旨在成为可用于查看企业实施的数据合成数据层的最小可行产品。
数据合成项目中的三个模块应该可以帮助企业快速开始开发测试数据集。
4.结论
随着企业收集、探索、转换和尝试利用他们的数据,测试是一个不断增长的挑战。虽然生成测试数据集可以解决其中一些问题,但当流程需要扩展时,它通常会失败。数据合成与数据管道一起,可以提供可扩展的解决方案,以创建类似于测试系统实际需求的一致数据。企业可以从探索名为Herophilus的开源项目开始,它提供了三个模块来启动其第一个数据合成项目。
原文链接:https://dzone.com/articles/modernizing-testing-with-data-pipelines