当前位置: 首页 > 科技观察

数据映射良好实践:类型、方法和工具的简要指南

时间:2023-03-23 12:14:27 科技观察

译者|对数据源和目标有很好的理解,并有实用的方法开发。一般来说,数据映射是任何应用程序集成、数据迁移和数据管理程序中最关键的步骤之一。甚至可以这样考虑:集成项目的成功在很大程度上取决于源数据到目标数据的正确映射。本文探讨了数据映射的良好实践,包括类型、常用方法和一些有用的数据映射工具。1.切入正题:数据映射是什么意思?本质上,数据映射是将数据字段从源系统(业务应用程序或数据库)连接到目标系统的过程。许多应用程序在前端共享相同的公共字段命名模式,但在后台,这些相同的字段可以具有完全不同的标签。以“客户”字段为例:在你公司CRM系统的源代码中,它可能还有“客户”标签,但你的ERP系统称它为“客户”,你的财务工具称它为“客户”,并且您的组织用于客户消息传递的工具将准确反映其“用户”。这种标签难题可能是数据映射最常见的例子。更复杂的是,如果一个系统输出的两个字段的数据预计将作为另一个系统中一个字段的数据输入(反之亦然),您会怎么做?FirstName/LastName字段通常就是这种情况。情况,比如电子商务系统中的某个客户“Allan”“McGregor”需要在你的ERP中变成“AllanMcGregor”。或者通过公司网站提交的潜在客户电子邮件地址需要在CRM工具中变为“名字:Steven”,“姓氏:Davis”和“公司:Rangers”。所以现在讨论的不仅仅是映射相关数据字段,还有数据转换。想象一下,有几十个业务应用模块和流程(业务合作伙伴、领导、销售订单、付款单、发票、产品、客户数据等)无缝地流向下一个系统。那么,很容易看出为什么数据集成项目可能需要数月才能完成,而且成本会急剧上升以致失控。2、数据映射有哪几种类型?特别是当涉及到复杂项目时,需要考虑两种类型的数据映射:逻辑数据映射是项目的更高层次的概念阶段。物理数据映射是一个面向实现的阶段,而不是动手阶段。逻辑数据映射可以看作是数据建模的第一步。它可以是概念模型的一部分,我们在其中识别现实生活中的对象并将它们与组织相关的概念相匹配,例如,将产品信息、产品订单历史和产品可用性分组到一个单一的概念“产品”中。在更复杂的数据管理项目中,逻辑阶段可以从概念模型中分离出来。在这种情况下,它将遵循后者,我们的任务将是定义组织内部的逻辑实体,为每个实体分配属性,并建立这些实体之间的关系,从而构建一个表示其所有实体的整体逻辑数据模型整个业务。为了简单起见,我们将坚持一个非常基本的场景,我们只需要在源系统和目标系统之间映射数据。下图显示了此场景中逻辑数据模型的一个非常简化的版本。在此阶段定义的规则更多地应用于逻辑概念而不是实际实现,但它们可以作为更彻底的物理数据映射的基础。逻辑数据模型架构完成后,我们可以从物理数据模型入手,物理数据模型基于源系统和目标系统中数据对象的实际命名。特别是在大型团队中,此信息应尽可能具体和详细,以避免不必要的错误和项目延迟。当我们进入下一阶段时,这就是我们上面的逻辑数据映射示例的样子:关于这个主题有几个有趣的资源可供参考。我们可以推荐的一本书是《数据仓库设计的数据映射》(DataMappingforDataWarehouseDesign),尽管它并没有1:1转换为业务应用程序之间的映射。一般来说,在这些阶段实施数据映射项目应被视为数据映射良好实践。这个过程计划和记录得越好,执行起来就越容易和越快。三、三种常见的数据映射方式如上所示,数据映射需要一定的技术理解,具体取决于数据映射方式。概括地说,有手动、半自动、全自动三种方式可供选择。每种方法都有其优点和缺点。1.手动数据映射手动数据映射本身就是一门科学。因为它不仅需要很好地理解转换规则和编程语言,还需要足够的人力和时间资源来创建地图、记录步骤,并随着连接的软件系统数量的增加执行后续更新和更改。优点:使用这种方法,您可以100%确定实施完全符合您的业务需求。此外,无需依赖任何第三方工具。缺点:耗时、代码量大且容易出错。如果专门的数据映射人员离开团队,他们的继任者可能很难理解映射是如何完成的。2.半自动数据映射,有时称为模式映射,是一种使用软件工具将相似数据模式链接在一起而无需开发人员参与的方法。为此,该工具比较源系统和目标系统的模式并生成一个图表,然后开发人员对其进行审查并进行必要的修改。与手动数据映射方法类似,半自动映射工具可以生成相关编码语言的输出代码。优点:这种方法仍然为开发人员提供了很大的灵活性,但它不一定比手动数据映射方法耗时少。缺点:它还需要员工具有相当高水平的编码技能,而在手动和自动操作之间切换仍然是资源密集型的。3.全自动数据映射全自动数据映射可能是最主流的方法,这意味着有一整套产品和工具可以促进自动化低代码/无代码数据集成方法以实现数据映射。此类工具具有易于理解和使用的拖放或点击图形界面,不仅适用于经验丰富的程序员和IT架构师,也适用于初级开发人员甚至业务线用户,使数据映射过程轻而易举。大家不再有门槛。一些现代工具甚至具有自然语言处理(NLP)功能,可以完全自动匹配数据字段。优点:完全自动化的数据映射为开发人员节省了大量时间,并且由于它需要较少的高级技术知识,因此可以被更广泛的IT人员使用;完全自动化的数据映射易于扩展,并为数据集成项目提供许多有用的功能(调度、各种部署、预建模板等)。缺点:这是一个组织将依赖的第三方工具,入门通常至少需要一定程度的培训,而且成本可能会迅速增加,具体取决于各个供应商的定价模型。4.数据映射使用哪些工具?这个问题的答案取决于所使用的方法。1.半自动化方法如果您决定采用半自动化或模式映射方法,以下是一些在多个社区讨论和研究论文中引起关注的数据映射工具:(1)Clio,开发的原型研究工具由IBM的Almaden研究中心开发,它允许关系模式和XML模式之间的映射,并支持XQuery、XSLT1.0、SQL和SQL/XML语言。(2)MapForce2005它是Altova的XML工具套件的一部分。与Clio一样,MapForce2005专为模式映射和生成转换查询而设计。(3)StylusStudio6是ProgressSoftware的XML开发环境,专注于XQuery/XSLT可视化和转换。(4)OracleWarehouseBuilder10gRelease1是一个基于Oracle10g数据库系统的数据仓库开发工具。ETL(提取、转换、加载)过程是该工具的一部分,并具有模式映射步骤。该工具代表了当今市场上可用的许多ETL解决方案。2.完全自动化的方法这种类型的数据映射工具从来都不是孤立的。这意味着数据映射只是产品中提供的一套工具中的一个功能。理由是,如果你想自动化数据映射过程,为什么要让数据管理任务的其他元素手动化?考虑到这一点,当您采用低代码/无代码方法进行数据映射和数据管理时,在评估任何工具之前,您应该问自己两个问题,即:谁将是目标用户?数据交换自动化方面的未来计划是什么?这些问题的答案将极大地影响您的搜索策略。您可以为您的业务线用户或非常基本的自动化场景选择像Zapier这样的100%无代码解决方案。对于复杂的自动化任务和您的IT团队,您可能更喜欢低代码的iPaaS解决方案,它提供高水平的自动化,但也留有灵活性和自由度的空间。5.在数据映射工具中寻找什么在结束讨论之前,让我们简要介绍一下一个好的数据映射工具应该具备的主要功能和特性:一个直观的无代码或低代码映射界面,记住:这不是要说谁比谁好,倒要看你个人的需求和目标用户。支持各种结构化数据格式(CSV、XML、JSON等),理想情况下,还支持非结构化和半结构化数据格式。可以在验证期间执行语法和错误检查。支持条件映射(例如基于内容的映射)和基于规则的映射。在映射过程中支持内置数据转换功能。能够使用示例数据运行测试和调试。6.结论在软件应用程序之间映射数据是一个耗时的过程,需要深入的准备和周密的策略,对源数据和目标数据有一定的了解,并根据自己的方法进行实际开发。不得不承认,即使采用所谓的“自动”方式,数据映射也不是真正的“自动”。例如,开发人员可能仍需要验证和更正映射结果。但是,这些工具仍然可以最大限度地减少人工参与,从而为其他关键任务释放宝贵的资源。原文链接:https://dzone.com/articles/data-mapping-best-practices-a-brief-guide-to-types译者介绍夏东伟,51CTO社区编辑,信息系统项目工程师,中国人民大学通信科学大师。复合型知识结构,拥有20多年IT上市公司营销总监、高级研究员、IT项目负责人经验。目前就职于北京北新源软件有限公司,任高级研究员,《东威智库》、《东哥安全观》公众号》主编。