Computer Science > Distributed, Parallel, and Cluster Computing
[Submitted on 19 Mar 2022 (this version), latest version 31 Mar 2022 (v6)]
Title:METL -- a modern ETL pipeline with a dynamic mapping matrix
View PDFAbstract:Canonical data models (CDM) have gained traction as a pattern for data integration in streaming pipelines that extract, transform and load data (ETL). CDMs are in particular useful for integrating microservice systems. (Villaca:2020, Oliveira:2019) However, the transformation to a CDM is complex. (Lemcke:2012) In this paper, we present a new solution for the transformation that is based on a new type of dynamic mapping matrix (DMM). The DMM has been implemented into a mapping app called Message ETL (METL). METL is the key part of a new ETL streaming pipeline at EOS. EOS is part of the Otto-Group, the second-largest e-commerce provider in Europe. For the solution, we draw on research into matrix partitioning (Quinn:2004) and dynamic networks (Haase this http URL). We conceptualize the schemata that describe the data in the messages in the pipeline as sub-graphs of a dynamic network. All attributes of the extracting schema can be mapped to the attributes of the CDM schema. We define a mapping function for these connections in the network. It has a parameter that can either be 0 or 1. All parameters form a large matrix. There are three problems, namely the sparsity of the matrix, the adaptions of the matrix to changes in the network and time efficiency. We solve these three problems by block-partitioning and compacting the matrix. In this process, we derive permutation matrices as a generalized pattern. We show that they can be used for automated updates of the matrix, for parallel computation in near real-time and efficient compacting. The permutation matrices form the dynamic mapping matrix.
Submission history
From: Christian Haase [view email][v1] Sat, 19 Mar 2022 10:18:51 UTC (8,448 KB)
[v2] Tue, 22 Mar 2022 17:28:58 UTC (8,447 KB)
[v3] Wed, 23 Mar 2022 11:24:43 UTC (8,448 KB)
[v4] Tue, 29 Mar 2022 13:54:22 UTC (8,448 KB)
[v5] Wed, 30 Mar 2022 14:45:26 UTC (8,448 KB)
[v6] Thu, 31 Mar 2022 11:16:25 UTC (8,449 KB)
References & Citations
Bibliographic and Citation Tools
Bibliographic Explorer (What is the Explorer?)
Connected Papers (What is Connected Papers?)
Litmaps (What is Litmaps?)
scite Smart Citations (What are Smart Citations?)
Code, Data and Media Associated with this Article
alphaXiv (What is alphaXiv?)
CatalyzeX Code Finder for Papers (What is CatalyzeX?)
DagsHub (What is DagsHub?)
Gotit.pub (What is GotitPub?)
Hugging Face (What is Huggingface?)
Papers with Code (What is Papers with Code?)
ScienceCast (What is ScienceCast?)
Demos
Recommenders and Search Tools
Influence Flower (What are Influence Flowers?)
CORE Recommender (What is CORE?)
arXivLabs: experimental projects with community collaborators
arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.
Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.
Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.