<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>article Qlik Replicate: attrep_changes raises storage cost as the image of a dropped table will persist on Snowflake Storage in Official Support Articles</title>
    <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Replicate-attrep-changes-raises-storage-cost-as-the-image/ta-p/2532620</link>
    <description>&lt;P&gt;Over a period of time, &lt;STRONG&gt;attrep_changes&lt;/STRONG&gt; tables will significantly contribute to the overall storage cost as the image of a dropped table will persist on Snowflake Storage for the purpose of &lt;STRONG&gt;Time Travel&lt;/STRONG&gt; and &lt;STRONG&gt;Fail-Safe&lt;/STRONG&gt; (see &lt;A href="https://docs.snowflake.com/en/user-guide/tables-temp-transient" target="_blank" rel="noopener"&gt;Working with Temporary and Transient Tables | docs.snowflake.com&lt;/A&gt;&amp;nbsp;for details).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Resolution&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;P&gt;Create the &lt;FONT color="#339966"&gt;&lt;STRONG&gt;attrep_changes&lt;/STRONG&gt;&lt;/FONT&gt; table as a transient with a limited-to-absent support for &lt;STRONG&gt;Time Travel&lt;/STRONG&gt; and &lt;STRONG&gt;Fail Safe&lt;/STRONG&gt;. This needs to be done in Snowflake.&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Create a transient schema (&lt;A href="https://docs.snowflake.com/en/sql-reference/sql/create-schema" target="_self"&gt;CREATE SCHEMA | docs.snowflake.com&lt;/A&gt;) with:&lt;BR /&gt;&lt;BR /&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;&lt;FONT face="courier new,courier"&gt;DATA_RETENTION_TIME_IN_DAYS&lt;/FONT&gt; set to &lt;FONT face="courier new,courier"&gt;0&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="a value of 0 effectively disabled time travel for the schema.png" style="width: 727px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/184033iC81749A580F255D6/image-size/large?v=v2&amp;amp;px=999" role="button" title="a value of 0 effectively disabled time travel for the schema.png" alt="a value of 0 effectively disabled time travel for the schema.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face="courier new,courier"&gt;MAX_DATA_EXTENSION_TIME_IN_DAYS&lt;/FONT&gt; set to &lt;FONT face="courier new,courier"&gt;0&lt;/FONT&gt; (Maximum number of days for which Snowflake can extend the data retention period for tables to prevent streams on the tables from becoming stale)&lt;BR /&gt;&lt;BR /&gt;See&amp;nbsp;&lt;A href="https://docs.snowflake.com/en/sql-reference/parameters#max-data-extension-time-in-days" target="_blank" rel="noopener"&gt;MAX_DATA_EXTENSION_TIME_IN_DAYS&lt;/A&gt;&amp;nbsp;for more information.&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;In Qlik Replicate,&amp;nbsp;&lt;SPAN data-olk-copy-source="MessageBody"&gt;configure the task so that all of the control tables will be created in the transient schema:&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="transient schema.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/184034i9964ADAC21807701/image-size/large?v=v2&amp;amp;px=999" role="button" title="transient schema.png" alt="transient schema.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Example:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;CREATE OR REPLACE TRANSIENT SCHEMA IF NOT EXISTS TRANSIENT_SCHEMA
        DATA_RETENTION_TIME_IN_DAYS = 0
        MAX_DATA_EXTENSION_TIME_IN_DAYS = 0
        COMMENT = 'Transient Schema for Qlik Replicate Control Tables';&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;No out-of-the-box solution exists in Qlik Replicate for a configurable option to create the attrep_changes table as a transient one. Log an&amp;nbsp;&lt;EM&gt;&lt;A href="https://community.qlik.com/t5/Ideation/ct-p/qlik-product-insight" target="_blank" rel="noopener"&gt;Idea&lt;/A&gt;&amp;nbsp;&lt;/EM&gt;with Qlik if this is a requirement.&lt;/P&gt;
