<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Etl on Hi, I&#39;m Muhammad Amal</title>
    <link>https://muhammadamal.my.id/tags/etl/</link>
    <description>Recent content in Etl on Hi, I&#39;m Muhammad Amal</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 08 Aug 2025 09:00:00 +0700</lastBuildDate>
    <atom:link href="https://muhammadamal.my.id/tags/etl/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Orchestrating Complex Enterprise Data Syncs with n8n</title>
      <link>https://muhammadamal.my.id/blog/orchestrating-complex-enterprise-data-syncs-with-n8n/</link>
      <pubDate>Fri, 08 Aug 2025 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/orchestrating-complex-enterprise-data-syncs-with-n8n/</guid>
      <description>How to build n8n data syncs that survive production, with idempotency keys, watermark-based pulls, fan-out fan-in, and a real dead letter queue.</description>
    </item>
    <item>
      <title>October Retro, ETL Pragmatism</title>
      <link>https://muhammadamal.my.id/blog/october-retro-etl/</link>
      <pubDate>Mon, 31 Oct 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/october-retro-etl/</guid>
      <description>October retro: lightweight ETL shipped. What worked, what bounced.</description>
    </item>
    <item>
      <title>Monitoring ETL Pipelines, Lag, Errors, Throughput</title>
      <link>https://muhammadamal.my.id/blog/etl-monitoring-lag-errors/</link>
      <pubDate>Fri, 28 Oct 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/etl-monitoring-lag-errors/</guid>
      <description>ETL monitoring: lag, row counts, errors, throughput. Metrics + dashboards + alerts.</description>
    </item>
    <item>
      <title>Backfilling Historical Data Safely</title>
      <link>https://muhammadamal.my.id/blog/etl-backfill-historical/</link>
      <pubDate>Wed, 26 Oct 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/etl-backfill-historical/</guid>
      <description>Backfill safely: chunked, rate-limited, parallel, merge with live data.</description>
    </item>
    <item>
      <title>Postgres Bulk Loading, COPY and Prepared Statements</title>
      <link>https://muhammadamal.my.id/blog/postgres-bulk-loading-copy/</link>
      <pubDate>Mon, 24 Oct 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/postgres-bulk-loading-copy/</guid>
      <description>Postgres bulk loading: COPY beats INSERT 100x. UNLOGGED, index management, fast ETL writes.</description>
    </item>
    <item>
      <title>Kafka as a Sync Backbone</title>
      <link>https://muhammadamal.my.id/blog/kafka-sync-backbone/</link>
      <pubDate>Wed, 19 Oct 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/kafka-sync-backbone/</guid>
      <description>Kafka 3.2 as sync backbone: topic-per-table, consumers, when it pays off vs simpler tools.</description>
    </item>
    <item>
      <title>Schema Drift, Handling Source Changes Without Breaking Pipelines</title>
      <link>https://muhammadamal.my.id/blog/etl-schema-drift/</link>
      <pubDate>Mon, 17 Oct 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/etl-schema-drift/</guid>
      <description>ETL schema drift: detect, additive vs breaking, flexible patterns that don&amp;rsquo;t lose data.</description>
    </item>
    <item>
      <title>Idempotent Pipelines and Watermarks</title>
      <link>https://muhammadamal.my.id/blog/etl-idempotent-watermarks/</link>
      <pubDate>Fri, 14 Oct 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/etl-idempotent-watermarks/</guid>
      <description>Idempotent ETL: watermarks, upsert dedup, exactly-once, double-write failure modes.</description>
    </item>
    <item>
      <title>Building an ETL Pipeline in Go</title>
      <link>https://muhammadamal.my.id/blog/go-etl-pipeline/</link>
      <pubDate>Wed, 12 Oct 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/go-etl-pipeline/</guid>
      <description>Go ETL: pgx, COPY bulk, concurrent ETL stages. When Go beats Python.</description>
    </item>
    <item>
      <title>Building an ETL Pipeline in Python</title>
      <link>https://muhammadamal.my.id/blog/python-etl-pipeline/</link>
      <pubDate>Mon, 10 Oct 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/python-etl-pipeline/</guid>
      <description>Python ETL: SQLAlchemy, Polars, BigQuery client. Incremental sync, errors, monitoring.</description>
    </item>
    <item>
      <title>Postgres Logical Replication for CDC</title>
      <link>https://muhammadamal.my.id/blog/postgres-logical-replication-cdc/</link>
      <pubDate>Fri, 07 Oct 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/postgres-logical-replication-cdc/</guid>
      <description>Postgres logical replication for CDC: publications, slots, wal2json / pgoutput consumption.</description>
    </item>
    <item>
      <title>CDC vs Polling, Choosing Your Sync Strategy</title>
      <link>https://muhammadamal.my.id/blog/cdc-vs-polling/</link>
      <pubDate>Wed, 05 Oct 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/cdc-vs-polling/</guid>
      <description>CDC vs polling for data sync. When each wins, ops trade-offs, hybrid approach.</description>
    </item>
    <item>
      <title>Why Lightweight ETL Beats Big Data Tools for Most Teams</title>
      <link>https://muhammadamal.my.id/blog/lightweight-etl-vs-big-data/</link>
      <pubDate>Mon, 03 Oct 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/lightweight-etl-vs-big-data/</guid>
      <description>Lightweight ETL: Python/Go beats Spark/Airflow for most teams. When &amp;lsquo;big data&amp;rsquo; is overkill.</description>
    </item>
  </channel>
</rss>
