软件应用程序之间的数据映射是一个耗时的过程,需要深入的准备和策略,对数据源和目标的良好知识,并根据你的方法,动手开发。
在任何应用集成、数据迁移,以及一般情况下,任何数据管理举措中,数据映射是最关键的步骤之一。人们甚至可以说,集成项目的成功在很大程度上取决于源数据和目标数据的正确映射。
因此,让我们回顾一下数据映射的最佳实践:类型、常见的方法以及一些有用的数据映射工具。
第一件事 数据映射是什么意思?
从本质上讲,数据映射是将数据字段从源系统(商业应用或数据库)连接到目标系统的过程。
许多应用程序在前台命名普通字段时都有相同的模式,但在后台,这些相同的字段可以有相当不同的标签。考虑字段 "客户":在你公司的CRM的源代码中,它可能仍然有 "客户 "的标签,但你的ERP系统称它为 "客户",你的财务工具称它为 "客户",你的组织用于客户消息传递的工具将完全映射为 "用户"。这可能是这种标签难题的最常见的数据映射例子之一。
为了增加复杂性,如果一个系统的双字段数据输出被期望作为另一个系统的单字段数据输入,或者相反,怎么办?这就是通常发生的名字/姓氏;某个客户*"Allan* *""McGregor "从你的电子商务系统将需要成为"Allan McGregor "*在你的ERP。或者我最喜欢的例子:通过你公司的网站提交的潜在客户的电子邮件地址将需要变成 "名:Steven","姓:Davis "和 "公司。Rangers "的客户关系管理工具。现在,这不仅仅是映射相关的数据字段;我们正在谈论的是数据转换。
现在想象一下,我们有几十个业务应用模块和流程(业务伙伴、线索、销售订单、付款单、发票、产品、客户数据等),有许多不同的数据字段,必须从一个系统无缝地流向另一个系统。这就很容易理解为什么数据整合项目需要几个月的时间才能完成,而成本有时会失去控制。
数据映射的类型有哪些?
特别是当它涉及到复杂的项目时,有两种类型的数据映射需要考虑。
- 逻辑数据映射是一个更高层次的、概念性的项目阶段。
- 物理数据映射是一个以实施为导向的,相当实用的阶段。
逻辑数据映射可以被看作是数据建模的第一步。它可以是概念模型的一部分,在这里我们确定现实生活中的对象,并将其与组织相关的概念相匹配,例如,将产品信息、产品订单历史和产品可用性归为一个单一的概念 "产品"。
在更复杂的数据管理项目中,逻辑阶段可以与概念模型分开。在这种情况下,它将遵循后者,我们的任务是定义组织内的逻辑实体,为每个实体分配属性,并在这些实体之间建立关系,从而为整个企业建立一个整体的逻辑数据模型,代表其所有的实体。
为了简单起见,我们将坚持使用一个非常基本的场景,即我们只需要在一个源系统和一个目标系统之间映射数据。下面的插图显示了这种情况下的逻辑数据模型的一个非常简化的版本。在这个阶段定义的规则更多的是适用于逻辑概念,而不是实际执行,但它们可以作为一个更彻底的物理数据映射的基础。
在逻辑数据模型完成后,我们可以开始建立物理数据模型,它是基于源系统和目标系统中数据对象的实际命名。特别是在大型团队中,这些信息应该尽可能的具体和详细,以避免不必要的错误和项目延误。这就是我们上面的逻辑数据映射例子在进入下一个阶段后的样子。
数据映射的三种常见方法
正如你可能已经从上面的章节中推断出的,数据映射至少需要一些技术上的理解。具体有多少取决于你的数据映射方法。一般来说,有三种方法可以选择。
- 手动
- 半自动的
- 完全自动化
每一种都有其优点和缺点。
手动数据映射
这无疑是一门学问,因为它不仅需要对转换规则和编程语言有很好的理解,还需要足够的人力和时间资源来创建地图,记录每一步,以及随着连接的软件系统数量的增加而进行后续的更新和修改。
优点
有了这种方法,你可以百分之百地确定实施是完全按照你的业务需要和要求来进行的。另外,你不需要依赖任何第三方工具。
缺点
这很耗时,代码量很大,而且容易出错。如果你的数据映射专家在某个时候不再是你团队的一部分,他们的继任者可能很难理解映射是如何完成的。
半自动映射
有时也被称为模式映射,这是一种方法,你将使用一个软件工具,帮助连接类似的数据模式,而不需要开发人员的广泛参与。为此,该工具将比较源系统和目标系统的模式,并产生一个关系图,然后由开发人员审查,并进行任何必要的修改。与手工方法类似,可以有一个输出代码,由工具以相关编码语言生成。
优点
这种方法仍然给了开发人员很大的灵活性,但与手工方法相比,它同时也很耗费时间。
缺点
它同样需要相当高的编码技能,而且在手动和自动操作之间的切换仍然是资源密集型的。
全自动化制图
这可能是最主流的方法,这意味着有一整类产品和工具,促进了自动化的低/无代码的数据集成方法,因此,数据映射。这类工具具有拖放或点击选择的图形界面,不仅对经验丰富的编码员和IT架构师来说容易理解和使用,而且对初级开发人员甚至业务线用户来说也很容易理解和使用,使数据映射的过程对每个人都更容易理解。一些现代工具甚至具有NLP(自然语言处理)功能,可以完全自动匹配数据字段。
优点
为开发人员节省了大量的时间,并且可以让更多的IT人员使用,因为它不需要深入的技术知识;易于扩展,并且为数据集成项目提供了许多有用的功能(调度、各种部署选项、预建模板等)。
缺点
它是一个第三方工具,一个组织将变得依赖它,入职通常需要至少一定程度的培训,而且成本可能会快速增长,这取决于各自供应商的定价模式。
哪些工具可用于数据映射?
这个问题的答案取决于你的方法。
半自动的方法
如果你决定采用半自动或模式映射的方法,以下是一些数据映射工具,它们在一些社区讨论和研究论文中引起了我们的注意。
Clio
一个研究原型工具是在IBM的Almaden研究中心开发的。它允许在关系型和XML模式之间进行映射,并支持XQuery、XSLT 1.0、SQL和SQL/XML等语言。
地图力量2005
它是Altova的XML工具套件的一部分;就像Clio一样,MapForce2005是专门为模式映射和生成转换查询而设计。
Stylus Studio 6
Progress Software的一个XML开发环境,专注于XQuery / XSLT可视化和转换。
Oracle Warehouse Builder 10g Release 1
一个基于Oracle 10g数据库系统的数据仓库开发工具。ETL(提取、转换、加载)过程,有一个模式映射步骤,是它的一部分。这个工具是目前市场上许多ETL解决方案的代表。
全自动化的方法
属于这一类的数据映射工具从来不是孤立的。我的意思是,数据映射只是在一个产品中提供的一套全面的工具中的一种能力。这是有道理的:如果你想把数据映射过程自动化,为什么还要把数据管理任务中的其他元素保持在手工状态?
考虑到这一点,当你采用低/无代码的方法进行数据映射,从而进行数据管理时,在进行任何工具评估之前,你应该问自己两个问题,即:谁将是目标用户,以及你在一般的数据交换自动化方面的未来计划是什么?
这些问题的答案将在很大程度上影响你的搜索策略。你可以为你的业务线用户或非常基本的自动化场景选择一个100%无代码的解决方案,如Zapier。对于复杂的自动化任务和你的IT团队成员,你可能更喜欢低代码的iPaaS解决方案,它仍然提供高水平的自动化,但为灵活性和自由度留下足够的空间。
在数据映射工具中需要注意什么
在我们结束这个话题之前,让我们简要地回顾一下好的数据映射工具应该提供的主要能力和特点。
- 一个直观的无代码或低代码的映射界面记住:这不是说一个比另一个好,而是你的个人要求和目标用户。
- 支持各种结构化的数据格式(CSV、XML、JSON等),最好也能支持非结构化和半结构化的数据。
- 在验证过程中进行语法和错误检查。
- 支持有条件(如基于内容)和基于规则的映射。
- 映射过程中的内置数据转换能力。
- 使用样本数据运行测试和调试的能力。
结论
软件应用程序之间的数据映射是一个耗时的过程,需要深入的准备和策略,对数据源和目标的良好知识,以及根据你的方法,亲手开发。老实说,即使是所谓的 "完全自动化 "的方法,数据映射也不是真正的 "完全"自动化。
例如,可能仍然需要一个开发人员来验证和纠正映射结果。但这些工具仍然有助于将人工参与减少到最低限度,从而释放出宝贵的资源用于其他关键任务。