&lt;H3&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Cause&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;attrep_changes tables are defined for each task and are dropped or created for each bulk being applied to the target&lt;/LI&gt;
&lt;LI&gt;attrep_changes tables are created as normal SF tables, which means that they have a Time Travel and Fail-Safe feature enabled (storing old data images and mirroring data)&lt;/LI&gt;
&lt;LI&gt;The volume of uncompressed data in each instance of attrep_changes table usually varies between 500 MB and 2 GB&lt;/LI&gt;
&lt;LI&gt;Usually, customers configure a bulk to be dropped into Snowflake every 10 to 20 minutes.&lt;/LI&gt;
&lt;LI&gt;If we assume that the data is stored uncompressed, then a worst-case scenario would be:
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;&lt;FONT face="courier new,courier"&gt;2GB * 6 drops/hour * 24 hours * 90 days&lt;/FONT&gt; (default data retention in enterprise account) = &lt;FONT face="courier new,courier"&gt;25,920GB à 26 billable Terabytes after 90 days.&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;Even with a 60% compression ratio, this still produces 9 TB per table after 90 days.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Environment&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H4&gt;
&lt;UL&gt;
&lt;LI&gt;Qlik Replicate&lt;/LI&gt;
&lt;/UL&gt;</description>
    <pubDate>Mon, 06 Oct 2025 14:26:56 GMT</pubDate>
    <dc:creator>dima_etkin</dc:creator>
    <dc:date>2025-10-06T14:26:56Z</dc:date>
    <item>
      <title>Qlik Replicate: attrep_changes raises storage cost as the image of a dropped table will persist on Snowflake Storage</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Replicate-attrep-changes-raises-storage-cost-as-the-image/ta-p/2532620</link>
      <description>&lt;P&gt;Over a period of time, &lt;STRONG&gt;attrep_changes&lt;/STRONG&gt; tables will significantly contribute to the overall storage cost as the image of a dropped table will persist on Snowflake Storage for the purpose of &lt;STRONG&gt;Time Travel&lt;/STRONG&gt; and &lt;STRONG&gt;Fail-Safe&lt;/STRONG&gt; (see &lt;A href="https://docs.snowflake.com/en/user-guide/tables-temp-transient" target="_blank" rel="noopener"&gt;Working with Temporary and Transient Tables | docs.snowflake.com&lt;/A&gt;&amp;nbsp;for details).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Resolution&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;P&gt;Create the &lt;FONT color="#339966"&gt;&lt;STRONG&gt;attrep_changes&lt;/STRONG&gt;&lt;/FONT&gt; table as a transient with a limited-to-absent support for &lt;STRONG&gt;Time Travel&lt;/STRONG&gt; and &lt;STRONG&gt;Fail Safe&lt;/STRONG&gt;. This needs to be done in Snowflake.&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Create a transient schema (&lt;A href="https://docs.snowflake.com/en/sql-reference/sql/create-schema" target="_self"&gt;CREATE SCHEMA | docs.snowflake.com&lt;/A&gt;) with:&lt;BR /&gt;&lt;BR /&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;&lt;FONT face="courier new,courier"&gt;DATA_RETENTION_TIME_IN_DAYS&lt;/FONT&gt; set to &lt;FONT face="courier new,courier"&gt;0&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="a value of 0 effectively disabled time travel for the schema.png" style="width: 727px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/184033iC81749A580F255D6/image-size/large?v=v2&amp;amp;px=999" role="button" title="a value of 0 effectively disabled time travel for the schema.png" alt="a value of 0 effectively disabled time travel for the schema.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face="courier new,courier"&gt;MAX_DATA_EXTENSION_TIME_IN_DAYS&lt;/FONT&gt; set to &lt;FONT face="courier new,courier"&gt;0&lt;/FONT&gt; (Maximum number of days for which Snowflake can extend the data retention period for tables to prevent streams on the tables from becoming stale)&lt;BR /&gt;&lt;BR /&gt;See&amp;nbsp;&lt;A href="https://docs.snowflake.com/en/sql-reference/parameters#max-data-extension-time-in-days" target="_blank" rel="noopener"&gt;MAX_DATA_EXTENSION_TIME_IN_DAYS&lt;/A&gt;&amp;nbsp;for more information.&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;In Qlik Replicate,&amp;nbsp;&lt;SPAN data-olk-copy-source="MessageBody"&gt;configure the task so that all of the control tables will be created in the transient schema:&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="transient schema.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/184034i9964ADAC21807701/image-size/large?v=v2&amp;amp;px=999" role="button" title="transient schema.png" alt="transient schema.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Example:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;CREATE OR REPLACE TRANSIENT SCHEMA IF NOT EXISTS TRANSIENT_SCHEMA
        DATA_RETENTION_TIME_IN_DAYS = 0
        MAX_DATA_EXTENSION_TIME_IN_DAYS = 0
        COMMENT = 'Transient Schema for Qlik Replicate Control Tables';&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;No out-of-the-box solution exists in Qlik Replicate for a configurable option to create the attrep_changes table as a transient one. Log an&amp;nbsp;&lt;EM&gt;&lt;A href="https://community.qlik.com/t5/Ideation/ct-p/qlik-product-insight" target="_blank" rel="noopener"&gt;Idea&lt;/A&gt;&amp;nbsp;&lt;/EM&gt;with Qlik if this is a requirement.&lt;/P&gt;
&lt;H3&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Cause&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;attrep_changes tables are defined for each task and are dropped or created for each bulk being applied to the target&lt;/LI&gt;
&lt;LI&gt;attrep_changes tables are created as normal SF tables, which means that they have a Time Travel and Fail-Safe feature enabled (storing old data images and mirroring data)&lt;/LI&gt;
&lt;LI&gt;The volume of uncompressed data in each instance of attrep_changes table usually varies between 500 MB and 2 GB&lt;/LI&gt;
&lt;LI&gt;Usually, customers configure a bulk to be dropped into Snowflake every 10 to 20 minutes.&lt;/LI&gt;
&lt;LI&gt;If we assume that the data is stored uncompressed, then a worst-case scenario would be:
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;&lt;FONT face="courier new,courier"&gt;2GB * 6 drops/hour * 24 hours * 90 days&lt;/FONT&gt; (default data retention in enterprise account) = &lt;FONT face="courier new,courier"&gt;25,920GB à 26 billable Terabytes after 90 days.&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;Even with a 60% compression ratio, this still produces 9 TB per table after 90 days.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Environment&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H4&gt;
&lt;UL&gt;
&lt;LI&gt;Qlik Replicate&lt;/LI&gt;
&lt;/UL&gt;</description>
      <pubDate>Mon, 06 Oct 2025 14:26:56 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Replicate-attrep-changes-raises-storage-cost-as-the-image/ta-p/2532620</guid>
      <dc:creator>dima_etkin</dc:creator>
      <dc:date>2025-10-06T14:26:56Z</dc:date>
    </item>
  </channel>
</rss>

