<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>José Luis Alba · Senior Data Engineer</title><description>Real decisions building pipelines, models and data governance.</description><link>https://joseluisalba.com/</link><language>en-us</language><item><title>The exchange rate isn&apos;t just a dimension. It&apos;s part of the fact.</title><link>https://joseluisalba.com/blog/rate-belongs-to-the-fact/</link><guid isPermaLink="true">https://joseluisalba.com/blog/rate-belongs-to-the-fact/</guid><description>Converting currency at query time gives you the right number and is still the wrong architecture.</description><pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate></item><item><title>The model migrates. The reasoning doesn&apos;t.</title><link>https://joseluisalba.com/blog/the-reasoning-doesnt-migrate/</link><guid isPermaLink="true">https://joseluisalba.com/blog/the-reasoning-doesnt-migrate/</guid><description>The same table that was right on-premises turns expensive in the cloud, and the model never changed.</description><pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate></item><item><title>A copy doesn&apos;t have opinions</title><link>https://joseluisalba.com/blog/a-copy-has-no-opinions/</link><guid isPermaLink="true">https://joseluisalba.com/blog/a-copy-has-no-opinions/</guid><description>Why storing only balance changes isn&apos;t enough for month-end reporting — the fix isn&apos;t one table doing both jobs, it&apos;s two layers with different jobs: the one that copies and the one that answers.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Average balance isn&apos;t calculated. It&apos;s captured.</title><link>https://joseluisalba.com/blog/average-balance-is-captured/</link><guid isPermaLink="true">https://joseluisalba.com/blog/average-balance-is-captured/</guid><description>Why daily average balance in banking can&apos;t be rebuilt after the fact — the real decision was choosing which accrual tables to snapshot daily, knowing the cost is permanent.</description><pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate></item></channel></rss>