<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>ETL Migration |</title><link>https://ellipsys-bi.com/en/tags/etl-migration/</link><atom:link href="https://ellipsys-bi.com/en/tags/etl-migration/index.xml" rel="self" type="application/rss+xml"/><description>ETL Migration</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>en-US</language><lastBuildDate>Thu, 02 Jul 2026 00:00:00 +0000</lastBuildDate><image><url>https://ellipsys-bi.com/media/logo.svg</url><title>ETL Migration</title><link>https://ellipsys-bi.com/en/tags/etl-migration/</link></image><item><title>ETL Migration - from legacy ETL to an open SQL ETL - {oa.tbx}</title><link>https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/</link><pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate><guid>https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/</guid><description>&lt;p&gt;Once ETL processes have been converted to SQL by &lt;strong style="color:#C00000;"&gt;{openAudit}&lt;/strong&gt;, they can be run inside the &lt;strong style="color:#C00000;"&gt;{oa.tbx}&lt;/strong&gt; container.&lt;/p&gt;
&lt;p&gt;&lt;strong style="color:#C00000;"&gt;{oa.tbx}&lt;/strong&gt; provides an execution environment for SQL, Python, or Java processes, driven by configuration and orchestration repositories.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; the migrated processes become SQL instructions that can be executed independently of the original ETL platform.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="principles"&gt;Principles&lt;/h2&gt;
&lt;p&gt;SQL is encapsulated in open containers, in ETL mode.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Containers:&lt;/strong&gt; transformations run inside an external container, &lt;strong style="color:#C00000;"&gt;{oa.tbx}&lt;/strong&gt;, detached from the target database. Temporary containers act as intermediate storage areas where data is loaded before transformation. Jobs are tested to verify correct behavior, and possibly the data itself, to guarantee its integrity.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Orchestration with Airflow:&lt;/strong&gt; Airflow drives the execution of the containers, step by step. Each transformation, within a container, is defined as a job.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-1-fr-en_hu_3d51582657fd7652.webp 320w, https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-1-fr-en_hu_e491566fb88257d1.webp 480w, https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-1-fr-en_hu_94523c4431e46e11.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-1-fr-en_hu_3d51582657fd7652.webp"
width="760"
height="456"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;The scheduling of an ETL migrated to Airflow automatically picks up all of the original instructions and scheduling logic.&lt;/p&gt;
&lt;h2 id="execution-chain"&gt;Execution chain&lt;/h2&gt;
&lt;p&gt;ETL jobs are converted to SQL by &lt;strong style="color:#C00000;"&gt;{openAudit}&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The generated processes are integrated into a configuration repository and a control repository used by &lt;strong style="color:#C00000;"&gt;{oa.tbx}&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The workflows are then orchestrated by tools such as Airflow or Dagster.&lt;/p&gt;
&lt;h2 id="execution-container"&gt;Execution container&lt;/h2&gt;
&lt;p&gt;&lt;strong style="color:#C00000;"&gt;{oa.tbx}&lt;/strong&gt; runs the processes described in the workflows.&lt;/p&gt;
&lt;p&gt;Dataflows can combine:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SQL;&lt;/li&gt;
&lt;li&gt;Python;&lt;/li&gt;
&lt;li&gt;Java;&lt;/li&gt;
&lt;li&gt;others.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The engine can also rely on embedded databases such as DuckDB for certain intermediate processing steps.&lt;/p&gt;
&lt;h2 id="sources-and-targets"&gt;Sources and targets&lt;/h2&gt;
&lt;p&gt;Input data can come from any technology accessible via SQL or JDBC.&lt;/p&gt;
&lt;p&gt;Results can be loaded into any target system compatible with standard write mechanisms.&lt;/p&gt;
&lt;p&gt;The architecture remains independent of source and target technologies.&lt;/p&gt;
&lt;h2 id="orchestration"&gt;Orchestration&lt;/h2&gt;
&lt;p&gt;Orchestration remains separate from the processes themselves.&lt;/p&gt;
&lt;p&gt;Dependencies, execution parameters, schedules, and triggers are handled by the workflow layer.&lt;/p&gt;
&lt;p&gt;Business logic stays contained within the SQL scripts and dataflows executed by &lt;strong style="color:#C00000;"&gt;{oa.tbx}&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="benefits"&gt;Benefits&lt;/h2&gt;
&lt;p&gt;&lt;strong style="color:#C00000;"&gt;{oa.tbx}&lt;/strong&gt; runs open SQL pipelines, orchestrated by Airflow and independent of proprietary Cloud platform runtimes.&lt;/p&gt;
&lt;p&gt;Across all migrated jobs — with volumes ranging from a few thousand to more than 50 million rows — execution times are often just a few seconds, with an almost systematic OK status.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-3-fr-en_hu_34d4fedcd8cecdf1.webp 320w, https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-3-fr-en_hu_3fb20d1c6eee6385.webp 480w, https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-3-fr-en_hu_497d09f9b8ba11e5.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-3-fr-en_hu_34d4fedcd8cecdf1.webp"
width="760"
height="372"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="governance-and-data-lineage"&gt;Governance and data lineage&lt;/h2&gt;
&lt;p&gt;Once ETL processes have been converted to SQL, &lt;strong style="color:#C00000;"&gt;{oa.tbx}&lt;/strong&gt; keeps the complete trace between the original logic and the executed SQL. This data lineage is exposed at two levels of detail, suited to different needs.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; a synthetic view for governance, an exhaustive detail view for maintenance.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;High-level pipeline view:&lt;/strong&gt; only source and target tables are visible; intermediate ETL stages are grouped into a single SQL block. A readable view, even for complex pipelines.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-4-fr-en_hu_d24e651ccc9c22da.webp 320w, https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-4-fr-en_hu_224214e77cdcf373.webp 480w, https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-4-fr-en_hu_8b96fa8e67a1d56c.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-4-fr-en_hu_d24e651ccc9c22da.webp"
width="760"
height="351"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Detail on click for a transformation:&lt;/strong&gt; clicking a stage (a Transformer, for example) displays its generated SQL equivalent, along with its inputs/outputs and its original metadata (type, stage ID). The mapping between the original ETL logic and the executed SQL is immediate.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-5-fr-en_hu_d42fe9268d15acff.webp 320w, https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-5-fr-en_hu_f03a4ff2d16cc351.webp 480w, https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-5-fr-en_hu_ee1a91f7e8d48e8f.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/middlewares/migration-etl-vers-oa-tbx/migration-etl-vers-oa-tbx-5-fr-en_hu_d42fe9268d15acff.webp"
width="760"
height="357"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt; complete governance of the migrated pipeline, from the overview down to the executed SQL, regardless of the original ETL platform.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="sql-as-the-pivot-format"&gt;SQL as the pivot format&lt;/h2&gt;
&lt;p&gt;The SQL produced by &lt;strong style="color:#C00000;"&gt;{openAudit}&lt;/strong&gt; becomes the primary vehicle for the transformations.&lt;/p&gt;
&lt;p&gt;Business rules, joins, aggregations, and calculations are expressed in an open, version-controllable format, independent of legacy ETL tools.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt; a SQL-based ETL/ELT chain, orchestrated by workflows and run in an open environment.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;script&gt;
(function () {
// Hide the "Last updated on" date and the Author block on Resources
// pages: these aren't blog posts (no date/byline).
function hide() {
document.querySelectorAll("time.mt-12.mb-8").forEach(function (el) {
el.style.display = "none";
});
document.querySelectorAll("div.flex.pt-12.pb-4").forEach(function (el) {
if (el.querySelector('img[src*="/media/authors/"]')) {
el.style.display = "none";
}
});
// Extra safety net: also hide the social sharing row and any container
// linked to the author card, matched semantically rather than by class
// name (more robust to theme updates).
var shareHrefPatterns = [
"twitter.com/intent", "x.com/intent", "facebook.com/sharer",
"linkedin.com/sharing", "wa.me/", "api.whatsapp.com", "mailto:?"
];
document.querySelectorAll("a[href]").forEach(function (a) {
var href = a.getAttribute("href") || "";
if (shareHrefPatterns.some(function (p) { return href.indexOf(p) !== -1; })) {
a.style.display = "none";
}
});
document.querySelectorAll('a[href="https://ellipsys-bi.com/authors/me/"]').forEach(function (a) {
var el = a.closest("div.flex") || a.parentElement;
if (el) el.style.display = "none";
});
}
document.addEventListener("DOMContentLoaded", hide);
})();
&lt;/script&gt;</description></item><item><title>ETL Migration - from legacy ETL to dbt</title><link>https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-vers-dbt/</link><pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate><guid>https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-vers-dbt/</guid><description>&lt;p&gt;Migrating to dbt means transforming proprietary ETL processes into SQL models run directly in the target data engine.&lt;/p&gt;
&lt;p&gt;Before any conversion, &lt;strong style="color:#C00000;"&gt;{openAudit}&lt;/strong&gt; analyzes flows, dependencies, and usage to identify the scope that is actually worth migrating.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; the migration starts with a rationalization phase of the existing estate.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="flow-analysis"&gt;Flow analysis&lt;/h2&gt;
&lt;p&gt;ETL processes are analyzed to reconstruct dependencies, transformations, and usage.&lt;/p&gt;
&lt;p&gt;Data lineage is used to identify active flows, dead branches, and unconsumed components.&lt;/p&gt;
&lt;p&gt;This phase reduces the volume of processes to be migrated.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt; a migration scope refocused on the processes that are actually used.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="conversion-to-sql"&gt;Conversion to SQL&lt;/h2&gt;
&lt;p&gt;ETL jobs are broken down into elementary operations: filters, joins, aggregations, lookups, business calculations, and transformations.&lt;/p&gt;
&lt;p&gt;These components are converted into documented SQL, independent of the source technology.&lt;/p&gt;
&lt;p&gt;SQL becomes the pivot representation of the processes.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; business logic is rebuilt in SQL before the dbt project is generated.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="generating-dbt-models"&gt;Generating dbt models&lt;/h2&gt;
&lt;p&gt;The SQL processes are organized into dbt models.&lt;/p&gt;
&lt;p&gt;Dependencies between models are automatically generated from the flows identified during the analysis.&lt;/p&gt;
&lt;p&gt;The project structure, references between models, and documentation can be produced automatically.&lt;/p&gt;
&lt;h2 id="progressive-validation"&gt;Progressive validation&lt;/h2&gt;
&lt;p&gt;Migration is carried out in batches.&lt;/p&gt;
&lt;p&gt;The generated models are validated and then progressively integrated into the target environment.&lt;/p&gt;
&lt;p&gt;Discrepancies can be checked process by process during the transition phase.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Typical use case:&lt;/strong&gt; progressive migration of several hundred ETL jobs to dbt.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="target-architecture"&gt;Target architecture&lt;/h2&gt;
&lt;p&gt;The processes become version-controllable, maintainable SQL models.&lt;/p&gt;
&lt;p&gt;Dependencies are explicit, transformations are visible, and processes can be run directly by Snowflake, BigQuery, Databricks SQL, Redshift, PostgreSQL, or any other compatible engine.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; the processes no longer depend on the legacy ETL platform but on a dbt project built on open SQL.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;script&gt;
(function () {
// Hide the "Last updated on" date and the Author block on Resources
// pages: these aren't blog posts (no date/byline).
function hide() {
document.querySelectorAll("time.mt-12.mb-8").forEach(function (el) {
el.style.display = "none";
});
document.querySelectorAll("div.flex.pt-12.pb-4").forEach(function (el) {
if (el.querySelector('img[src*="/media/authors/"]')) {
el.style.display = "none";
}
});
// Extra safety net: also hide the social sharing row and any container
// linked to the author card, matched semantically rather than by class
// name (more robust to theme updates).
var shareHrefPatterns = [
"twitter.com/intent", "x.com/intent", "facebook.com/sharer",
"linkedin.com/sharing", "wa.me/", "api.whatsapp.com", "mailto:?"
];
document.querySelectorAll("a[href]").forEach(function (a) {
var href = a.getAttribute("href") || "";
if (shareHrefPatterns.some(function (p) { return href.indexOf(p) !== -1; })) {
a.style.display = "none";
}
});
document.querySelectorAll('a[href="https://ellipsys-bi.com/authors/me/"]').forEach(function (a) {
var el = a.closest("div.flex") || a.parentElement;
if (el) el.style.display = "none";
});
}
document.addEventListener("DOMContentLoaded", hide);
})();
&lt;/script&gt;</description></item><item><title>ETL Migration - legacy ETL connectors for SQL migration</title><link>https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-connecteurs-legacy/</link><pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate><guid>https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-connecteurs-legacy/</guid><description>&lt;p&gt;ETL platforms rely on connectors, transformation components, parameterization mechanisms, and execution strategies specific to each vendor.&lt;/p&gt;
&lt;p&gt;&lt;strong style="color:#C00000;"&gt;{openAudit}&lt;/strong&gt; analyzes these components, reconstructs their behavior, and then generates a SQL representation independent of the source technology.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; the conversion is based on analyzing the ETL components, not on a simple syntactic translation.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="component-analysis"&gt;Component analysis&lt;/h2&gt;
&lt;p&gt;Technical repositories are analyzed to identify connectors, transformations, parameters, dependencies, and execution mechanisms.&lt;/p&gt;
&lt;p&gt;The components are converted into a common intermediate model before SQL generation.&lt;/p&gt;
&lt;p&gt;This approach is identical regardless of the source technology.&lt;/p&gt;
&lt;h2 id="connectors"&gt;Connectors&lt;/h2&gt;
&lt;p&gt;Read and write connectors are analyzed to reconstruct the flows between systems.&lt;/p&gt;
&lt;p&gt;Connection parameters, queries, data formats, and mappings are integrated into the migration model.&lt;/p&gt;
&lt;p&gt;Flows can originate from relational databases, files, APIs, or Cloud platforms.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Typical use case:&lt;/strong&gt; reconstructing exchanges between Oracle, SQL Server, PostgreSQL, flat files, or Cloud storage.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="transformations"&gt;Transformations&lt;/h2&gt;
&lt;p&gt;Transformation components are converted into SQL instructions.&lt;/p&gt;
&lt;p&gt;Filters, joins, aggregations, lookups, mappings, type conversions, column calculations, and conditional expressions are reconstructed in the target SQL model.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-connecteurs-legacy/migration-etl-connecteurs-legacy-1-fr-en_hu_fced570183f618b.webp 320w, https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-connecteurs-legacy/migration-etl-connecteurs-legacy-1-fr-en_hu_dd98b23a236d010.webp 480w, https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-connecteurs-legacy/migration-etl-connecteurs-legacy-1-fr-en_hu_51d9bda1300879c3.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-connecteurs-legacy/migration-etl-connecteurs-legacy-1-fr-en_hu_fced570183f618b.webp"
width="760"
height="324"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; each transformation becomes an explicit SQL operation.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="parameterization"&gt;Parameterization&lt;/h2&gt;
&lt;p&gt;Environment variables, job parameters, shared libraries, and reusable components are analyzed during the conversion.&lt;/p&gt;
&lt;p&gt;Dependencies between processes and parameterization mechanisms are preserved in the generated model.&lt;/p&gt;
&lt;h2 id="supported-technologies"&gt;Supported technologies&lt;/h2&gt;
&lt;p&gt;The migration engines cover in particular IBM DataStage, Talend, SAP BODS, SSIS, ODI, Informatica PowerCenter, Stambia, Semarchy xDI, and Ab Initio.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="img-big"
srcset="https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-connecteurs-legacy/migration-etl-connecteurs-legacy-2-fr-en_hu_b2089859f56a5d05.webp 320w, https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-connecteurs-legacy/migration-etl-connecteurs-legacy-2-fr-en_hu_543af4a1a34656c7.webp 480w, https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-connecteurs-legacy/migration-etl-connecteurs-legacy-2-fr-en_hu_16ada158ec22bd89.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://ellipsys-bi.com/en/ressources/migration-etl/migration-etl-connecteurs-legacy/migration-etl-connecteurs-legacy-2-fr-en_hu_b2089859f56a5d05.webp"
width="760"
height="313"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;The methodology stays the same: component analysis, flow reconstruction, then SQL generation.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt; a consistent approach applied to different ETL technologies.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="sql-as-the-pivot-format"&gt;SQL as the pivot format&lt;/h2&gt;
&lt;p&gt;Once the components have been reconstructed, the processes are converted into a SQL model independent of the source platform.&lt;/p&gt;
&lt;p&gt;The generated SQL can then be adapted to Snowflake, BigQuery, Databricks SQL, Redshift, PostgreSQL, SQL Server, or any other compatible engine.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Key point:&lt;/strong&gt; SQL becomes the common format for representing the processes.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;script&gt;
(function () {
// Hide the "Last updated on" date and the Author block on Resources
// pages: these aren't blog posts (no date/byline).
function hide() {
document.querySelectorAll("time.mt-12.mb-8").forEach(function (el) {
el.style.display = "none";
});
document.querySelectorAll("div.flex.pt-12.pb-4").forEach(function (el) {
if (el.querySelector('img[src*="/media/authors/"]')) {
el.style.display = "none";
}
});
// Extra safety net: also hide the social sharing row and any container
// linked to the author card, matched semantically rather than by class
// name (more robust to theme updates).
var shareHrefPatterns = [
"twitter.com/intent", "x.com/intent", "facebook.com/sharer",
"linkedin.com/sharing", "wa.me/", "api.whatsapp.com", "mailto:?"
];
document.querySelectorAll("a[href]").forEach(function (a) {
var href = a.getAttribute("href") || "";
if (shareHrefPatterns.some(function (p) { return href.indexOf(p) !== -1; })) {
a.style.display = "none";
}
});
document.querySelectorAll('a[href="https://ellipsys-bi.com/authors/me/"]').forEach(function (a) {
var el = a.closest("div.flex") || a.parentElement;
if (el) el.style.display = "none";
});
}
document.addEventListener("DOMContentLoaded", hide);
})();
&lt;/script&gt;</description></item></channel></rss>