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