数据映射(datamapping)基本概念
数据映射(Data Mapping):给定两个数据模型,在模型之间建⽴起数据元素的对应关系,将这⼀过程称为数据映射。数据映射是很多数据集成任务的第⼀步,例如:数据迁移(data migration)、数据清洗(data cleaning)、数据集成、语义⽹构造、p2p信息系统。
数据映射的⽅式有两种:⼿⼯编码(Hand-coded)和可视化操作(Graphical manual)。⼿⼯编码是直接⽤类似XSLT,JAVA,C++这样的编程语⾔定义数据对应关系。可视化操作通常⽀持⽤户在数据项之间画⼀条线以定义数据项之间的对应关系。有些⽀持可视化操作的⼯具可以⾃动建⽴这种对应关系。这种⾃动建⽴的对应关系⼀般要求数据项具有相同的名称。⽆论采⽤⼿⼯⽅式操作还是⾃动建⽴关系,最终都需要⼯具⾃动将图形表⽰的对应关系转化成XSLT,JAVA,C++这样的可执⾏程序。
java类的概念
⽬前数据映射领域存在两个前沿的研究⽅向:
数据驱动的映射:利⽤统计⽅法分析源数据库和⽬标数据库的实际数据,挖掘出数据对应关系。这种⽅法可以发现数据之间的“substring”,“concatenations”,“arithmetic”,“case statements”等转换逻辑。这
种⽅法还可以⽤于发现异常情况,也就是不符合已定义转换逻辑的数据。
那么数据映射和数据迁移是什么关系呢?
通常,数据迁移包括三个阶段:数据抽取(extract),数据转换(transform),数据加载(load),也就是俗称的ETL。但是如何抽取,如何转换,加载到什么位置这些问题都需要有⼀个明确的规则指导。因此这主需要数据映射来定义这些规则。这有点像软件开发过程中的设计与开发。数据映射相当于软件设计、ETL的执⾏代码实现过程相当于软件开发。