{"templateName":"blog-page","cssClassNames":"blog-page page basicpage summit-page","allowedRenditionsWidth":["320","480","640","768","960","1200","1440","1920"],"description":"Scopri come Thrive Learning ha ridotto del 99% i costi di auto-clustering delle Dynamic Table Snowflake mantenendo intatta la lineage con l’incrementalizzazione personalizzata.","language":"it","title":"Incrementalizzazione personalizzata per le Dynamic Table | Snowflake","analyticsPageType":"homepage","analyticsCategory":"general","analyticsSubCategory":"","excludeFromAnalytics":false,":mappedPath":"/it/blog/thrive-dynamic-table-costs-custom-incremental/",":type":"snowflake-site/components/structure/page",":items":{"root":{"columnCount":12,"columnClassNames":{"experiencefragment-banner":"aem-GridColumn aem-GridColumn--default--12","experiencefragment-sub-header":"aem-GridColumn aem-GridColumn--default--12","experiencefragment-pre-footer":"aem-GridColumn aem-GridColumn--default--12","experiencefragment-header":"aem-GridColumn aem-GridColumn--default--12","markup_editor-table":"aem-GridColumn aem-GridColumn--default--12","responsivegrid":"aem-GridColumn aem-GridColumn--default--12","experiencefragment-footer":"aem-GridColumn aem-GridColumn--default--12","markup_editor":"aem-GridColumn aem-GridColumn--default--12","container_47873732":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12",":items":{"experiencefragment-banner":{"id":"experiencefragment-2ad2b46f73","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/pushdown-banner/pushdown-banner-blank/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment","xfModelPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/pushdown-banner/pushdown-banner-blank.xfmodel.json"},"experiencefragment-header":{"id":"experiencefragment-517722bd6d","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/it/site/mega-nav-header/master/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment","xfModelPath":"/content/experience-fragments/snowflake-site/language-masters/it/site/mega-nav-header/master.xfmodel.json","languageNavPath":"/content/snowflake-site/global/it/blog/thrive-dynamic-table-costs-custom-incremental.languagenav.json","appliedCssClassNames":"snowflake-sticky-nav-host"},"experiencefragment-sub-header":{"id":"experiencefragment-278a82f4c0","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/it/site/sub-navigation/master/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment","xfModelPath":"/content/experience-fragments/snowflake-site/language-masters/it/site/sub-navigation/master.xfmodel.json"},"responsivegrid":{"columnCount":12,"columnClassNames":{"container_breadcrumb":"aem-GridColumn aem-GridColumn--default--12","container_main_content":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12",":items":{"container_breadcrumb":{"layout":"RESPONSIVE_GRID","columnCount":12,"columnClassNames":{"breadcrumb":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","id":"blog-page-breadcrumb-indentation","appliedCssClassNames":"snowflake-container",":type":"snowflake-site/components/container",":items":{"breadcrumb":{"id":"breadcrumb-66abd6e878","breadcrumbItems":[{"title":"Blog","path":"/it/blog/","active":false},{"title":"Come Thrive Learning ha raddoppiato il valore delle Dynamic Tables grazie all’incrementalizzazione personalizzata","path":"/it/blog/thrive-dynamic-table-costs-custom-incremental/","active":false}],":type":"snowflake-site/components/blog/breadcrumb"}},":itemsOrder":["breadcrumb"]},"container_main_content":{"layout":"RESPONSIVE_GRID","columnCount":12,"columnClassNames":{"flexible_column_container":"aem-GridColumn aem-GridColumn--default--12","related_content":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","id":"main-content","appliedCssClassNames":"snowflake-container",":type":"snowflake-site/components/container",":items":{"flexible_column_container":{"id":"flexible-column-container-1fe29d9f6c","propertiesId":"snowflake-blog-template-main-container","type":"2-column-60-40","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"none","bottomPadding":"none","spaceBetween":"none","reverseOnMobile":true,"carouselOnMobile":false,"backgroundImageOption":"none","flexible_column_content_container_1":{"layout":"SIMPLE","id":"container-f5a5e5c8f9",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"container_hero":{"layout":"RESPONSIVE_GRID","columnCount":12,"columnClassNames":{"blog_hero":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","id":"container-e1722c8811",":type":"snowflake-site/components/container",":items":{"blog_hero":{"id":"blog-hero-015b2afad7","linkedInShareUrl":"https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.snowflake.com%2Fcontent%2Fsnowflake-site%2Fglobal%2Fit%2Fblog%2Fthrive-dynamic-table-costs-custom-incremental&title=Come+Thrive+Learning+ha+raddoppiato+il+valore+delle+Dynamic+Tables+grazie+all%E2%80%99incrementalizzazione+personalizzata","twitterShareUrl":"https://x.com/intent/post?url=https%3A%2F%2Fwww.snowflake.com%2Fcontent%2Fsnowflake-site%2Fglobal%2Fit%2Fblog%2Fthrive-dynamic-table-costs-custom-incremental&text=Come+Thrive+Learning+ha+raddoppiato+il+valore+delle+Dynamic+Tables+grazie+all%E2%80%99incrementalizzazione+personalizzata","facebookShareUrl":"https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.snowflake.com%2Fcontent%2Fsnowflake-site%2Fglobal%2Fit%2Fblog%2Fthrive-dynamic-table-costs-custom-incremental","showClaude":true,"showChatGpt":true,"authors":[{"authorImage":{"id":"image-834de94ace","height":"336","src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--5e38aa38-7ad0-4150-8fef-8b8920d74c27/alex-tasioulis.png?quality=85&preferwebp=true","lazyEnabled":true,"width":"340",":type":"snowflake-site/components/image"},"authorCta":{"id":"button-a99b566581","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/blog/authors/alex-tasioulis/"},"linkTargetContentType":"DOCUMENT_LEARN",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Alex Tasioulis"}},{"authorImage":{"id":"image-ca3aa43464","height":"386","src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--001f2b34-70a5-49f3-9623-b9d75247a1c1/rob-howe-.png?quality=85&preferwebp=true","lazyEnabled":true,"width":"424",":type":"snowflake-site/components/image"},"authorCta":{"id":"button-d821e2d7c0","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/blog/authors/rob-howe/"},"linkTargetContentType":"DOCUMENT_LEARN",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Rob Howe"}}],"image":{"id":"image-caa607681a","height":"720","src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--c88c825a-4386-4569-b262-5869f5bdeb90/07-finserv.jpg?quality=85&preferwebp=true","lazyEnabled":true,"width":"1680",":type":"snowflake-site/components/image"},"timeToRead":"6","publicationDate":"JUL 29, 2026","title":{"lines":["Come Thrive Learning ha raddoppiato il valore delle Dynamic Tables grazie all’incrementalizzazione personalizzata"],"type":"heading2",":type":"snowflake-site/components/title-v2"},":type":"snowflake-site/components/blog/blog-hero"}},":itemsOrder":["blog_hero"]},"responsivegrid_content":{"columnCount":12,"columnClassNames":{"blog_text_187190632":"aem-GridColumn aem-GridColumn--default--12","blog_text_1349023181":"aem-GridColumn aem-GridColumn--default--12","blog_text":"aem-GridColumn aem-GridColumn--default--12","blog_text_1031269132":"aem-GridColumn aem-GridColumn--default--12","quote_item":"aem-GridColumn aem-GridColumn--default--12","blog_text_530813114":"aem-GridColumn aem-GridColumn--default--12","quote_item_1724348700":"aem-GridColumn aem-GridColumn--default--12","blog_text_1403105781":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","appliedCssClassNames":"snowflake-layout-container-inner-padding-small",":items":{"blog_text":{"id":"blog-text-ef6d39a5b0","text":"\u003Cp\u003E\u003Ci\u003EQuesto post è stato scritto dal team di data engineering di Thrive Learning. Le opinioni e le esperienze espresse sono personali.\u003C/i\u003E\u003C/p\u003E\n\u003Cp\u003EPrima di adottare Snowflake, l’analytics legacy di Thrive si basava su una combinazione di job batch pianificati e change stream MongoDB che avviavano gli aggiornamenti a intervalli regolari. Quando è passata a Snowflake, l’azienda ha puntato fin da subito sulle Dynamic Table, spinta dall’esigenza fondamentale di sincronizzare e trasformare i dati della piattaforma in modo continuo man mano che arrivavano le modifiche, anziché tramite batch ritardati.\u003C/p\u003E\n\u003Cp\u003EQuesta freschezza dei dati non è un semplice dettaglio tecnico di back-office, ma un elemento integrante del prodotto. La suite Analyse di Thrive (che consente ai clienti di esplorare tutti i propri dati di apprendimento) è una componente fondamentale dell’offerta della piattaforma Thrive. Abbiamo anche notato che prestazioni superiori e maggiore freschezza dei dati si traducono direttamente in una maggiore soddisfazione dei clienti e in un vantaggio competitivo nelle trattative commerciali. I clienti non acquistano l’analytics come voce separata, ma la sua qualità influisce direttamente sulla capacità di Thrive di acquisire e fidelizzare i clienti. Più di recente, la stessa data foundation basata sulle Dynamic Table è diventata l’ossatura del primo add-on a pagamento di Thrive, Analyse with AI, che integra l’AI al livello delle pipeline dati esistenti.\u003C/p\u003E\n\u003Cp\u003EIn questo post mostreremo come abbiamo migliorato il rapporto prezzo/prestazioni per una Dynamic Table sfruttando le nuove funzionalità di incrementalizzazione personalizzata. Rob Howe, senior data engineer presso Thrive, ha guidato questo progetto. Rob ha individuato nell’incrementalizzazione personalizzata la risposta ideale alle nostre sfide, ideando questa soluzione, testandola e distribuendola in produzione nel giro di un paio di settimane.\u003C/p\u003E\n","richText":true,":type":"snowflake-site/components/blog/blog-text"},"blog_text_187190632":{"id":"blog-text-4fee811e23","text":"\u003Ch4\u003EPresentazione di Thrive Learning\u003C/h4\u003E\r\n","richText":true,":type":"snowflake-site/components/blog/blog-text"},"quote_item":{"id":"quote-item-792b658d2a","alignment":"left","layout":"card","showQuoteIcon":false,"quote":"Thrive è una piattaforma enterprise di apprendimento (LMS/LXP) con sede nel Regno Unito, al servizio di oltre 500 tenant B2B nei settori manifatturiero, dell’aviazione, del retail e non solo. Il team di data engineering e AI di Thrive esegue il proprio stack di analisi dei dati e AI su Snowflake, utilizzando ampiamente le Dynamic Tables per trasformare i dati operativi grezzi nei modelli che alimentano i report destinati ai clienti e l’AI assistant di Thrive.\r\n","showHangingPunctuation":false,":type":"snowflake-site/components/quote-item"},"blog_text_1349023181":{"id":"blog-text-58eeb55aa3","text":"\u003Ch2\u003ELa complessità della deduplica fa salire i costi\u003C/h2\u003E\n\u003Cp\u003EUna delle pipeline principali di Thrive, chiamata internamente RecordStore, era nata esattamente per l’uso per cui sono progettate le Dynamic Table: una Dynamic Table semplice, ad aggiornamento automatico e incrementale, senza costi aggiuntivi rilevanti.\u003C/p\u003E\n\u003Cp\u003EI problemi sono iniziati quando il team ha avuto la necessità di arricchirla con chiavi aggiuntive. Alcuni ID non erano posizionati in modo affidabile a monte, per cui la loro risoluzione richiedeva join tra più sorgenti (fino a cinque, poi ottimizzate a tre). Queste join generavano duplicati, rendendo necessaria la deduplica; la complessità complessiva ha impedito a Snowflake di continuare ad aggiornare la tabella in modo incrementale. Il sistema è quindi passato ai refresh completi.\u003C/p\u003E\n\u003Cp\u003EPer ridurre nuovamente i costi di trasformazione, il team ha suddiviso i dati in due percorsi: una “corsia veloce” per i dati recenti aggiornati ogni sei ore e una “corsia lenta” per i dati meno recenti aggiornati ogni settimana. Questo intervento ha ridotto i costi di trasformazione, ma l’operazione finale di \u003Ccode\u003EUNION\u003C/code\u003E tra le due corsie ha fatto impennare quelli di auto-clustering. In pratica, il team stava semplicemente sostituendo un costo con un altro. Nel momento peggiore, la pipeline arrivava a consumare centinaia di crediti al giorno tra costi di auto-clustering e di trasformazione.\u003C/p\u003E\n\u003Cp\u003EOgni contromisura agiva unicamente sul sintomo. La vera causa radice era l’inaffidabilità del Content ID a monte e, finché il problema non fosse stato risolto, il team si trovava in uno stallo.\u003C/p\u003E\n\u003Ch2\u003EAggiungere l’incrementalizzazione personalizzata alle Dynamic Table\u003C/h2\u003E\n\u003Cp\u003EIl modello che il team stava valutando prevedeva l’uso di stream e task Snowflake: elaborare solo le righe effettivamente modificate e applicarle tramite una logica di merge. Una pipeline basata su stream e task avrebbe gestito al meglio il picco di complessità, ma, come osservato dagli ingegneri di Thrive, avrebbe anche reso più difficile controllare il lag complessivo di aggiornamento una volta aumentate le esigenze di freschezza dei dati.\u003C/p\u003E\n\u003Cp\u003EL’incrementalizzazione personalizzata per le Dynamic Table (\u003Ccode\u003EREFRESH_MODE = CUSTOM_INCREMENTAL\u003C/code\u003E) ha eliminato del tutto questo compromesso. Il team ha scritto una logica \u003Ccode\u003EREFRESH USING\u003C/code\u003E esplicita con \u003Ccode\u003EMERGE INTO SELF\u003C/code\u003E su \u003Ccode\u003ECHANGES()\u003C/code\u003E, definendo in modo preciso cosa significasse “incrementale” per questa pipeline: elaborare solo il delta, applicarlo tramite merge e lasciare inalterato tutto il resto. In questo modo hanno ottenuto il modello di esecuzione basato su stream e task desiderato, lasciando però a Snowflake la gestione di pianificazione, tentativi di ripristino, garanzie transazionali e lag.\u003C/p\u003E\n\u003Cp\u003ENe sono conseguiti due vantaggi:\u003C/p\u003E\n\u003Col\u003E\n\u003Cli\u003E\u003Cb\u003ELa trasformazione ha smesso di rielaborare tutto:\u003C/b\u003E Ogni aggiornamento ora interessa unicamente le righe modificate, anziché eseguire un refresh completo per gestire la complessità di join e deduplica.\u003C/li\u003E\n\u003Cli\u003E\u003Cb\u003EL’auto-clustering ha smesso di generare overhead inutile:\u003C/b\u003E Senza ricostruzioni complete né l’esigenza di gestire una UNION tra corsia veloce e lenta, l’attività di clustering si è ridotta a valori pressoché nulli.\u003C/li\u003E\n\u003C/ol\u003E\n","richText":true,":type":"snowflake-site/components/blog/blog-text"},"quote_item_1724348700":{"id":"quote-item-7a88b97490","alignment":"left","layout":"card","quoteSourceName":"Alex Tasioulis","quoteSourceTitle":"Head of Data & AI Engineering, Thrive","showQuoteIcon":false,"quote":"“L’incrementalizzazione personalizzata ci ha permesso di ottenere il modello di esecuzione che cercavamo, lasciando a Snowflake la gestione della pianificazione, dei tentativi automatici in caso di errore e della latenza. Inoltre, poiché la logica è rimasta nel DAG di dbt, la pipeline ha mantenuto il proprio posto nel grafo di data lineage, senza la necessità di gestire un livello di orchestrazione separato.”\r\n\r\n","showHangingPunctuation":false,":type":"snowflake-site/components/quote-item"},"blog_text_530813114":{"id":"blog-text-fd50cfa7b0","text":"\u003Ch3\u003ERiduzione sia dei costi di trasformazione sia di auto-clustering\u003C/h3\u003E\n","richText":true,":type":"snowflake-site/components/blog/blog-text"},"blog_text_1403105781":{"id":"blog-text-961889229f","text":"\u003Ctable\u003E\n\u003Cthead\u003E\u003Ctr\u003E\u003Cth\u003EFattore di costo\u003C/th\u003E\n\u003Cth\u003EPrima\u003C/th\u003E\n\u003Cth\u003EDopo\u003C/th\u003E\n\u003Cth\u003ERiduzione\u003C/th\u003E\n\u003C/tr\u003E\u003C/thead\u003E\u003Ctbody\u003E\u003Ctr\u003E\u003Ctd\u003EAuto-clustering\u003C/td\u003E\n\u003Ctd\u003E~150 crediti/giorno\u003C/td\u003E\n\u003Ctd\u003E~2 crediti/giorno\u003C/td\u003E\n\u003Ctd\u003E~99%\u003C/td\u003E\n\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003ETrasformazione\u003C/td\u003E\n\u003Ctd\u003E~150 crediti/giorno\u003C/td\u003E\n\u003Ctd\u003E~5 crediti/giorno\u003C/td\u003E\n\u003Ctd\u003E~97%\u003C/td\u003E\n\u003C/tr\u003E\u003C/tbody\u003E\u003C/table\u003E\n\u003Cp\u003E\u003Ci\u003ENota: I risultati si basano sulle misurazioni interne della produzione di Thrive.\u003C/i\u003E\u003C/p\u003E\n","richText":true,":type":"snowflake-site/components/blog/blog-text"},"blog_text_1031269132":{"id":"blog-text-65b594ee80","text":"\u003Cp\u003E \u003C/p\u003E\n\u003Cp\u003EAbbiamo riscontrato che anche la latenza di aggiornamento della pipeline è scesa da ore a secondi, poiché ogni esecuzione analizza soltanto le sorgenti effettivamente modificate. La pipeline ora scala in base al \u003Ci style=\"font-family: adobe-clean, &quot;Source Sans Pro&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, Ubuntu, &quot;Trebuchet MS&quot;, &quot;Lucida Grande&quot;, sans-serif;\"\u003Etasso di modifica\u003C/i\u003E dei dati anziché alla loro dimensione totale.\u003C/p\u003E\n\u003Cp\u003EL’incrementalizzazione personalizzata ha permesso a Thrive di smettere di bilanciare i costi di trasformazione con quelli di clustering e di risolvere direttamente il comportamento di aggiornamento, mantenendo quel controllo sul lag che una pipeline personalizzata basata su stream e task avrebbe sacrificato. È un pattern che il team prevede di riutilizzare ovunque una trasformazione non possa essere espressa chiaramente come SELECT incrementale.\u003C/p\u003E\n\u003Ch2\u003ELineage intatta in dbt\u003C/h2\u003E\n\u003Cp\u003EC’era una seconda ragione per cui l’incrementalizzazione personalizzata si è rivelata superiore all’alternativa basata su stream e task per Thrive: la governance. Thrive gestisce le proprie trasformazioni in dbt. Sapere con esattezza quali modelli alimentano gli altri è centrale nel modo in cui il team analizza, testa e documenta la piattaforma.\u003C/p\u003E\n\u003Cp\u003EStream e task risiedono all’esterno di dbt. Spostare questa logica in una pipeline personalizzata basata su stream e task avrebbe rimosso del tutto tali oggetti dal DAG di dbt, interrompendo la lineage e costringendo il team a gestirli e monitorarli come sistema separato e parallelo.\u003C/p\u003E\n\u003Cp\u003ELe Dynamic Table ad incrementalizzazione personalizzata restano comunque Dynamic Table. Anche se il supporto nativo di dbt per l’incrementalizzazione personalizzata non è ancora disponibile, il team le ha racchiuse in una materializzazione dbt personalizzata, mantenendole come nodi di prim’ordine nel progetto dbt. La pipeline mantiene la sua posizione nel grafo di lineage e viene gestita con gli stessi workflow, test e documentazione di tutto il resto, senza dover mantenere un livello di orchestrazione separato.\u003C/p\u003E\n\u003Ch2\u003EDati più economici e aggiornati per i futuri casi d’uso dell’AI agentica\u003C/h2\u003E\n\u003Cp\u003EIl team sta ora applicando lo stesso pattern ad altre pipeline interessate da una simile complessità di join e deduplica, prevedendo vantaggi analoghi: costi inferiori e dati più freschi su tutto l’ambiente analytics di Thrive. Oltre ai risparmi diretti, Thrive conta già su soluzioni di AI agentica che utilizzano questi dati; renderli più convenienti e quasi in tempo reale consente di supportare un numero ancora maggiore di casi d’uso di agentic AI, posizionando la piattaforma Thrive al meglio per espandere ulteriormente le proprie funzionalità di AI.\u003C/p\u003E\n","richText":true,":type":"snowflake-site/components/blog/blog-text"}},":itemsOrder":["blog_text","blog_text_187190632","quote_item","blog_text_1349023181","quote_item_1724348700","blog_text_530813114","blog_text_1403105781","blog_text_1031269132"],":type":"wcm/foundation/components/responsivegrid"},"responsivegrid_premium_content_banner":{"columnCount":12,"columnClassNames":{},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","appliedCssClassNames":"snowflake-responsive-component-top-padding-medium",":items":{},":itemsOrder":[],":type":"wcm/foundation/components/responsivegrid"},"container_author_chip":{"layout":"RESPONSIVE_GRID","columnCount":12,"columnClassNames":{"author_chip":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","id":"container-6379a6eb0f","appliedCssClassNames":"snowflake-responsive-component-top-padding-medium",":type":"snowflake-site/components/container",":items":{"author_chip":{"id":"author-chip-5d97f3416a","title":{"id":"title","type":"heading2","lines":["Learn more about the authors"],":type":"snowflake-site/components/title-v2"},"authors":[{"authorImage":{"id":"image-834de94ace","height":"336","src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--5e38aa38-7ad0-4150-8fef-8b8920d74c27/alex-tasioulis.png?quality=85&preferwebp=true","lazyEnabled":true,"width":"340",":type":"snowflake-site/components/image"},"authorCta":{"id":"button-a99b566581","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/blog/authors/alex-tasioulis/"},"linkTargetContentType":"DOCUMENT_LEARN",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Alex Tasioulis"},"authorTitle":"Head of Data & AI Engineering at Thrive"},{"authorImage":{"id":"image-ca3aa43464","height":"386","src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--001f2b34-70a5-49f3-9623-b9d75247a1c1/rob-howe-.png?quality=85&preferwebp=true","lazyEnabled":true,"width":"424",":type":"snowflake-site/components/image"},"authorCta":{"id":"button-d821e2d7c0","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/blog/authors/rob-howe/"},"linkTargetContentType":"DOCUMENT_LEARN",":type":"snowflake-site/components/button","linkType":"SNOWFLAKE_INTERNAL","text":"Rob Howe"},"authorTitle":"Senior Data Engineer at Thrive"}],":type":"snowflake-site/components/blog/author-chip"}},":itemsOrder":["author_chip"]}},":itemsOrder":["container_hero","responsivegrid_content","responsivegrid_premium_content_banner","container_author_chip"]},"flexible_column_content_container_2":{"layout":"SIMPLE","id":"container-c7e9cfe0ce",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"blog_table_of_content":{"id":"blog-table-of-content-89aa35b7fc",":type":"snowflake-site/components/blog/blog-table-of-content","tableOfContents":[]}},":itemsOrder":["blog_table_of_content"]},":type":"snowflake-site/components/flexible-column-container","isBlogPage":true,"isActiveTOC":false},"related_content":{"id":"related-content-8474b86d9e","relatedContent":[],":type":"snowflake-site/components/blog/related-content","isBlogPage":true}},":itemsOrder":["flexible_column_container","related_content"]}},":itemsOrder":["container_breadcrumb","container_main_content"],":type":"wcm/foundation/components/responsivegrid"},"container_47873732":{"additionalClasses":"section--blog-newsletter","layout":"RESPONSIVE_GRID","columnCount":12,"columnClassNames":{"flexible_column_cont":"aem-GridColumn aem-GridColumn--default--12"},"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","id":"container-a6b4de9471","appliedCssClassNames":"snowflake-container",":type":"snowflake-site/components/container",":items":{"flexible_column_cont":{"id":"flexible-column-container-59b65eed40","type":"1-column","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"small","bottomPadding":"none","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"propertiesCSSClasses":"section--blog-newsletter","backgroundImageOption":"none","flexible_column_content_container_1":{"layout":"SIMPLE","id":"container-223b13b14c",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"marketo_v2":{"id":"marketo-v2-74f3a7b33a","marketoForm":{"hidden":null,"edit":false,"formId":"3320","successUrl":null,"script":null,"values":null},"title":{"id":"title","type":"heading3","lines":["Subscribe to our blog newsletter","Get the best, coolest and latest delivered to your inbox each week"],":type":"snowflake-site/components/title-v2"},"munchkinId":"252-RFO-227","serverInstance":"252-RFO-227.mktoweb.com","marketoConfigured":true,"formConfigured":true,":type":"snowflake-site/components/form/marketo-v2"},"text":{"id":"text-ee5215e2a1","additionalClasses":"newsletter-disclaimer","text":"\u003Cp\u003EBy submitting this form, I understand Snowflake will process my personal information in accordance with their Privacy Notice.\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text"}},":itemsOrder":["marketo_v2","text"]},":type":"snowflake-site/components/flexible-column-container","isBlogPage":true,"isActiveTOC":false}},":itemsOrder":["flexible_column_cont"]},"experiencefragment-pre-footer":{"id":"experiencefragment-f5df4e6b3a","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/it/site/get-started-pre-footer/get-started-pre-footer/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment","xfModelPath":"/content/experience-fragments/snowflake-site/language-masters/it/site/get-started-pre-footer/get-started-pre-footer.xfmodel.json"},"markup_editor":{"id":"markup-editor-c42b895e8d","title":"Page CSS","cssContent":"@media screen and (min-width:768px){.snowflake-blog-author-chip-wrapper{justify-content:flex-start}.snowflake-blog-related-content-on-blog-page{max-width:1408px;margin-left:auto;margin-right:auto}.snowflake-text{font-family:Lato,sans-serif;font-weight:400;font-size:16px;line-height:24px}}.section--blog-newsletter{max-width:none;width:100%;padding-left:0;padding-right:0;margin-left:0;margin-right:0;margin-bottom:0}.section--blog-newsletter .mktoField{background-color:transparent !important}.section--blog-newsletter\u003E.container{padding-left:0;padding-right:0}@media screen and (min-width:768px){.section--blog-newsletter\u003E.container{padding-left:0;padding-right:0}}.newsletter-disclaimer p{font-size:14px !important}.section--blog-newsletter .snowflake-marketo-form-container{margin-bottom:24px;background-color:#f6f9fa;gap:48px;box-shadow:none}.section--blog-newsletter .snowflake-title p.snowflake-title-line:first-child{font-family:Texta;font-size:24px;line-height:26px;font-weight:700;margin-bottom:4px}.section--blog-newsletter .snowflake-title p.snowflake-title-line{text-transform:none;font-family:\"Lato\",sans-serif;font-size:16px;line-height:24px;font-weight:normal}@media screen and (min-width:1024px){.section--blog-newsletter .snowflake-marketo-form-container{display:flex;justify-content:center}.section--blog-newsletter .snowflake-title .snowflake-title-line{text-align:left}.section--blog-newsletter .snowflake-marketo-form .mktoFormRow:has(\u003E input[type=\"hidden\"]){flex-grow:0}.section--blog-newsletter .snowflake-marketo-form{display:flex;width:50% !important}.section--blog-newsletter .snowflake-marketo-form .mktoButtonRow{flex-grow:0;width:auto !important;margin-left:0;margin-right:0}.section--blog-newsletter .snowflake-marketo-form .mktoFormRow{flex-grow:1}.section--blog-newsletter\u003E.container{padding-left:0;padding-right:0}.section--blog-newsletter .snowflake-marketo-form-title{width:50%;margin-bottom:0 !important}.section--blog-newsletter .center .snowflake-title{align-items:flex-start}}.snowflake-sub-navigation a.snowflake-sub-navigation-primary-link{width:auto !important}.snowflake-blog-hero{align-items:stretch !important}",":type":"snowflake-site/components/markup-editor","isGSAPEnabled":false},"markup_editor-table":{"id":"markup-editor-7081a330dc","title":"Table Styling CSS","cssContent":"#snowflake-blog-template-main-container table{width:100%;background-color:var(--ui-background-01);border-collapse:collapse;border:2px solid var(--ui-background-09);font-family:'Lato',sans-serif;color:var(--ui-background-09)}#snowflake-blog-template-main-container table thead{background-color:var(--ui-01)}#snowflake-blog-template-main-container table th,#snowflake-blog-template-main-container table td{border:2px solid var(--ui-background-09);padding:var(--spacing-01)}",":type":"snowflake-site/components/markup-editor","isGSAPEnabled":false},"experiencefragment-footer":{"id":"experiencefragment-9681e54f6c","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/it/site/footer/master/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment","xfModelPath":"/content/experience-fragments/snowflake-site/language-masters/it/site/footer/master.xfmodel.json"}},":itemsOrder":["experiencefragment-banner","experiencefragment-header","experiencefragment-sub-header","responsivegrid","container_47873732","experiencefragment-pre-footer","markup_editor","markup_editor-table","experiencefragment-footer"],":type":"wcm/foundation/components/responsivegrid"}},":itemsOrder":["root"],":hierarchyType":"page",":path":"/content/snowflake-site/global/it/blog/thrive-dynamic-table-costs-custom-incremental","isPasswordProtected":false,"coveoConfig":{"apiKey":"xx335921a6-2a0a-40f2-a167-e390b4766c3d","pipeline":"snowflake.com","searchHub":"snowflake.com","organizationId":"snowflakecomputingproduction8neljofn"},"analyticsContentTags":[],"analyticsEnabled":true,"analyticsDebugMode":false,"analyticsData":{"excludeFromAnalytics":false,"subCategory":"","pageType":"homepage","templateName":"blog-page","siteName":"snowflake","pageUrl":"/content/snowflake-site/global/it/blog/thrive-dynamic-table-costs-custom-incremental","language":"it","category":"general","pageName":"Come Thrive Learning ha raddoppiato il valore delle Dynamic Tables grazie all’incrementalizzazione personalizzata","contentTags":[]},"locale":"it"}
  