{"allowedRenditionsWidth":["320","480","640","768","960","1200","1440","1920"],"templateName":"quickstart-page-template","cssClassNames":"page basicpage summit-page","designPath":"/libs/settings/wcm/designs/default","brandSlug":"","componentsResourceTypes":["snowflake-site/components/quickstart/quickstart-button","snowflake-site/components/nav/nav-column/nav-column-container","snowflake-site/components/structure/page","snowflake-site/components/button","snowflake-site/components/quickstart/quickstart-hero","snowflake-site/components/quickstart/quickstart-table-of-content","snowflake-site/components/experiencefragment","snowflake-site/components/mega-header","snowflake-site/components/modal/modal-container","snowflake-site/components/image","snowflake-site/components/nav/nav-dropdown-header","snowflake-site/components/wistia-video/cta","nt:folder","snowflake-site/components/container","snowflake-site/components/nav/nav-dropdown-menu","snowflake-site/components/nav/nav-column","snowflake-site/components/flexible-column-container","snowflake-site/components/quickstart/quickstart-table-of-content/quickstart-table-of-content-container","snowflake-site/components/button/embedded","snowflake-site/components/icon","snowflake-site/components/nav/nav-mega","cq:LiveCopy","snowflake-site/components/quickstart/quickstart-last-modified","snowflake-site/components/nav/nav-promo-section","snowflake-site/components/markup-editor","snowflake-site/components/text","snowflake-site/components/title-v2","snowflake-site/components/nav/nav-dropdown-footer","nt:unstructured","nt:file","snowflake-site/components/contentfragment","snowflake-site/components/nav/nav-item","snowflake-site/components/nav/nav-promo-card","snowflake-site/components/form/marketo-v2","snowflake-site/components/nav/language-navigation","snowflake-site/components/title","wcm/foundation/components/responsivegrid","nt:resource","snowflake-site/components/structure/xfpage","snowflake-site/components/flexible-column-container/flexible-column-content-container","snowflake-site/components/pushdown-banner"],"clientlibsAsync":false,"dataLayerClientlibIncluded":true,"dataLayerName":"adobeDataLayer","lastModifiedDate":1781724131864,"language":"en","title":"Cost Optimization","tags":["snowflake-site:taxonomy/solution-center/certification/well-architected-framework"],"analyticsPageType":"quickstart-page-template","analyticsCategory":"general","analyticsSubCategory":"","excludeFromAnalytics":false,":hierarchyType":"page",":path":"/content/snowflake-site/global/en/developers/guides/well-architected-framework-cost-optimization-and-finops","isPasswordProtected":false,"analyticsContentTags":["snowflake-site:taxonomy/solution-center/certification/well-architected-framework"],"analyticsEnabled":true,"coveoConfig":{"searchHub":"snowflake.com","organizationId":"snowflakecomputingproduction8neljofn","apiKey":"xx335921a6-2a0a-40f2-a167-e390b4766c3d","pipeline":"snowflake.com"},"analyticsDebugMode":false,"analyticsData":{"excludeFromAnalytics":false,"subCategory":"","pageType":"quickstart-page-template","templateName":"quickstart-page-template","siteName":"snowflake","pageUrl":"/content/snowflake-site/global/en/developers/guides/well-architected-framework-cost-optimization-and-finops","language":"en","category":"general","pageName":"Cost Optimization","contentTags":["snowflake-site:taxonomy/solution-center/certification/well-architected-framework"]},":type":"snowflake-site/components/structure/page",":items":{"root":{"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"markup_editor_1950346551":"aem-GridColumn aem-GridColumn--default--12","experiencefragment-banner":"aem-GridColumn aem-GridColumn--default--12","experiencefragment-header":"aem-GridColumn aem-GridColumn--default--12","responsivegrid":"aem-GridColumn aem-GridColumn--default--12","experiencefragment-footer":"aem-GridColumn aem-GridColumn--default--12","modal_container":"aem-GridColumn aem-GridColumn--default--12","markup_editor":"aem-GridColumn aem-GridColumn--default--12"},"columnCount":12,":items":{"experiencefragment-banner":{"id":"experiencefragment-3d33850d81","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/pushdown-banner/master/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment",":items":{"root":{"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"pushdown_banner_copy":"aem-GridColumn aem-GridColumn--default--12"},"id":"container-b1a4e26b49","layout":"RESPONSIVE_GRID","columnCount":12,":type":"snowflake-site/components/container",":items":{"pushdown_banner_copy":{"id":"pushdown-banner-b47fec9d04","contentHeadline":"Summit Builder Keynote Debut","contentDescription":"Broadcast live on June 23","contentJustifyContent":"center","linkStyle":"text-white","linkCTA":{"id":"link-cta","heapButtonClasses":["pushdown_banner"],"showOutboundIcon":false,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"https://reg.snowflake.com/flow/snowflake/summit26/digitalreg/page/main"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Register now"},":type":"snowflake-site/components/pushdown-banner","appliedCssClassNames":"snowflake-pushdown-banner-text-white snowflake-pushdown-banner-background-black"}},":itemsOrder":["pushdown_banner_copy"]},"image":{":type":"nt:unstructured"},"cq:metadata":{":type":"nt:unstructured"}},":itemsOrder":["root","image","cq:metadata"],"classNames":"aem-xf"},"experiencefragment-header":{"id":"experiencefragment-d565f85a24","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment",":items":{"root":{"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"mega_header":"aem-GridColumn aem-GridColumn--default--12","markup_editor":"aem-GridColumn aem-GridColumn--default--12"},"id":"container-3b8285c644","layout":"RESPONSIVE_GRID","columnCount":12,":type":"snowflake-site/components/container",":items":{"markup_editor":{"id":"markup-editor-55169320a4","title":" ","cssContent":".footer-nav__link-group .snowflake-button-container,.subnav__item--button,.snowflake-card-v2-advanced-button .snowflake-button-container{justify-content:flex-start}.mega-nav__sign-in.snowflake-button-container{display:none}@media screen and (min-width:768px){.mega-nav__sign-in.snowflake-button-container{display:inline-block;font-family:'Texta',sans-serif;font-weight:800 !important}}@media screen and (min-width:1024px) and (max-width:1199px){.snowflake-mega-nav-header-buttons-container .snowflake-button-blue .snowflake-button-container{font-size:13px !important}.snowflake-language-navigation .language-icon{width:18px !important;height:18px !important;margin-right:4px !important}}.mega-nav__sign-in svg{display:none}.nav-item__platform-parent-why-sf.snowflake-mega-nav-nav-item\u003Ea:hover,.nav-item__platform-parent.snowflake-mega-nav-nav-item\u003Ea:hover{background-color:transparent !important}.nav-platform-sidebar .snowflake-mega-nav-nav-item:hover.blue-icon .snowflake-mega-nav-nav-item-icon__inner{background-color:var(--ui-01) !important}@media screen and (min-width:1024px){.snowflake-mega-nav-navigation-dropdown{overflow:hidden}.meganav-platform-features{padding-left:64px}.meganav-platform-features::before{content:'';transform:translateX(-64px);display:block;z-index:0;width:100%;height:100%;position:absolute;top:0;background:#f7f9fa}.nav-item--si.snowflake-mega-nav-nav-item\u003Ea:hover{background-color:transparent}.nav-item--si{border-bottom:1px solid #ccc;padding-bottom:16px;margin-bottom:8px}.nav-item__platform-parent{border-bottom:1px solid #ccc;margin-bottom:8px;padding-bottom:16px}.nav-item__platform-parent-why-sf .snowflake-mega-nav-nav-item-description::after{content:'What Snowflake can do for you \u003E';display:block;color:var(--ui-01);margin-top:16px}.nav-item__platform-parent .snowflake-mega-nav-nav-item-description::after{content:'View the platform \u003E';display:block;color:var(--ui-01);margin-top:16px}}@media screen and (min-width:1367px){.snowflake-mega-nav-nav-item-description{font-size:13px !important;line-height:20px !important}.snowflake-mega-nav-nav-item-title-wrapper\u003E.snowflake-mega-nav-nav-item-title{font-size:17px !important}.nav-item__platform-parent-why-sf .snowflake-mega-nav-nav-item-title,.nav-item__platform-parent .snowflake-mega-nav-nav-item-title{font-size:24px !important;line-height:32px !important;margin-bottom:8px !important}.nav-item__platform-parent-why-sf .snowflake-mega-nav-nav-item-description,.nav-item__platform-parent .snowflake-mega-nav-nav-item-description{font-size:14px !important;line-height:20px !important}}html.wf-texta-n9-loading .display-1-v2{font-size:48px!important;line-height:50px!important;letter-spacing:-.5px!important;font-family:sans-serif!important}html.wf-texta-n9-loading .heading-4-v2{font-size:18px!important;line-height:24px!important;font-family:sans-serif!important}@media screen and (min-width:768px){html.wf-texta-n9-loading .display-2-v2{font-size:48px!important;line-height:50px!important;font-family:sans-serif!important}html.wf-texta-n9-loading .display-1-v2{font-size:55.5px!important;line-height:54px!important;letter-spacing:-.5px!important;font-family:sans-serif!important}html.wf-lato-n4-loading .body-2,html.wf-lato-n4-loading .heading-5-v2,html.wf-lato-n4-loading .snowflake-card-v2-advanced-text .snowflake-text p{font-size:15.5px!important;font-family:sans-serif!important}html.wf-texta-n9-loading .heading-2,html.wf-texta-n9-loading .heading-2-v2{font-size:34px!important;line-height:38px!important;letter-spacing:-.75px!important;font-family:sans-serif!important}html.wf-texta-n8-loading .heading-6-v2.snowflake-mega-nav-navigation-title{font-size:13.5px!important;font-family:sans-serif!important}html.wf-texta-n8-loading .heading-4,html.wf-texta-n8-loading .snowflake-button-container,html.wf-texta-n8-loading .snowflake-button-regular .snowflake-button-container{font-size:13px!important;line-height:20px!important;letter-spacing:.25px!important;font-family:sans-serif!important}}@media screen and (min-width:1024px){html.wf-lato-n4-loading .snowflake-mega-nav-nav-item-description{font-size:11.5px!important;font-family:sans-serif!important}html.wf-lato-n4-loading .body-2,html.wf-lato-n4-loading .text-size-regular .snowflake-text li,html.wf-lato-n4-loading .text-size-regular .snowflake-text p,html.wf-lato-n4-loading .text-size-regular .snowflake-text span[data-testid=text-content],html.wf-lato-n4-loading .text-size-regular.cq-Editable-dom li,html.wf-lato-n4-loading .text-size-regular.cq-Editable-dom p,html.wf-lato-n4-loading .text-size-regular.cq-Editable-dom span[data-testid=text-content]{font-size:13.5px!important;font-family:sans-serif!important}html.wf-texta-n8-loading .snowflake-button-compact .snowflake-button-container{font-size:12px!important;letter-spacing:0!important;line-height:18px!important}}@media screen and (min-width:1367px){html.wf-lato-n4-loading .hp-hero__eyebrow a\u003Eb:first-child{font-size:11px!important;font-family:sans-serif!important}html.wf-texta-n8-loading .hp-hero__eyebrow a{font-size:13px!important;font-family:sans-serif!important}html.wf-texta-n9-loading .display-2-v2{font-size:61px!important;line-height:60px!important;font-family:sans-serif!important}html.wf-texta-n9-loading .display-1-v2{font-size:74.5px!important;line-height:74px!important;letter-spacing:-.75px!important;font-family:sans-serif!important}html.wf-texta-n9-loading .heading-2,html.wf-texta-n9-loading .heading-2-v2{font-size:41px!important;letter-spacing:-.75px!important;font-family:sans-serif!important}html.wf-texta-n9-loading .heading-3-v2{font-family:sans-serif!important;letter-spacing:-.75px!important;font-size:33.75px!important}html.wf-texta-n9-loading .heading-4-v2{font-size:19.5px!important;line-height:26px!important;font-family:sans-serif!important}html.wf-texta-n8-loading .heading-6-v2{font-size:12px!important;font-family:sans-serif!important}html.wf-texta-n8-loading .heading-6-v2.snowflake-mega-nav-navigation-title{font-size:14px!important;font-family:sans-serif!important}html.wf-lato-n4-loading .body-1,html.wf-lato-n4-loading .cq-Editable-dom[data-cq-data-path*=text] ol\u003Eli,html.wf-lato-n4-loading .snowflake-text li,html.wf-lato-n4-loading .snowflake-text p,html.wf-lato-n4-loading .text-size-large .snowflake-text li,html.wf-lato-n4-loading .text-size-large .snowflake-text p,html.wf-lato-n4-loading .text-size-large .snowflake-text span[data-testid=text-content],html.wf-lato-n4-loading .text-size-large.cq-Editable-dom li,html.wf-lato-n4-loading .text-size-large.cq-Editable-dom p,html.wf-lato-n4-loading .text-size-large.cq-Editable-dom span[data-testid=text-content],html.wf-lato-n4-loading.cq-Editable-dom[data-cq-data-path*=text]\u003Ep,html.wf-lato-n4-loading.cq-Editable-dom[data-cq-data-path*=text]\u003Eul\u003Eli{font-size:17.5px!important;font-family:sans-serif!important}html.wf-lato-n4-loading .body-2,html.wf-lato-n4-loading .text-size-regular .snowflake-text li,html.wf-lato-n4-loading .text-size-regular .snowflake-text p,html.wf-lato-n4-loading .text-size-regular .snowflake-text span[data-testid=text-content],html.wf-lato-n4-loading .text-size-regular.cq-Editable-dom li,html.wf-lato-n4-loading .text-size-regular.cq-Editable-dom p,html.wf-lato-n4-loading .text-size-regular.cq-Editable-dom span[data-testid=text-content],html.wf-texta-n8-loading .snowflake-button-link .snowflake-button-container,html.wf-texta-n8-loading .snowflake-button-link-back .snowflake-button-container{font-size:15.5px!important;font-family:sans-serif!important}html.wf-lato-n4-loading .body-3,html.wf-lato-n4-loading .text-size-small .snowflake-text li,html.wf-lato-n4-loading .text-size-small .snowflake-text p,html.wf-lato-n4-loading .text-size-small .snowflake-text span[data-testid=text-content],html.wf-lato-n4-loading .text-size-small.cq-Editable-dom li,html.wf-lato-n4-loading .text-size-small.cq-Editable-dom p,html.wf-lato-n4-loading .text-size-small.cq-Editable-dom span[data-testid=text-content]{font-size:13.5px!important;font-family:sans-serif!important}}#industryPlatformSection,.sc-hero{background-position:top left;background-size:20% auto}.bwalignc,.bwalignr{list-style-position:inside}.snowflake-text p sup{font-size:10px}#industryPlatformSection .industry-platform__row .snowflake-flexible-column-container-items,.button-group-pair\u003E.container\u003E.cmp-container\u003E.aem-container,.snowflake-hero-system-content-container{gap:16px}.agenda-item p,.button-group-pair\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv,.partner-details p{margin:0!important}.button-group-pair\u003E.container\u003E.cmp-container\u003E.aem-container::after,.button-group-pair\u003E.container\u003E.cmp-container\u003E.aem-container::before,.hide-logo .snowflake-case-study-card-logo,.partner-page__powered-by-logo,.sc-hero div.code-toolbar\u003E.toolbar,.snowflake-card-v2-advanced.no-link .snowflake-card-v2-advanced-button,.snowflake-partner-hero-card-badge-container{display:none!important}.section--card-mobile-carousel .snowflake-flexible-column-container-items-with-carousel{max-width:100%!important}@media screen and (min-width:768px){.button-group-pair .snowflake-button-container.inline-button--desktop,.button-group-pair\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:auto!important;display:inline-block!important}.button-group-pair\u003E.container\u003E.cmp-container\u003E.aem-container{align-items:center;justify-content:flex-start!important}.button-group-pair.center\u003E.container\u003E.cmp-container\u003E.aem-container{justify-content:center!important}.section--card-mobile-carousel{margin-left:var(--tablet-portrait-margin,48px)!important;margin-right:var(--tablet-portrait-margin,48px);width:calc(100% - 96px)!important;width:calc(100% - var(--tablet-portrait-margin) * 2)!important}}@media screen and (min-width:1024px){.section--card-mobile-carousel{margin-left:var(--tablet-horizontal-margin,48px)!important;margin-right:var(--tablet-horizontal-margin,48px);width:calc(100% - 96px)!important;width:calc(100% - var(--tablet-horizontal-margin) * 2)!important}.snowflake-mega-nav-header-mobile-icon{display:none!important}}@media screen and (min-width:1367px){.section--card-mobile-carousel{margin-left:var(--desktop-margin,6.5%)!important;margin-right:var(--desktop-margin,6.5%);width:87%!important;width:calc(100% - var(--desktop-margin) * 2)!important}.logo-container{min-width:143px}.sc-hero__headline .heading-1-v2{font-size:60px}.snowflake-mega-nav-navigation-title{font-size:17px}.snowflake-mega-nav-dropdown-footer-wrapper .snowflake-title-v2 .snowflake-title-v2-line:first-child{font-size:16px!important;line-height:24px!important}}.hero--home{overflow:hidden;background-color:var(--ui-01);z-index:2}.hp-hero__subheadline{width:90%}.hero--home .snowflake-button-container{transition:.3s}.hero--home .snowflake-button-primary a:hover,.hero--home .snowflake-button-secondary a:hover,.hero--home .snowflake-button-white a:hover{transition:.3s;background-color:var(--ui-02)!important;color:var(--ui-05)!important}.hero--home .snowflake-button-secondary a:hover{border-color:var(--ui-05)!important}.hero--home .snowflake-button-primary a:hover,.hero--home .snowflake-button-white a:hover{border-color:var(--ui-02)!important}.bwalignc,.hp-hero__eyebrow{text-align:center}.hp-hero__eyebrow a{display:inline-flex;flex-direction:column;justify-content:center;cursor:pointer;padding:8px;border-radius:var(--spacing-01);gap:8px;align-items:center;background-color:#45aee3;color:var(--ui-03);font-family:Texta,sans-serif;font-weight:800;font-size:16px;line-height:22px;transition:background-color .3s}.hp-hero__eyebrow a:hover{background-color:#7fc6ea;text-decoration:none;transition:background-color .3s}.hp-hero__eyebrow a\u003Eb:first-child{text-transform:uppercase;white-space:nowrap;display:inline-block;background-color:var(--ui-02);color:var(--ui-05);font-size:12px!important;line-height:16px!important;font-family:Lato,sans-serif;font-weight:500!important;padding:3px 6px;border-radius:2px;letter-spacing:1px}@media screen and (min-width:767px){.hp-hero__eyebrow{text-align:left}.hp-hero__eyebrow a{flex-direction:row;text-align:left}}.hero--home__inner .offset-video,.hero--home__inner .snowflake-experience-fragment,.offset-video__bg-image{max-height:200px;overflow:hidden}.hero--home__inner .offset-video .wistia-responsive-padding{padding-top:100%}.hero--home__inner .snowflake-experience-fragment,.offset-video__bg-image{position:absolute!important;top:0;left:0;width:100%}.offset-video__bg-image{z-index:-1}@media screen and (min-width:768px){.hero--home__inner .snowflake-experience-fragment,.offset-video,.offset-video__bg-image{position:absolute!important;max-height:none;top:0;left:0;width:250%;padding-bottom:250%;transform:translate(0,-50%);height:0}.workloads_7.unistore{max-width:317px}}.promo-banner--homepage{z-index:2}.homepage-banner-offset-container::after{content:\"\";display:block;position:absolute;bottom:0;z-index:1;left:0;width:100%;height:80%;background:#fff}.section--quicklinks .snowflake-button-full-width a{padding-left:24px!important;padding-right:24px!important;transition:box-shadow .25s cubic-bezier(.4,0,.2,1);text-align:left;display:flex;justify-content:center;align-items:center}.section--quicklinks .snowflake-button-full-width a:hover{box-shadow:0 16px 16px 0 rgb(0 0 0 / .16);transition:box-shadow .25s cubic-bezier(.4,0,.2,1)}.section--quicklinks .snowflake-button-container:focus-visible a::before,.section--quicklinks .snowflake-button-full-width a::before{content:\"\";width:23px;height:23px;flex-shrink:0;margin-right:12px;display:inline-block;background-size:cover;background-repeat:no-repeat;background-position:center}#industryPartnerSlider .snowflake-navigation-icon.swiper-button-disabled,#partnerResources .section--resource-hub a svg,.button-tabs span.snowflake-tabs-navigation-item:after,.customer-card--hide-cta .snowflake-case-study-card-button,.dot-tabs span.snowflake-tabs-navigation-item::after,.partner-sidebar__mobile-expand,html:not(.aem-AuthorLayer-initial):not(.aem-AuthorLayer-Edit) .tab-content:not(.is-active){display:none}.section--quicklinks .snowflake-button-full-width a.pricing::before{background-image:url(https://www.snowflake.com/content/dam/snowflake-site/general/icons/decorative-icons/pricing-icon.svg)}.section--quicklinks .snowflake-button-full-width a.snowflake_on_snowflake::before{background-image:url(https://www.snowflake.com/content/dam/snowflake-site/general/icons/navigation/nav-icon_snowflake-bug.svg)}.section--quicklinks .snowflake-button-full-width a.virtual_hands_on_labs::before{background-image:url(https://www.snowflake.com/content/dam/snowflake-site/general/icons/navigation/nav-icon__training.svg)}.section--quicklinks .snowflake-button-full-width a.weekly_demo::before{background-image:url(https://www.snowflake.com/content/dam/snowflake-site/general/icons/navigation/nav-icon__webinars.svg)}@media screen and (min-width:1024px){.hero--home__inner .snowflake-experience-fragment,.offset-video,.offset-video__bg-image{left:-50%}.section--quicklinks .snowflake-flexible-column-container-items{gap:24px}.snowflake-quote-item-inner{padding:32px 24px 24px!important}}#communitiesOuter_overflowBottomGray::after{max-height:100px}#caseStudyOuter_overflowBottomMidBlue::after{max-height:180px}#caseStudyInner .snowflake-case-study-card .snowflake-wistia-video{border-radius:0!important}#caseStudyInner .snowflake-case-study-card{box-shadow:none!important;border-radius:0}#caseStudyInner{max-width:1200px;margin:0 auto;box-shadow:rgb(152 162 179 / .1) 0 10px 20px 0,rgb(152 162 179 / .25) 0 2px 6px 0;border-radius:8px;overflow:hidden;position:relative;z-index:1}.case-study__logo-bar\u003E.snowflake-flexible-column-container-items{background:#f7f9fa;padding:32px 16px 40px}.case-study__logo-bar .cmp-image__image{width:90%;margin:0 auto;max-width:240px}.hp-platform__text-group\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:not(:first-child),.sc-sidebar__group .snowflake-button-link{margin-top:8px}.workloads_7.unistore{margin-left:auto;margin-right:auto}#homepageFootnotesInner .snowflake-simple-stat-disclaimer .snowflake-text p{color:#fff!important}.snowflake-simple-stat-disclaimer .snowflake-text p\u003Ea{border-bottom:1px solid var(--ui-03);color:var(--text-03)}.snowflake-card-v2-advanced{color:inherit}#workloadCardGridOuter .snowflake-card-v2-base-front{gap:0}.video-modal.snowflake-modal-window-open-inner{background-color:#fff0;padding:8px;border:none}.snowflake-container-arrow-dotted-faded .snowflake-container-arrow-dotted-faded-image{width:40%!important;max-width:420px;top:4%!important}.list--blue-bullets ul{margin:0!important;padding:0!important;list-style-type:none}.list--blue-bullets li{margin:0;padding:0 0 0 32px;position:relative}.list--blue-bullets li::before{content:\"\";display:block;border-radius:100%;background:#29b5e8;width:18px;height:18px;position:absolute;top:4px;left:0;border:5px solid #e5f2f7;box-sizing:border-box}.list--blue-bullets li:not(:last-child){margin-bottom:1rem}.logo-tabs .snowflake-navigation-container,.snowflake-simple-stat-content:empty,.summit-speaker-card .snowflake-card-v2-advanced-text{margin-bottom:0}#techResourceInner,#techResourceOuter,div.overflow-bottom--blue,div.overflow-bottom--gray,div.overflow-bottom--mid-blue,div.overflow-bottom--white,div.overflow-top--blue,div.overflow-top--gray,div.overflow-top--mid-blue,div.overflow-top--white,div[id$=overflowBottomGray],div[id$=overflowBottomMidBlue],div[id$=overflowTopBlue],div[id$=overflowTopGray]{position:relative}div.overflow-bottom--blue::after,div.overflow-bottom--gray::after,div.overflow-bottom--mid-blue::after,div.overflow-bottom--white::after,div.overflow-top--blue::after,div.overflow-top--gray::after,div.overflow-top--mid-blue::after,div.overflow-top--white::after,div[id$=overflowBottomGray]::after,div[id$=overflowBottomMidBlue]::after,div[id$=overflowBottomWhite]::after,div[id$=overflowTopBlue]::after,div[id$=overflowTopGray]::after,div[id$=overflowTopWhite]::after{content:\"\";display:block;position:absolute;left:0;width:100%;height:40%}div.overflow-top--blue::after,div.overflow-top--gray::after,div.overflow-top--mid-blue::after,div.overflow-top--white::after,div[id$=overflowTopBlue]::after,div[id$=overflowTopGray]::after,div[id$=overflowTopWhite]::after{top:0}div.overflow-bottom--blue::after,div.overflow-bottom--gray::after,div.overflow-bottom--mid-blue::after,div.overflow-bottom--white::after,div[id$=overflowBottomGray]::after,div[id$=overflowBottomMidBlue]::after,div[id$=overflowBottomWhite]::after{bottom:0}div.overflow-bottom--white::after,div.overflow-top--white::after,div[id$=overflowBottomWhite]::after,div[id$=overflowTopWhite]::after{background:#fff!important}div.overflow-bottom--gray::after,div.overflow-top--gray::after,div[id$=overflowBottomGray]::after,div[id$=overflowTopGray]::after{background:#f6f9fa!important}div.overflow-bottom--mid-blue::after,div.overflow-top--mid-blue::after,div[id$=overflowBottomMidBlue]::after,div[id$=overflowTopMidBlue]::after{background:#11567f!important}div.overflow-bottom--blue::after,div.overflow-top--blue::after,div[id$=overflowBottomBlue]::after,div[id$=overflowTopBlue]::after{background:#259edc!important}.snowflake-premium-content-banner.promo-banner--no-shadow{box-shadow:none!important}#industryPartnerSlider .cmp-image__image,#industryPartnerSlider .section--partner-tabs .snowflake-image-container .cmp-image__image,#partnerSidebar,.has-shadow .cmp-image__image{box-shadow:0 10px 20px 0 rgb(152 162 179 / .1),0 2px 6px 0 rgb(152 162 179 / .25)}.content-chip--has-desc{align-items:flex-start;padding:20px!important}.content-chip--has-desc .snowflake-content-chip-image{max-width:100px}.content-chip--has-desc .snowflake-content-chip-image__image{aspect-ratio:1}.content-chip--has-desc .snowflake-title-v2-line:first-child{font-size:18px!important}.content-chip--has-desc .snowflake-title-v2-line:nth-child(2){color:#000!important;font-weight:500!important;font-size:16px!important;line-height:22px!important;margin-top:2px!important}.content-chip--has-desc .snowflake-content-chip-button{margin-top:6px!important;font-size:18px!important;display:none}.square-image .snowflake-content-chip-image{aspect-ratio:1;max-width:120px}.section--logo-bar.smaller-logos .snowflake-image-container .cmp-image__image{max-width:200px;margin:0 auto}.snowflake-card-v2-advanced-tag,.snowflake-content-chip-tag{padding:3px 6px!important}.sc-overview__webinar-promo-banner .snowflake-content-chip-button,.snowflake-card-v2-advanced-title:first-child,.summit-pricing-block__aside ul{margin-top:0}.dot-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item{width:40px;height:40px;display:flex;justify-content:center;align-items:center;margin:0!important}.dot-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item p{width:12px;height:12px;background:var(--ui-12);border-radius:100%}.dot-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item p,.logo-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item p{font-size:0!important}.dot-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item.active p{background:var(--ui-01)}.button-tabs .snowflake-navigation-container .swiper-wrapper{padding:8px 0}.button-tabs .snowflake-navigation-container .swiper-slide{margin:0 6px}.button-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item{padding:8px 24px;background-color:#f6f9fa;border-radius:48px;margin:0}.button-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item p{text-transform:uppercase;font-family:Texta,sans-serif;font-weight:700}.button-tabs .border-top{border-top:1px solid #ccc}.button-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item.active{background-color:var(--ui-01);box-shadow:0 2px 6px 0 rgb(152 162 179 / .25),0 10px 20px 0 rgb(152 162 179 / .1)}.button-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item.active p{color:#fff}.button-tabs.has-icons .snowflake-navigation-container .snowflake-tabs-navigation-item p::before{content:\"\";display:inline-block;width:20px;height:20px;background-size:contain;background-repeat:no-repeat;background-position:center center;margin-right:12px;vertical-align:middle;margin-top:-3px}.logo-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item{width:220px;padding-bottom:50%;height:0;margin:0 8px!important;background-size:cover;background-repeat:no-repeat;opacity:.5;transition:opacity .3s}.logo-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item:hover{opacity:.75;transition:opacity .3s}.logo-tabs .snowflake-navigation-container .snowflake-tabs-navigation-item.active{opacity:1;transition:opacity .3s}.dot-tabs .aem-container.cmp-tabs,.logo-tabs .aem-container.cmp-tabs{display:flex;flex-direction:column-reverse}.snowflake-icon.is-center{margin:0 auto;display:block}#industryPartnerSlider .snowflake-flexible-column-container-items,#partnerLogoSquare .snowflake-flexible-column-container-items{gap:24px}#techResourceOuter::after{content:\"\";display:block;position:absolute;top:0;left:0;width:100%;height:40%;background:#f6f9fa}#techResourceInner{z-index:1}.partner-tier-tag h6{display:inline-block!important;padding:2px 6px;border-radius:2px;color:#666}.partner-tier-tag.registered h6{background-color:#f6f9fa}.partner-tier-tag.elite h6{background-color:#11567f;color:#fff}.partner-tier-tag.premier h6{background-color:#b14c77;color:#fff}.partner-tier-tag.select h6{background-color:#5094a0;color:#fff}.partner-details\u003Espan{display:flex;gap:24px}.partner-details a{color:inherit!important;font-weight:400!important}.partner-details p::before{content:\"\";display:inline-block;vertical-align:middle;width:16px;height:16px;background-repeat:no-repeat;background-position:center;transform:translateY(-1px);background-size:auto 90%;margin-right:6px}.partner-details__location::before{background-image:url(\"data:image/svg+xml,%3Csvg width='13' height='18' viewBox='0 0 13 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.25 17.7531C6.4375 17.7531 6.6 17.6844 6.7375 17.5531C6.875 17.4219 6.95 17.2531 6.95 17.0531C6.95 16.8531 7.075 16.4281 7.3 15.7969C7.5875 15.0281 7.925 14.3156 8.30625 13.6406C8.8 12.7781 9.3125 12.1031 9.85 11.6094C10.75 10.7969 11.4125 9.96563 11.85 9.12188C12.2875 8.27813 12.5063 7.40313 12.5063 6.49063C12.5063 5.36563 12.2187 4.31563 11.6437 3.33438C11.0937 2.40313 10.3438 1.65938 9.4 1.10938C8.43125 .534376 7.375 .246876 6.24375 .246876C5.1125 .246876 4.06875 .534376 3.0875 1.10938C2.15625 1.65938 1.4125 2.40313 .862498 3.33438C.287498 4.31563 0 5.36563 0 6.49063C0 7.47188 .262499 8.42813 .787499 9.35938C1.14375 10.0031 1.65625 10.6656 2.3125 11.3344C2.75625 11.8031 3.24375 12.4781 3.78125 13.3656C4.225 14.0969 4.63125 14.8594 5 15.6656C5.35 16.3844 5.53125 16.8531 5.55625 17.0656C5.55625 17.2594 5.625 17.4156 5.7625 17.5531C5.9 17.6844 6.0625 17.7531 6.25 17.7531ZM6.16875 14.9156C5.775 14.0656 5.325 13.2469 4.825 12.4594C4.275 11.5594 3.7625 10.8719 3.28125 10.3969C2.625 9.71563 2.1375 9.05938 1.825 8.43438C1.5125 7.80313 1.35625 7.16563 1.35625 6.50313C1.35625 5.61563 1.575 4.80313 2.0125 4.05313C2.45 3.30313 3.04375 2.71563 3.7875 2.27813C4.5375 1.84063 5.35 1.62188 6.2375 1.62188C7.125 1.62188 7.9375 1.84063 8.6875 2.27813C9.4375 2.71563 10.0312 3.30313 10.475 4.04688C10.9187 4.80313 11.1375 5.62188 11.1375 6.50313C11.1375 7.90313 10.3937 9.26563 8.9125 10.5969C8.35 11.1094 7.8125 11.7906 7.3 12.6406C6.88125 13.3344 6.50625 14.0969 6.16875 14.9219V14.9156ZM6.26875 8.36563C6.65625 8.36563 7.01875 8.26563 7.35625 8.07188C7.69375 7.87813 7.95625 7.60938 8.14375 7.28438C8.3375 6.95313 8.43125 6.59063 8.43125 6.19688C8.43125 5.80313 8.33125 5.43438 8.1375 5.10313C7.9375 4.76563 7.675 4.50313 7.3375 4.31563C7 4.12813 6.6375 4.02813 6.24375 4.02813C5.85 4.02813 5.4875 4.12813 5.15625 4.32188C4.825 4.52188 4.56875 4.78438 4.375 5.12188C4.18125 5.45938 4.0875 5.82188 4.0875 6.20938C4.0875 6.59688 4.1875 6.95938 4.38125 7.29688C4.58125 7.63438 4.84375 7.89688 5.18125 8.08438C5.51875 8.27813 5.88125 8.37188 6.26875 8.37188V8.36563ZM6.24375 7.50313C5.8875 7.50313 5.575 7.37188 5.31875 7.11563C5.0625 6.85938 4.93125 6.55313 4.93125 6.19063C4.93125 5.82813 5.0625 5.52188 5.31875 5.26563C5.575 5.00938 5.88125 4.87813 6.24375 4.87813C6.60625 4.87813 6.9125 5.00938 7.16875 5.26563C7.425 5.52188 7.55625 5.82813 7.55625 6.19063C7.55625 6.55313 7.425 6.85938 7.16875 7.11563C6.9125 7.37188 6.60625 7.50313 6.24375 7.50313Z' fill='%2329B5E8'/%3E%3C/svg%3E%0A\")}.partner-details__website::before{background-image:url(\"data:image/svg+xml,%3Csvg width='18' height='16' viewBox='0 0 18 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.61587 2.96889C2.61587 2.75109 2.79633 2.57062 3.01413 2.57062C3.23192 2.57062 3.41238 2.75109 3.41238 2.96889C3.41238 3.18669 3.23192 3.36716 3.01413 3.36716C2.79633 3.36716 2.61587 3.18669 2.61587 2.96889ZM4.21512 2.96889C4.21512 2.75109 4.39558 2.57062 4.61338 2.57062C4.83117 2.57062 5.01163 2.75109 5.01163 2.96889C5.01163 3.18669 4.83117 3.36716 4.61338 3.36716C4.39558 3.36716 4.21512 3.18669 4.21512 2.96889ZM5.81438 2.96889C5.81438 2.75109 5.99484 2.57062 6.21264 2.57062C6.43043 2.57062 6.61089 2.75109 6.61089 2.96889C6.61089 3.18669 6.43043 3.36716 6.21264 3.36716C5.99484 3.36716 5.81438 3.18669 5.81438 2.96889ZM17.2518 .697559H1.19085C.811258 .697559 .506348 1.0025 .506348 1.38209V14.6179C.506348 14.9975 .811258 15.3024 1.19085 15.3024H17.2518C17.6314 15.3024 17.9363 14.9975 17.9363 14.6179V1.38209C17.9363 1.0025 17.6314 .697559 17.2518 .697559ZM16.5673 2.06035V3.90853H1.86914V2.06035H16.5673ZM1.86914 13.9334V4.78593H16.5673V13.9334H1.86914Z' fill='%2329B5E8'/%3E%3C/svg%3E%0A\")}#partnerSidebar{border-radius:4px;background-color:#fff;padding:24px 24px 32px;border-bottom:6px solid #29b5e8}#partnerSidebar h5,.newsletter-disclaimer p{font-size:14px!important}#partnerSidebar ul{margin-top:0;list-style-type:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}#partnerSidebar li{border:1px solid;border-radius:2px;padding:0 4px!important;font-size:11px!important;letter-spacing:.25px;text-transform:uppercase}div.snowflake-partner-hero-card{width:100%;margin:0}.partner-details__logo{max-width:380px;margin:0 auto}@media screen and (max-width:767px){.left-alignment .hp-hero__subheadline{margin-left:auto;margin-right:auto}.left-alignment .hp-hero__headline .snowflake-title-v2-line,.left-alignment .hp-hero__subheadline .snowflake-title-v2-line{text-align:center}.hero--home__inner .snowflake-flexible-column-container-items-top-padding-large{padding-top:var(--spacing-02)}.section--logo-bar\u003E.snowflake-flexible-column-container-items{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:center;gap:8px}.section--logo-bar\u003E.snowflake-flexible-column-container-items\u003Ediv{width:calc(33.33% - 8px)}.partner-sidebar__mobile-expand{display:inline-block;color:#249edc;border-color:#249edc!important}#partnerSidebar li:nth-child(n+6),.summit-nav__links .snowflake-button-tertiary{display:none}.sc-body__sidebar{background-color:#f6f9fa;padding:24px}.sc-body__content{padding:0 24px 24px}.summit-speaker-card .snowflake-card-v2-advanced-content{padding:24px}}#partnerResources h6,.snowflake-tabs-navigation-item p.body-1{font-size:16px!important}#partnerResources .section--resource-hub{padding:0 16px}#partnerResources .section--resource-hub a,.bwalignl{text-align:left}@media screen and (max-width:1023px){.hero--workload .snowflake-hero-system-media-container{width:100%}}.section--timely-content .snowflake-content-chip,.snowflake-mega-nav-dropdown-footer-wrapper{align-items:center}.section--timely-content .snowflake-content-chip-image{max-width:94px}.section--timely-content .snowflake-content-chip-image__inner{line-height:0}.section--timely-content .snowflake-content-chip-image__image{aspect-ratio:1;height:auto}.section--workload-overview .workload-overview__headline{max-width:280px;margin:0 auto}#industryPartnerSlider .swiper-slide{margin-top:0!important;padding:0 12px}#industryPartnerSlider .snowflake-tabs-navigation-item{margin-left:0!important;margin-right:0!important}#industryPartnerSlider .snowflake-premium-content-banner-background-grad-white .snowflake-premium-content-banner{box-shadow:none}#industryPartnerSlider .logo-slider__slide .aem-container{display:flex;padding:0 8px!important;flex-wrap:wrap;gap:16px!important;justify-content:center}#industryPartnerSlider .logo-slider__slide .aem-container\u003Ediv{width:48%;max-width:200px}#useCaseTabs{padding-top:24px;padding-bottom:24px;padding-right:24px}#useCaseTabs .tab-content.is-active{display:block}#useCaseTabs .vert-tab{border-bottom:1px solid #a0bbcc;padding-bottom:16px}#useCaseTabs .vert-tab p{display:inline-block}#useCaseTabs .vert-tab p:hover{cursor:pointer}#useCaseTabs .vert-tab p,#useCaseTabs .vert-tab.is-active p.not-active{color:#249edc}#useCaseTabs .vert-tab p.is-active,#useCaseTabs .vert-tab.is-active p{color:#000}#industryPlatformSection{background-image:url(/adobe/dynamicmedia/deliver/dm-aid--db074ad5-7122-4c51-87a3-76c3aa466182/double-arrow-bg%403x.png);background-repeat:no-repeat}.snowflake-text p.featured-quote__source{font-weight:900!important;text-transform:uppercase;font-size:16px!important;margin-top:2rem!important}.snowflake-text p.featured-quote__title{margin-top:0!important;font-size:16px!important}.snowflake-case-study-card-logo img{width:auto!important;height:100px!important;transform:translateX(-15%)}.snowflake-quote-item-quote-text{font-weight:600!important}#customerStoryStatsInner\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;flex-direction:row}#customerStoryStat1,#customerStoryStat2{max-width:240px}#storyHighlights{border-radius:4px;padding:1rem}.sc-overview__webinar-promo-banner .snowflake-content-chip-content .snowflake-title-v2-line,.summit-pricing-block__tile .black-blue-text-color .snowflake-title-v2-line{color:#000!important}.snowflake-youtube-embedded-wrapper{border-radius:var(--small-border-radius)}#arcticNavItem::before,#offset::before,#open-source::before{color:var(--text-05);font-family:Texta,sans-serif!important}#offset,.sc-architecture-caption{margin-top:16px}.hero--press .snowflake-title-v2-line{text-transform:none!important}@media screen and (min-width:768px){.subpage-timely-content__inner\u003E.snowflake-flexible-column-container-items{box-shadow:0 10px 20px 0 rgb(152 162 179 / .1),0 2px 6px 0 rgb(152 162 179 / .25);padding:var(--spacing-04);border-radius:4px;overflow:hidden}#partnerLogoSquare{padding:0 0 0 48px}.hero--workload .snowflake-container{max-width:1440px;margin:0 auto!important;align-items:center}#industryPartnerSlider.snowflake-flexible-column-container-2-column-40-60\u003E.snowflake-flexible-column-container-items{grid-template-columns:minmax(40%,4fr) minmax(0,6fr)}#industryPartnerSlider .swiper-slide{padding:0 24px}.sc-body{padding:48px}.sc-body\u003E.snowflake-flexible-column-container-items{grid-template-columns:7fr 3fr;gap:124px}}.snowflake-button-container.has-icon{display:inline-flex;justify-content:center;align-items:center;text-align:left}.snowflake-button-container.has-icon::before{content:\"\";display:inline-block;width:20px;height:20px;margin-right:12px;background-size:contain;background-repeat:no-repeat;background-position:center}.snowflake-button-container.is-video::before{background-image:url(\"data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 1.28663C13.2523 1.28663 16.7134 4.74768 16.7134 9C16.7134 13.2523 13.2523 16.7134 9 16.7134C4.74768 16.7198 1.28663 13.2588 1.28663 9C1.28663 4.74124 4.74768 1.28663 9 1.28663ZM9 0C4.0336 0 0 4.0336 0 9C0 13.9664 4.0336 18 9 18C13.9728 18 18 13.9664 18 9C18 4.0336 13.9728 0 9 0Z' fill='white'/%3E%3Cpath d='M7.75106 6.18211C7.42941 6.16925 7.16565 6.42658 7.16565 6.74823V11.2772C7.16565 11.7082 7.65457 11.9848 8.02126 11.7597L11.7975 9.4952C12.1578 9.27647 12.1578 8.74252 11.7975 8.52379L8.02126 6.25931C7.93763 6.21428 7.84756 6.18211 7.75106 6.18211Z' fill='white'/%3E%3C/svg%3E%0A\")}.snowflake-button-container.is-github::before{background-image:url(\"data:image/svg+xml,%3Csvg width='20' height='21' viewBox='0 0 20 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10 .651794C4.475 .651794 0 5.12679 0 10.6518C0 15.0768 2.8625 18.8143 6.8375 20.1393C7.3375 20.2268 7.525 19.9268 7.525 19.6643C7.525 19.4268 7.5125 18.6393 7.5125 17.8018C5 18.2643 4.35 17.1893 4.15 16.6268C4.0375 16.3393 3.55 15.4518 3.125 15.2143C2.775 15.0268 2.275 14.5643 3.1125 14.5518C3.9 14.5393 4.4625 15.2768 4.65 15.5768C5.55 17.0893 6.9875 16.6643 7.5625 16.4018C7.65 15.7518 7.9125 15.3143 8.2 15.0643C5.975 14.8143 3.65 13.9518 3.65 10.1268C3.65 9.03929 4.0375 8.13929 4.675 7.43929C4.575 7.18929 4.225 6.16429 4.775 4.78929C4.775 4.78929 5.6125 4.52679 7.525 5.81429C8.325 5.58929 9.175 5.47679 10.025 5.47679C10.875 5.47679 11.725 5.58929 12.525 5.81429C14.4375 4.51429 15.275 4.78929 15.275 4.78929C15.825 6.16429 15.475 7.18929 15.375 7.43929C16.0125 8.13929 16.4 9.02679 16.4 10.1268C16.4 13.9643 14.0625 14.8143 11.8375 15.0643C12.2 15.3768 12.5125 15.9768 12.5125 16.9143C12.5125 18.2518 12.5 19.3268 12.5 19.6643C12.5 19.9268 12.6875 20.2393 13.1875 20.1393C17.1375 18.8143 20 15.0643 20 10.6518C20 5.12679 15.525 .651794 10 .651794Z' fill='%23249EDC'/%3E%3C/svg%3E%0A\")}.snowflake-button-container.is-quickstart::before{background-image:url(\"data:image/svg+xml,%3Csvg width='15' height='21' viewBox='0 0 15 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.8489 2.79368H11.6439V2.38493C11.6439 1.71368 11.1451 .967427 10.4251 .967427H8.94762C8.80887 .359927 8.37387 .299927 7.89762 .299927H7.23012C6.85512 .299927 6.26637 .299927 6.08637 .967427H4.68387C3.94887 .967427 3.35637 1.74368 3.35637 2.38493V2.79368H1.15137C.738867 2.79368 .401367 3.13118 .401367 3.54368V20.2537C.401367 20.6662 .738867 21.0037 1.15137 21.0037H13.8489C14.2614 21.0037 14.5989 20.6662 14.5989 20.2537V3.54368C14.5989 3.13118 14.2614 2.79368 13.8489 2.79368ZM4.29387 2.38493C4.29387 2.18243 4.54137 1.90493 4.68387 1.90493H6.50262C6.76137 1.90493 6.97137 1.69493 6.97137 1.43618C6.97137 1.33868 6.97887 1.27868 6.98637 1.24118C7.05012 1.23368 7.15512 1.23368 7.23387 1.23368H7.90137C7.95012 1.23368 8.00637 1.23368 8.05137 1.23368C8.05512 1.27868 8.05887 1.34243 8.05887 1.43243C8.05887 1.69118 8.26887 1.90118 8.52762 1.90118H10.4289C10.5301 1.90118 10.7101 2.14493 10.7101 2.38118V2.78993H4.29762V2.38118L4.29387 2.38493ZM13.0989 19.4999H1.90137V4.29368H13.0989V19.5037V19.4999Z' fill='%23249EDC'/%3E%3Cpath d='M3.82512 16.0424H11.1751C11.4339 16.0424 11.6439 15.8324 11.6439 15.5736V6.88486C11.6439 6.62611 11.4339 6.41611 11.1751 6.41611H3.82512C3.56637 6.41611 3.35637 6.62611 3.35637 6.88486V15.5736C3.35637 15.8324 3.56637 16.0424 3.82512 16.0424ZM4.29387 15.1049V13.3686H10.7064V15.1049H4.29387ZM10.7101 7.35361V12.4311H4.29762V7.35361H10.7101Z' fill='%23249EDC'/%3E%3Cpath d='M6.16512 9.35989H8.83887C9.09762 9.35989 9.30762 9.14989 9.30762 8.89114C9.30762 8.63239 9.09762 8.42239 8.83887 8.42239H6.16512C5.90637 8.42239 5.69637 8.63239 5.69637 8.89114C5.69637 9.14989 5.90637 9.35989 6.16512 9.35989Z' fill='%23249EDC'/%3E%3Cpath d='M6.16512 11.3624H8.83887C9.09762 11.3624 9.30762 11.1524 9.30762 10.8937C9.30762 10.6349 9.09762 10.4249 8.83887 10.4249H6.16512C5.90637 10.4249 5.69637 10.6349 5.69637 10.8937C5.69637 11.1524 5.90637 11.3624 6.16512 11.3624Z' fill='%23249EDC'/%3E%3C/svg%3E%0A\")}.snowflake-button-container.is-download::before{background-image:url(\"data:image/svg+xml,%3Csvg width='16' height='18' viewBox='0 0 16 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.2017 17.1637H.798265C.364425 17.1637 0 16.7993 0 16.3655V12.3568C0 11.923 .364425 11.5585 .798265 11.5585C1.2321 11.5585 1.59653 11.923 1.59653 12.3568V15.5498H14.4035V12.3568C14.4035 11.923 14.7679 11.5585 15.2017 11.5585C15.6356 11.5585 16 11.923 16 12.3568V16.3655C16 16.7993 15.6529 17.1637 15.2017 17.1637Z' fill='%23249EDC'/%3E%3Cpath d='M7.94793 12.9642C7.84381 12.9642 7.73969 12.9468 7.63557 12.8947C7.34056 12.7733 7.14967 12.4783 7.14967 12.1485L7.18437 .938127C7.18437 .504287 7.5488 .139862 7.98264 .139862C8.41648 .139862 8.7809 .504287 8.7809 .938127L8.7462 10.257L12.8416 6.33509C13.154 6.02273 13.6746 6.04008 13.9696 6.35244C14.282 6.66481 14.2646 7.18542 13.9523 7.48043L8.50325 12.7386C8.36442 12.8774 8.15617 12.9642 7.94793 12.9642Z' fill='%23249EDC'/%3E%3Cpath d='M7.94793 12.9642C7.73969 12.9642 7.54881 12.8947 7.39262 12.7386L2.03037 7.53249C1.718 7.22012 1.70065 6.71687 2.01301 6.40451C2.32538 6.09214 2.82863 6.07479 3.141 6.38715L8.50325 11.5932C8.81562 11.9056 8.83297 12.4088 8.52061 12.7212C8.36442 12.8774 8.15617 12.9642 7.94793 12.9642Z' fill='%23249EDC'/%3E%3C/svg%3E%0A\")}.snowflake-button-container.is-expand::before{background-image:url(\"data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.64375 10.9125C6.9375 11.2062 6.93125 11.6812 6.64375 11.9687L2.57502 16H3.79375C4.20625 16 4.54376 16.3375 4.54376 16.75C4.54376 17.1625 4.20625 17.5 3.79375 17.5H.756264C.556264 17.5 .36876 17.4187 .22501 17.2812C.22501 17.2812 .206248 17.25 .193748 17.2375C.143748 17.1812 .100004 17.1125 .0625038 17.0437C.0375038 16.9687 .0187492 16.8937 .0187492 16.8187C.0187492 16.8 .0062561 16.7813 .0062561 16.7625V13.725C.0187561 13.3125 .356257 12.9875 .768757 12.9937C1.16876 13 1.48752 13.325 1.50002 13.725V14.9688L5.5875 10.9187C5.88125 10.6312 6.35 10.6312 6.64375 10.9187V10.9125ZM17.5063 .743732C17.5063 .543732 17.425 .356235 17.2875 .218735C17.2875 .218735 17.2562 .199998 17.2437 .193748C17.1875 .137498 17.1188 .0937347 17.0438 .0624847C16.9688 .0374847 16.8938 .0187492 16.8188 .0187492C16.8 .0187492 16.7813 .00623703 16.7625 .00623703H13.725C13.3125 .00623703 12.975 .343745 12.975 .756245C12.975 1.16874 13.3125 1.50623 13.725 1.50623H14.9688L11.1312 5.37498C10.8437 5.67498 10.8563 6.14999 11.1563 6.43124C11.45 6.71249 11.9063 6.70624 12.1938 6.43124L16.0125 2.575V3.79375C16.0125 4.20625 16.35 4.54372 16.7625 4.54372C17.175 4.54372 17.5125 4.20625 17.5125 3.79375V.756245L17.5063 .743732ZM16.7562 12.9688C16.3437 12.9688 16.0063 13.3063 16.0063 13.7188V14.8937L12.1938 10.925C11.9063 10.625 11.4375 10.6188 11.1375 10.9063C10.8375 11.1938 10.8313 11.6625 11.1188 11.9625L15 16.0062H13.7188C13.3063 16.0062 12.9688 16.3437 12.9688 16.7562C12.9688 17.1687 13.3063 17.5063 13.7188 17.5063H16.7562C16.85 17.5063 16.95 17.4875 17.0375 17.45C17.0875 17.425 17.1313 17.3937 17.175 17.3625C17.2063 17.3437 17.2438 17.325 17.275 17.3C17.3313 17.2375 17.375 17.1687 17.4125 17.1C17.4188 17.0875 17.4375 17.075 17.4438 17.0562C17.45 17.025 17.4563 16.9938 17.4625 16.9625C17.4813 16.9 17.5 16.8375 17.5 16.7687V13.725C17.5 13.3125 17.1687 12.975 16.7562 12.975V12.9688ZM.750008 4.53125C1.16251 4.53125 1.50002 4.19374 1.50002 3.78124V2.5L5.59376 6.43124C5.89376 6.71874 6.36251 6.70626 6.65001 6.41251C6.93751 6.11876 6.92501 5.64375 6.63126 5.35625L2.61251 1.49998H3.7875C4.2 1.49998 4.53751 1.16249 4.53751 .749989C4.53751 .337489 4.2 0 3.7875 0H.743752C.668752 0 .600004 .0187355 .531254 .0437355C.506254 .0499855 .481263 .0437477 .462513 .0562477C.443763 .0687477 .425015 .0812462 .406265 .0937462C.337515 .124996 .275004 .168741 .218754 .224991H.212498C.212498 .224991 .175 .28125 .15625 .3125C.11875 .3625 .0812477 .4125 .0562477 .46875C.0374977 .525 .0249992 .587499 .0187492 .643749C.0124992 .674999 0 .712482 0 .743732V3.78124C0 4.19374 .337508 4.53125 .750008 4.53125Z' fill='white'/%3E%3C/svg%3E%0A\")}@keyframes slow-scroll{100%{transform:translateY(-50%)}}.sc-hero{overflow:hidden;background-color:#212d35;background-repeat:repeat-y;background-image:url(\"data:image/svg+xml,%3Csvg width='389' height='17' viewBox='0 0 389 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M.638672 7.80824L.638672 9.2566C.638672 9.52364 .85538 9.74024 1.12262 9.74024H2.57204C2.83928 9.74024 3.05598 9.52364 3.05598 9.2566V7.80824C3.05598 7.54119 2.83928 7.32472 2.57204 7.32472L1.12262 7.32472C.85538 7.32472 .638672 7.54119 .638672 7.80824Z' fill='url(%23paint0_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.9639 7.80824V9.2566C10.9639 9.52364 11.1806 9.74024 11.4478 9.74024L12.8972 9.74024C13.1645 9.74024 13.3812 9.52364 13.3812 9.2566V7.80824C13.3812 7.54119 13.1645 7.32471 12.8972 7.32471L11.4478 7.32471C11.1806 7.32471 10.9639 7.54119 10.9639 7.80824Z' fill='url(%23paint1_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M21.2891 7.80823V9.2566C21.2891 9.52364 21.5058 9.74024 21.773 9.74024L23.2224 9.74024C23.4897 9.74024 23.7064 9.52364 23.7064 9.2566V7.80823C23.7064 7.54119 23.4897 7.32471 23.2224 7.32471L21.773 7.32471C21.5058 7.32471 21.2891 7.54119 21.2891 7.80823Z' fill='url(%23paint2_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M31.6143 7.80823V9.2566C31.6143 9.52364 31.831 9.74024 32.0982 9.74024H33.5476C33.8149 9.74024 34.0316 9.52364 34.0316 9.2566V7.80823C34.0316 7.54119 33.8149 7.32471 33.5476 7.32471L32.0982 7.32471C31.831 7.32471 31.6143 7.54119 31.6143 7.80823Z' fill='url(%23paint3_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M41.9395 7.80823V9.2566C41.9395 9.52364 42.1562 9.74024 42.4234 9.74024H43.8728C44.1401 9.74024 44.3568 9.52364 44.3568 9.2566V7.80823C44.3568 7.54119 44.1401 7.32471 43.8728 7.32471L42.4234 7.32471C42.1562 7.32471 41.9395 7.54119 41.9395 7.80823Z' fill='url(%23paint4_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M52.5076 7.80823V9.2566C52.5076 9.52364 52.7243 9.74024 52.9916 9.74024H54.441C54.7082 9.74024 54.9249 9.52364 54.9249 9.2566V7.80823C54.9249 7.54119 54.7082 7.32471 54.441 7.32471L52.9916 7.32471C52.7243 7.32471 52.5076 7.54119 52.5076 7.80823Z' fill='url(%23paint5_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M62.8331 7.80823V9.2566C62.8331 9.52364 63.0493 9.74024 63.3165 9.74024H64.7664C65.0332 9.74024 65.2504 9.52364 65.2504 9.2566V7.80823C65.2504 7.54119 65.0332 7.32471 64.7664 7.32471L63.3165 7.32471C63.0493 7.32471 62.8331 7.54119 62.8331 7.80823Z' fill='url(%23paint6_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M73.1583 7.80823V9.2566C73.1583 9.52364 73.3745 9.74024 73.6417 9.74024H75.0916C75.3584 9.74024 75.5756 9.52364 75.5756 9.2566V7.80823C75.5756 7.54119 75.3584 7.32471 75.0916 7.32471L73.6417 7.32471C73.3745 7.32471 73.1583 7.54119 73.1583 7.80823Z' fill='url(%23paint7_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M83.4835 7.80823V9.2566C83.4835 9.52364 83.6997 9.74024 83.9669 9.74024H85.4168C85.6836 9.74024 85.9008 9.52364 85.9008 9.2566V7.80823C85.9008 7.54119 85.6836 7.32471 85.4168 7.32471L83.9669 7.32471C83.6997 7.32471 83.4835 7.54119 83.4835 7.80823Z' fill='url(%23paint8_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M93.8087 7.80823V9.2566C93.8087 9.52364 94.0249 9.74024 94.2921 9.74024H95.742C96.0088 9.74024 96.226 9.52364 96.226 9.2566V7.80823C96.226 7.54119 96.0088 7.32471 95.742 7.32471L94.2921 7.32471C94.0249 7.32471 93.8087 7.54119 93.8087 7.80823Z' fill='url(%23paint9_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M104.134 7.80823V9.2566C104.134 9.52364 104.35 9.74024 104.617 9.74024H106.067C106.334 9.74024 106.551 9.52364 106.551 9.2566V7.80823C106.551 7.54119 106.334 7.32471 106.067 7.32471L104.617 7.32471C104.35 7.32471 104.134 7.54119 104.134 7.80823Z' fill='url(%23paint10_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M114.702 7.80823V9.2566C114.702 9.52364 114.918 9.74024 115.185 9.74024L116.635 9.74024C116.902 9.74024 117.119 9.52364 117.119 9.25659V7.80823C117.119 7.54119 116.902 7.32471 116.635 7.32471L115.185 7.32471C114.918 7.32471 114.702 7.54119 114.702 7.80823Z' fill='url(%23paint11_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M125.027 7.80823V9.25659C125.027 9.52364 125.243 9.74024 125.511 9.74024L126.961 9.74024C127.227 9.74024 127.445 9.52364 127.445 9.25659V7.80823C127.445 7.54119 127.227 7.32471 126.961 7.32471L125.511 7.32471C125.243 7.32471 125.027 7.54119 125.027 7.80823Z' fill='url(%23paint12_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M135.352 7.80823V9.25659C135.352 9.52364 135.569 9.74024 135.836 9.74024H137.286C137.553 9.74024 137.77 9.52364 137.77 9.25659V7.80823C137.77 7.54119 137.553 7.32471 137.286 7.32471L135.836 7.32471C135.569 7.32471 135.352 7.54119 135.352 7.80823Z' fill='url(%23paint13_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M145.678 7.80823V9.25659C145.678 9.52364 145.894 9.74024 146.161 9.74024H147.611C147.878 9.74024 148.095 9.52364 148.095 9.25659V7.80823C148.095 7.54119 147.878 7.32471 147.611 7.32471L146.161 7.32471C145.894 7.32471 145.678 7.54119 145.678 7.80823Z' fill='url(%23paint14_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M156.003 7.80823V9.25659C156.003 9.52364 156.219 9.74024 156.486 9.74024H157.936C158.203 9.74024 158.42 9.52364 158.42 9.25659V7.80823C158.42 7.54119 158.203 7.32471 157.936 7.32471L156.486 7.32471C156.219 7.32471 156.003 7.54119 156.003 7.80823Z' fill='url(%23paint15_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M166.328 7.80823V9.25659C166.328 9.52363 166.544 9.74024 166.811 9.74024H168.261C168.528 9.74024 168.745 9.52363 168.745 9.25659V7.80823C168.745 7.54119 168.528 7.32471 168.261 7.32471L166.811 7.32471C166.544 7.32471 166.328 7.54119 166.328 7.80823Z' fill='url(%23paint16_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M176.896 7.80823V9.25659C176.896 9.52363 177.112 9.74023 177.38 9.74023H178.83C179.096 9.74023 179.313 9.52363 179.313 9.25659V7.80823C179.313 7.54119 179.096 7.32471 178.83 7.32471L177.38 7.32471C177.112 7.32471 176.896 7.54119 176.896 7.80823Z' fill='url(%23paint17_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M187.221 7.80823V9.25659C187.221 9.52363 187.438 9.74023 187.705 9.74023H189.155C189.421 9.74023 189.639 9.52363 189.639 9.25659V7.80823C189.639 7.54119 189.421 7.32471 189.155 7.32471L187.705 7.32471C187.438 7.32471 187.221 7.54119 187.221 7.80823Z' fill='url(%23paint18_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M199.639 7.80824V9.2566C199.639 9.52364 199.855 9.74024 200.123 9.74024H201.572C201.839 9.74024 202.056 9.52364 202.056 9.2566V7.80824C202.056 7.54119 201.839 7.32472 201.572 7.32472L200.123 7.32472C199.855 7.32472 199.639 7.54119 199.639 7.80824Z' fill='url(%23paint19_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M209.964 7.80824V9.2566C209.964 9.52364 210.181 9.74024 210.448 9.74024L211.897 9.74024C212.164 9.74024 212.381 9.52364 212.381 9.2566V7.80824C212.381 7.54119 212.164 7.32471 211.897 7.32471L210.448 7.32471C210.181 7.32471 209.964 7.54119 209.964 7.80824Z' fill='url(%23paint20_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M220.289 7.80823V9.2566C220.289 9.52364 220.506 9.74024 220.773 9.74024L222.222 9.74024C222.49 9.74024 222.706 9.52364 222.706 9.2566V7.80823C222.706 7.54119 222.49 7.32471 222.222 7.32471L220.773 7.32471C220.506 7.32471 220.289 7.54119 220.289 7.80823Z' fill='url(%23paint21_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M230.614 7.80823V9.2566C230.614 9.52364 230.831 9.74024 231.098 9.74024H232.548C232.815 9.74024 233.032 9.52364 233.032 9.2566V7.80823C233.032 7.54119 232.815 7.32471 232.548 7.32471L231.098 7.32471C230.831 7.32471 230.614 7.54119 230.614 7.80823Z' fill='url(%23paint22_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M240.939 7.80823V9.2566C240.939 9.52364 241.156 9.74024 241.423 9.74024H242.873C243.14 9.74024 243.357 9.52364 243.357 9.2566V7.80823C243.357 7.54119 243.14 7.32471 242.873 7.32471L241.423 7.32471C241.156 7.32471 240.939 7.54119 240.939 7.80823Z' fill='url(%23paint23_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M251.508 7.80823V9.2566C251.508 9.52364 251.724 9.74024 251.992 9.74024H253.441C253.708 9.74024 253.925 9.52364 253.925 9.2566V7.80823C253.925 7.54119 253.708 7.32471 253.441 7.32471L251.992 7.32471C251.724 7.32471 251.508 7.54119 251.508 7.80823Z' fill='url(%23paint24_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M261.833 7.80823V9.2566C261.833 9.52364 262.049 9.74024 262.317 9.74024H263.766C264.033 9.74024 264.25 9.52364 264.25 9.2566V7.80823C264.25 7.54119 264.033 7.32471 263.766 7.32471L262.317 7.32471C262.049 7.32471 261.833 7.54119 261.833 7.80823Z' fill='url(%23paint25_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M272.158 7.80823V9.2566C272.158 9.52364 272.374 9.74024 272.642 9.74024H274.092C274.358 9.74024 274.576 9.52364 274.576 9.2566L274.576 7.80823C274.576 7.54119 274.358 7.32471 274.092 7.32471L272.642 7.32471C272.374 7.32471 272.158 7.54119 272.158 7.80823Z' fill='url(%23paint26_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M282.483 7.80823V9.2566C282.483 9.52364 282.7 9.74024 282.967 9.74024H284.417C284.684 9.74024 284.901 9.52364 284.901 9.2566V7.80823C284.901 7.54119 284.684 7.32471 284.417 7.32471L282.967 7.32471C282.7 7.32471 282.483 7.54119 282.483 7.80823Z' fill='url(%23paint27_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M292.809 7.80823L292.809 9.2566C292.809 9.52364 293.025 9.74024 293.292 9.74024H294.742C295.009 9.74024 295.226 9.52364 295.226 9.2566V7.80823C295.226 7.54119 295.009 7.32471 294.742 7.32471L293.292 7.32471C293.025 7.32471 292.809 7.54119 292.809 7.80823Z' fill='url(%23paint28_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M303.134 7.80823L303.134 9.2566C303.134 9.52364 303.35 9.74024 303.617 9.74024H305.067C305.334 9.74024 305.551 9.52364 305.551 9.2566V7.80823C305.551 7.54119 305.334 7.32471 305.067 7.32471L303.617 7.32471C303.35 7.32471 303.134 7.54119 303.134 7.80823Z' fill='url(%23paint29_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M313.702 7.80823L313.702 9.2566C313.702 9.52364 313.918 9.74024 314.185 9.74024L315.635 9.74024C315.902 9.74024 316.119 9.52364 316.119 9.25659V7.80823C316.119 7.54119 315.902 7.32471 315.635 7.32471L314.185 7.32471C313.918 7.32471 313.702 7.54119 313.702 7.80823Z' fill='url(%23paint30_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M324.027 7.80823V9.25659C324.027 9.52364 324.243 9.74024 324.511 9.74024L325.961 9.74024C326.227 9.74024 326.445 9.52364 326.445 9.25659V7.80823C326.445 7.54119 326.227 7.32471 325.961 7.32471L324.511 7.32471C324.243 7.32471 324.027 7.54119 324.027 7.80823Z' fill='url(%23paint31_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M334.352 7.80823V9.25659C334.352 9.52364 334.569 9.74024 334.836 9.74024H336.286C336.553 9.74024 336.77 9.52364 336.77 9.25659L336.77 7.80823C336.77 7.54119 336.553 7.32471 336.286 7.32471L334.836 7.32471C334.569 7.32471 334.352 7.54119 334.352 7.80823Z' fill='url(%23paint32_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M344.678 7.80823V9.25659C344.678 9.52364 344.894 9.74024 345.161 9.74024H346.611C346.878 9.74024 347.095 9.52364 347.095 9.25659L347.095 7.80823C347.095 7.54119 346.878 7.32471 346.611 7.32471L345.161 7.32471C344.894 7.32471 344.678 7.54119 344.678 7.80823Z' fill='url(%23paint33_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M355.003 7.80823V9.25659C355.003 9.52364 355.219 9.74024 355.486 9.74024H356.936C357.203 9.74024 357.42 9.52364 357.42 9.25659L357.42 7.80823C357.42 7.54119 357.203 7.32471 356.936 7.32471L355.486 7.32471C355.219 7.32471 355.003 7.54119 355.003 7.80823Z' fill='url(%23paint34_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M365.328 7.80823V9.25659C365.328 9.52363 365.544 9.74024 365.811 9.74024H367.261C367.528 9.74024 367.745 9.52363 367.745 9.25659V7.80823C367.745 7.54119 367.528 7.32471 367.261 7.32471L365.811 7.32471C365.544 7.32471 365.328 7.54119 365.328 7.80823Z' fill='url(%23paint35_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M375.896 7.80823V9.25659C375.896 9.52363 376.112 9.74023 376.38 9.74023H377.83C378.096 9.74023 378.313 9.52363 378.313 9.25659V7.80823C378.313 7.54119 378.096 7.32471 377.829 7.32471L376.38 7.32471C376.112 7.32471 375.896 7.54119 375.896 7.80823Z' fill='url(%23paint36_linear_8295_70635)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M386.221 7.80823V9.25659C386.221 9.52363 386.438 9.74023 386.705 9.74023H388.155C388.421 9.74023 388.639 9.52363 388.639 9.25659V7.80823C388.639 7.54119 388.421 7.32471 388.155 7.32471L386.705 7.32471C386.438 7.32471 386.221 7.54119 386.221 7.80823Z' fill='url(%23paint37_linear_8295_70635)'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint1_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint2_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint3_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint4_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint5_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint6_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint7_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint8_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint9_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint10_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint11_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint12_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint13_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint14_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint15_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint16_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint17_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint18_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint19_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint20_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint21_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint22_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint23_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint24_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint25_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint26_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint27_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint28_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint29_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint30_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint31_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint32_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint33_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint34_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint35_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint36_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint37_linear_8295_70635' x1='-47.5' y1='8.99989' x2='332' y2='8.99989' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2329B5E8' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%2329B5E8' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A\")}.sc-hero__inner\u003E.snowflake-flexible-column-container-items\u003Ediv:first-child{position:relative;z-index:3}.sc-hero__inner\u003E.snowflake-flexible-column-container-items\u003Ediv:last-child{position:absolute;height:100%;width:100%;top:0;left:-24px}.sc-hero__inner\u003E.snowflake-flexible-column-container-items\u003Ediv:last-child::before{content:\"\";display:block;z-index:1;position:absolute;top:-64px;left:0;width:150%;height:calc(100% + 160px);background-color:rgb(32 44 53 / .9)}.sc-body__content .heading-3-v2,.sc-hero__headline .heading-1-v2{text-transform:none}.sc-body__content span.snowflake-image-caption{display:block!important;font-style:italic}.sc-body__content .snowflake-text p+ul{margin-top:24px!important;padding-left:16px!important}.white-blue-text-color .snowflake-title-v2.solution-center-hero__certification .snowflake-typographyv2\u003Espan.snowflake-title-v2-line{color:#e9eaeb!important;font-size:16px}.white-blue-text-color .snowflake-title-v2.solution-center-hero__certification.is-large .snowflake-typographyv2\u003Espan.snowflake-title-v2-line{color:#fff!important;font-size:18px}.solution-center-hero__certification\u003E.snowflake-title-v2-line\u003Espan:first-child{display:flex;justify-content:flex-start;align-items:center;gap:8px}.solution-center-hero__certification\u003E.snowflake-title-v2-line\u003Espan:first-child::before{content:\"\";display:inline-block;width:16px;height:16px;background-image:url(\"data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 0C3.58146 0 0 3.58146 0 8C0 12.4185 3.58146 16 8 16C12.4185 16 16 12.4185 16 8C16 3.58146 12.4185 0 8 0ZM12.7184 5.91984L7.33471 11.3026C7.31293 11.3244 7.31293 11.3454 7.29198 11.3454L7.20653 11.4308C6.94933 11.688 6.54132 11.7525 6.21962 11.6235C6.11238 11.5808 6.00514 11.5163 5.9197 11.4308L5.83425 11.3454C5.83425 11.3454 5.83425 11.3236 5.81246 11.3236L3.28149 8.79347C2.93799 8.44997 2.93799 7.87107 3.28149 7.50664L3.36694 7.42119C3.71044 7.07769 4.28934 7.07769 4.65377 7.42119L6.58401 9.35143L11.3877 4.5477C11.7312 4.2042 12.3101 4.2042 12.6746 4.5477L12.76 4.63315C13.0826 4.99758 13.0828 5.55541 12.7184 5.91984Z' fill='%230E8A16'/%3E%3C/svg%3E%0A\");background-size:contain;background-repeat:no-repeat;background-color:#fff;border-radius:100%}.sc-hero__byline{padding-top:8px}.sc-hero__byline p{color:#e2e2e2;margin-top:0!important}.sc-hero pre[class*=language-]{overflow:visible}.snowflake-code-snippet,.snowflake-code-snippet code,.snowflake-code-snippet pre{font-size:16px}.sc-hero__code-snippet:not(pre)\u003Ecode[class*=language-],.sc-hero__code-snippet pre[class*=language-]{background:0 0}.sc-hero__code-snippet{opacity:.8;background-color:transparent!important;position:absolute;top:0;right:0;width:100%;animation:240s linear 1s forwards slow-scroll}.sc-hero__button-container .snowflake-flexible-column-container-items{padding:0 0 24px;margin-top:-8px;margin-left:24px}.sc-sidebar__partner-logo{width:100%;max-width:140px;margin-top:8px}.sc-sidebar__partner-logo .cmp-image__image{border-radius:0}.sc-tag-cluster.snowflake-text ul{list-style-type:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;margin:0}.sc-tag-cluster.snowflake-text li{color:#373f41;border-radius:4px;display:inline-block;padding:6px;text-transform:uppercase;letter-spacing:1px;font-size:12px!important;line-height:12px!important;margin:0!important;background-color:#f3f3f3}.sc-body .share-icon svg{height:24px;cursor:pointer}.sc-body .share-icon svg:hover path{fill:var(--ui-02)}.sc-overview__webinar-promo-banner{align-items:center;border:1px solid #ccc;padding:var(--spacing-02)}.sc-overview__webinar-promo-banner .snowflake-content-chip-image{max-width:32px;margin-right:var(--spacing-02);line-height:0}.sc-overview__webinar-promo-banner .snowflake-content-chip-image__image,.summit-speaker-card .snowflake-card-v2-advanced-image__image{aspect-ratio:1}.sc-overview__webinar-promo-banner .snowflake-content-chip-content .heading-5-v2{font-size:14px;font-family:Lato,sans-serif}.sc-overview__webinar-promo-banner .snowflake-content-chip-content .snowflake-title-v2-line:not(:first-child){font-weight:400}.sc-overview__webinar-promo-banner .snowflake-content-chip-button .snowflake-button-container{font-size:14px!important}.diagram-group__button{position:absolute;bottom:24px;right:24px;background-color:#212c35!important}.section--mountains-bottom,.summit-hp-hero{position:relative}.sc-cert-banner{background-color:#212d35;border-radius:8px;padding:24px;overflow:hidden}.sc-cert-banner\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;flex-direction:row;align-items:center}:root{--text-secondary:#706f6f;--summit-bg-ltblue:#eaf8fd;--summit-bg-blue:#249edc;--summit-border:#d2d1d4;--summit-border-radius:8px;--summit-card-padding:32px;--summit-card-padding-sm:28px}.section--mountains-bottom::after,.section--mountains-bottom::before{content:\"\";display:block;position:absolute;bottom:-1px;max-width:400px;background-size:100% auto;height:100%;width:30%;line-height:0;background-repeat:no-repeat}.button-group\u003E.container\u003E.cmp-container\u003E.aem-container{justify-content:center;align-items:center}.button-group\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:auto!important;margin:0 8px!important}.button-group .snowflake-button-container{font-family:Texta,sans-serif}.section--summit-bg-ltblue{background-color:var(--summit-bg-ltblue)}.section--summit-bg-blue,.summit-hero-secondary{background-color:var(--summit-bg-blue)}.section--mountains-bottom::before{left:0;background-image:url(\"data:image/svg+xml,%3Csvg width='402' height='309' viewBox='0 0 402 309' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M401.523 308.761H0V0L181.63 182.431L228.479 135.531L401.523 308.761Z' fill='%23249EDC'/%3E%3C/svg%3E%0A\");background-position:bottom left}.section--mountains-bottom::after{right:0;background-image:url(\"data:image/svg+xml,%3Csvg width='402' height='309' viewBox='0 0 402 309' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 308.761H401.523V0L219.893 182.431L173.044 135.531L0 308.761Z' fill='%23249EDC'/%3E%3C/svg%3E%0A\");background-position:bottom right}.summit-hp-hero{overflow:hidden}.summit-hero__bg-video{position:absolute;top:50%;left:50%;width:120%;height:100%;opacity:.3;transform:translate(-50%,-50%)}.summit-hero__bg-svg,.summit-prefooter__bg-image,.summit-secondary-hero__bg-image{position:absolute;bottom:0;left:0;width:100%}.summit-hp-promo-banner__headline .heading-4-v2{font-weight:900}.summit-hero-secondary .hero-lottie__left{position:absolute;bottom:0;left:0;width:30%;line-height:0}.summit-timeline__card::after,.summit-timeline__card::before{bottom:0;left:50%;position:absolute;display:block;background-color:var(--ui-01);content:\"\"}.summit-hero-secondary .snowflake-text p{font-size:24px!important;line-height:32px!important;max-width:720px;margin:0 auto}.summit-stat-container\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;justify-content:center}.summit-stat-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:auto!important;max-width:25%}.summit-stat-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:not(:last-child){border-right:1px solid #fff}.summit-timeline__card{border:1px solid var(--summit-border);border-radius:var(--summit-border-radius);padding:var(--summit-card-padding);position:relative;background-color:#fff}.summit-timeline__card::before{width:20px;height:20px;border-radius:100%;transform:translate(-50%,50%)}.summit-timeline__card::after{width:3px;height:50px;transform:translate(-50%,100%)}.summit-timeline-card__icon{width:48px;height:48px}.summit-timeline-card__headline .heading-3-v2{font-size:32px}.faq-group{border:1px solid var(--ui-12);border-radius:4px;background-color:#fff}.faq-group__question{padding:24px}.faq-group__question:hover{color:var(--ui-01);cursor:pointer}.faq-group__question .heading-4-v2,.faq-group__question .heading-5-v2{position:relative;padding-right:64px}.faq-group__question .heading-4-v2::after,.faq-group__question .heading-5-v2::after{content:\"\";display:block;width:32px;height:32px;background-image:url(\"data:image/svg+xml,%3Csvg width='29' height='16' viewBox='0 0 29 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M14.16 14.6807C14.2537 14.7957 14.3719 14.8884 14.506 14.952C14.64 15.0157 14.7866 15.0487 14.935 15.0487C15.0834 15.0487 15.2299 15.0157 15.3639 14.952C15.498 14.8884 15.6162 14.7957 15.71 14.6807V14.6807L28.51 2.00068C29.07 1.43068 29.07 .92068 28.51 .44068C27.95 -.0393204 27.43 -.11932 26.96 .44068L14.94 12.0007L2.99996 .45068C2.90725 .322624 2.7855 .218374 2.6447 .146483C2.50389 .0745926 2.34805 .0371094 2.18996 .0371094C2.03187 .0371094 1.87603 .0745926 1.73522 .146483C1.59442 .218374 1.47267 .322624 1.37996 .45068C.819961 .93068 .819961 1.45068 1.37996 2.01068L14.16 14.6807Z' fill='black'/%3E%3C/svg%3E%0A\");background-size:80% auto;background-repeat:no-repeat;background-position:center;position:absolute;top:-2px;right:0;transition:.3s 150ms}.faq-group__question .heading-5-v2::after{top:-4px}.faq-group__answer{max-height:0;overflow:hidden;width:95%;padding:0 24px;transition:.5s}.faq-group__answer\u003Espan{display:block;padding-bottom:24px}.is-open .faq-group__answer{max-height:600px;transition:1s}.is-open .faq-group__question .heading-4-v2::after,.is-open .faq-group__question .heading-5-v2::after{transform:rotate(180deg);transition:.3s}.summit-agenda{box-shadow:2px 4px 10px 0 rgb(156 156 156 / .52);border-radius:8px;background-color:#fff;max-width:980px;margin-left:auto;margin-right:auto;padding:40px;width:90%}.agenda-item{border-radius:8px;background-color:#d4f0fa;padding:16px;border-left:4px solid var(--ui-01);position:relative}.summit-pricing-block__tile.is-past,.summit-pricing-block__tile.is-upcoming{pointer-events:none;border-color:#d2d1d4}p.agenda-item__time{width:25%;font-family:Texta!important;font-size:32px!important;font-weight:900!important;text-transform:uppercase!important;max-width:140px}@media screen and (max-width:991px){#partnerResources .section--resource-hub .snowflake-button-link .snowflake-button-container{font-size:14px!important;line-height:20px!important;margin-top:4px}#industryPartnerSlider\u003E.snowflake-flexible-column-container-items{display:flex;flex-direction:column}#industryPartnerSlider\u003E.snowflake-flexible-column-container-items\u003Ediv{width:100%}.sc-cert-banner__left{text-align:center}.sc-cert-banner__left .solution-center-hero__certification .snowflake-title-v2-line{justify-content:center}.summit-hero__bg-video{width:200%}.summit-leadership-grid .snowflake-flexible-column-container-items{grid-template-columns:repeat(2,1fr)}.summit-stat-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:50%!important;max-width:50%!important}.summit-stat-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:not(:last-child){border-right:none!important}.summit-agenda{padding:24px}p.agenda-item__time{font-size:24px!important;width:auto;white-space:nowrap;padding-right:24px}}.agenda-item\u003Espan{display:flex;align-items:center}.summit-add-on-block,.summit-pricing-block{border:1px solid #d2d1d4;border-radius:8px;overflow:hidden;box-shadow:2px 4px 10px 0 rgb(156 156 156 / .52);background-color:#fff}.summit-add-on-block__content,.summit-pricing-block__content{padding:0 20px 20px}.summit-pricing-block__tile{padding:24px 20px;border-radius:4px;background:#fff;border:1px solid var(--ui-01);position:relative;transition:background-color .3s}.summit-pricing-block__tile:hover{background-color:var(--ui-01);transition:background-color .3s}.summit-pricing-block__tile.is-past{background-color:#d4f0fa}.summit-pricing-block__tile:hover .black-blue-text-color .snowflake-title-v2-line{color:#fff!important;transition:color .3s}.partner-card__logo-grid\u003E.container\u003E.cmp-container\u003E.aem-container::after,.partner-card__logo-grid\u003E.container\u003E.cmp-container\u003E.aem-container::before,.summit-add-on-block__content\u003E.container\u003E.cmp-container\u003E.aem-container::after,.summit-add-on-block__content\u003E.container\u003E.cmp-container\u003E.aem-container::before,.summit-pricing-block__tile.is-past .snowflake-content-chip-button,.summit-pricing-block__tile.is-upcoming .snowflake-content-chip-button,.summit-speaker-card .snowflake-card-v2-advanced-tag-indicator{display:none}.summit-pricing-block__tile.is-past .black-blue-text-color .snowflake-title-v2-line{color:#7cc7eb!important}.summit-pricing-block__tile.is-upcoming .black-blue-text-color .snowflake-title-v2-line{color:#8c8c8c!important}.summit-pricing-block__aside{background-color:#d4f0fa;border:1px solid #d2d1d4;border-radius:8px;padding:24px;width:100%}.summit-pricing-block__aside li::marker{color:var(--ui-01)}.summit-pricing-block__aside-headline .heading-5-v2{font-weight:900;margin-bottom:12px}.summit-pricing-block__header{background:#000;padding:24px 40px}.summit-pricing-block__header .heading-4-v2{font-weight:900;letter-spacing:.5px}.bwwidth100,.snowflake-mega-nav-dropdown-footer-content,.summit-pricing-block__tile .black-blue-text-color{width:100%}.summit-pricing-block__tile .heading-5-v2{position:static}.summit-pricing-block__tile .heading-5-v2 span.snowflake-title-v2-line:first-child{text-transform:uppercase;font-weight:900!important;letter-spacing:.25px;font-size:24px!important}.summit-pricing-block__tile .heading-5-v2 span.snowflake-title-v2-line:nth-child(2){margin-top:8px;font-family:Lato,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:16px}.summit-pricing-block__tile .heading-5-v2 span.snowflake-title-v2-line:last-child{font-weight:900!important;font-size:40px!important}.snowflake-mega-nav-nav-item\u003Ea:hover .snowflake-mega-nav-nav-item-title-wrapper\u003E.snowflake-mega-nav-nav-item-title,.summit-pricing-block__tile:not(.is-upcoming):not(.is-past) .heading-5-v2 span.snowflake-title-v2-line:last-child{color:var(--ui-01)!important}.summit-pricing-block__tile:hover:not(.is-upcoming):not(.is-past) .heading-5-v2 span.snowflake-title-v2-line:last-child{color:#fff!important}.summit-pricing-block__tile.is-past .heading-5-v2 span.snowflake-title-v2-line:last-child{text-decoration:line-through}.summit-pricing-block__tile .snowflake-content-chip-button{margin-top:0;white-space:nowrap;display:none}.snowflake-card-v2-advanced.no-link{pointer-events:none!important}.snowpro-card{border:1px solid var(--summit-border);border-radius:var(--summit-border-radius);padding:var(--summit-card-padding-sm);display:flex;height:100%}.snowpro-card__headline{margin:24px 0 12px}.snowpro-card__pricing{margin-top:48px}.snowpro-card .snowflake-text .snowpro-card__price{color:var(--ui-01);font-weight:900;font-size:40px!important;font-family:Texta,sans-serif}.summit-stat-container\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;flex-direction:row;flex-wrap:wrap}.summit-stat-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:not(:last-child){border-right:1px solid var(--summit-border)}.summit-stat-card{padding:0 40px}.summit-stat .heading-2-v2 .snowflake-title-v2-line:first-child{font-size:64px;line-height:52px;margin-bottom:8px}.summit-stat .heading-2-v2 .snowflake-title-v2-line:last-child{font-size:32px;line-height:30px;margin-bottom:16px}.summit-speaker-card .snowflake-card-v2-advanced-title{margin-bottom:var(--spacing-01)}.summit-add-on-card{padding:24px;border:1px solid #d2d1d4;border-radius:8px}.summit-add-on__subhead{padding-left:40px;padding-right:40px}.partner-card__logo-grid,.partner-card__logo-single{padding:40px}.partner-card__logo-grid .snowflake-image-container .cmp-image__image,.partner-card__logo-single .snowflake-image-container .cmp-image__image{border-radius:0;max-width:240px;margin:0 auto}.partner-card\u003E.container,.partner-card\u003E.container\u003E.aem-container,.partner-card\u003E.container\u003E.cmp-container{height:100%}.summit-add-on-block__content\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;flex-direction:row;gap:24px;align-items:stretch}.partner-card__logo-grid\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:40px 24px;justify-content:center;align-items:center}.partner-card__logo-grid\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(33.3333% - 24px);margin:0!important}.partner-card{border-radius:8px;border:1px solid #d2d1d4;overflow:hidden;height:100%;background-color:#fff}.partner-card__header{padding:16px 24px;border-bottom:1px solid #d2d1d4}.partner-card__header.is-purple{background-color:#7d44cf}.partner-card__header h4{display:flex;flex-direction:row!important;align-items:center;gap:12px}.partner-card__header h4::before{vertical-align:middle;content:\"\";display:inline-block;width:20px;height:20px;background-size:contain;background-repeat:no-repeat;background-image:url(\"data:image/svg+xml,%3Csvg width='21' height='23' viewBox='0 0 21 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M20.0375 12.8374C20.1644 12.439 20.2172 12.0289 20.2077 11.6237C20.193 11.3305 20.1548 11.0373 20.0712 10.7441C19.8196 9.83306 19.223 9.01989 18.3294 8.50724L5.61817 1.2017C3.82388 .173815 1.53618 .784335 .506483 2.56804C-.533615 4.34915 .0797871 6.62351 1.87408 7.65398L8.97715 11.7427L1.87408 15.8201C.0797871 16.8527 -.531016 19.1271 .506483 20.9156C1.53618 22.6941 3.82388 23.302 5.61817 22.2746L18.3294 14.9643C19.1871 14.4728 19.7693 13.7027 20.0375 12.8374Z' fill='black'/%3E%3C/svg%3E%0A\")}.partner-card__header.is-purple h4::before{background-image:url(\"data:image/svg+xml,%3Csvg width='21' height='23' viewBox='0 0 21 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M20.0375 12.8374C20.1644 12.439 20.2172 12.0289 20.2077 11.6237C20.193 11.3305 20.1548 11.0373 20.0712 10.7441C19.8196 9.83306 19.223 9.01989 18.3294 8.50724L5.61817 1.2017C3.82388 .173815 1.53618 .784335 .506483 2.56804C-.533615 4.34915 .0797871 6.62351 1.87408 7.65398L8.97715 11.7427L1.87408 15.8201C.0797871 16.8527 -.531016 19.1271 .506483 20.9156C1.53618 22.6941 3.82388 23.302 5.61817 22.2746L18.3294 14.9643C19.1871 14.4728 19.7693 13.7027 20.0375 12.8374Z' fill='white'/%3E%3C/svg%3E%0A\")}.sf-blue-mountains{background-size:90% auto;background-repeat:no-repeat;background-position:center bottom;background-image:url(\"data:image/svg+xml,%3Csvg width='1361' height='410' viewBox='0 0 1361 410' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1360.25 410L1065.53 114.309L976.256 203.875L773.049 0L364.393 410H1360.25Z' fill='%233AA8DF'/%3E%3Cpath d='M274.778 410L137.467 272.238L.15625 410H274.778Z' fill='%233AA8DF'/%3E%3C/svg%3E%0A\")}.bwalignr,.main-pr-body .bwalignr{text-align:right}.bwblockalignl{margin-left:0;margin-right:auto}.bwcellpmargin{margin-top:0;margin-bottom:0}.bwlistdisc{list-style-type:disc}.bwpadb3{padding-bottom:4px}.bwpadb4{padding-bottom:5px}.bwpadl0{padding-left:0}.bwpadl3{padding-left:15px}.bwpadl6{padding-left:30px}.bwpadl9{padding-left:45px}.bwpadl12{padding-left:60px}.bwpadr0{padding-right:0}.bwtablemarginb{margin-bottom:10px}.bwvertalignb{vertical-align:bottom}.bwvertalignt{vertical-align:top}.bwsinglebottom{border-bottom:1pt solid #000}.bwdoublebottom{border-bottom:2.25pt double #000}.bwwidth1{width:1%}.bwwidth2{width:2%}.bwwidth6{width:6%}.bwwidth7{width:7%}.bwwidth8{width:8%}.bwwidth10{width:10%}.bwwidth12{width:12%}.bwwidth32{width:32%}.bwwidth44{width:44%}.bwwidth72{width:72%}.bwwidth97{width:97%}.main-pr-body{font-size:18px;line-height:26px}.main-pr-body img{display:block;width:100%;height:auto!important;border-radius:var(--small-border-radius)}.main-pr-body table{width:100%;display:block}.main-pr-body tbody{background-color:#f7f7f7}.main-pr-body .bwsinglebottom{border-bottom:1pt solid #000!important}.main-pr-body td.bwwidth44{padding-right:40px}.main-pr-body .bw-release-story{font-family:Lato,sans-serif}.main-pr-body .bw-release-story sup,.snowflake-mega-nav-dropdown-header-content-right a{white-space:nowrap}.main-pr-body .bw-release-story\u003E*,.main-pr-body\u003Espan\u003E*{margin-bottom:2rem!important}.snowflake-text.main-pr-body tbody,.snowflake-text.main-pr-body tbody p{font-size:14px!important;line-height:20px!important;width:100%;display:block}.press-body .snowflake-flexible-column-container-items{gap:var(--spacing-08)}.about-snowflake{border:1px solid #ccc;background-color:var(--ui-background-05);padding:24px;border-radius:8px;margin-top:0}.about-snowflake__logo{max-width:140px;margin-top:16px}.hero--press .snowflake-hero-system-inner{max-width:1408px;margin:0 auto!important}#arcticNavItem{flex-direction:column}#arcticNavItem::before{content:\"Featured Open Source Technologies\";display:block;margin-top:48px;margin-bottom:24px;font-size:16px!important;line-height:16px!important;font-weight:800!important;text-transform:uppercase}@media screen and (min-width:768px){.sc-hero__inner\u003E.snowflake-flexible-column-container-items\u003Ediv:last-child{position:relative;height:100%;top:auto;left:auto;width:auto}.sc-hero__inner\u003E.snowflake-flexible-column-container-items\u003Ediv:last-child::before{background:linear-gradient(180deg,#202c35 -7.5%,#fff0 51.25%,#202c35 107.69%)}.sc-hero__byline\u003Espan{display:flex;flex-wrap:wrap}.sc-hero__byline p:not(:last-child)::after{content:\"|\";margin:0 12px;opacity:.5}.sc-hero__button-container .snowflake-flexible-column-container-items{position:absolute;bottom:0;padding:0;margin:0 24px 0 0}.sc-hero__button-container .hero-watch-the-demo{padding:12px 16px!important;float:right;margin-bottom:48px;background-color:rgb(35 45 54 / .8)}.summit-overview-stat{padding:0 40px}.summit-timeline{border-bottom:3px solid var(--ui-01);margin-bottom:64px}.summit-add-on-block__content,.summit-pricing-block__content{padding:0 40px 40px}#arcticNavItem::before{font-size:12px!important;margin-bottom:8px;margin-top:16px}.snowflake-mega-nav-nav-item-title-wrapper\u003E.snowflake-mega-nav-nav-item-title{line-height:20px!important}.snowflake-card .heading-2.snowflake-title-line{font-size:24px!important;line-height:28px!important}}@media screen and (min-width:992px){.hp-hero__eyebrow a{gap:12px;margin-left:0;margin-right:0}.hp-hero__eyebrow a::after{content:\"\";background-image:url(\"data:image/svg+xml,%3Csvg width='6' height='11' viewBox='0 0 6 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.49134 5.79438C5.53447 5.75922 5.56923 5.71489 5.5931 5.66463C5.61697 5.61436 5.62935 5.55941 5.62935 5.50376C5.62935 5.44811 5.61697 5.39316 5.5931 5.34289C5.56923 5.29263 5.53447 5.2483 5.49134 5.21314L.736339 .413136C.522589 .203135 .331339 .203135 .151339 .413136C-.0286612 .623135 -.0586612 .818135 .151339 .994386L4.48634 5.50188L.155089 9.97938C.107068 10.0142 .0679743 10.0598 .0410153 10.1126C.0140562 10.1654 0 10.2238 0 10.2831C0 10.3424 .0140562 10.4009 .0410153 10.4537C.0679743 10.5065 .107068 10.5521 .155089 10.5869C.335089 10.7969 .530089 10.7969 .740089 10.5869L5.49134 5.79438Z' fill='black'/%3E%3C/svg%3E%0A\");display:inline-block;width:12px;height:12px;background-repeat:no-repeat;background-size:auto 100%;background-position:left center}.promo-banner--homepage{padding-top:32px}.homepage-banner-offset-container::after{height:50%}#storyHighlights{padding:2rem}.body-display-v2.snowflake-quote-item-quote-text{line-height:28px!important}.snowflake-hero-system-headline .heading-1-v2{line-height:48px;font-size:54px!important}.sc-overview__webinar-promo-banner .snowflake-content-chip-content{flex-direction:row;justify-content:space-between;align-items:center;width:100%}.sc-overview__webinar-promo-banner .snowflake-content-chip-content .heading-5-v2{flex-direction:row}.sc-overview__webinar-promo-banner .snowflake-content-chip-content .snowflake-title-v2-line:not(:first-child)::before{content:\"|\";margin:0 6px}.sc-cert-banner{padding:40px}.sc-cert-banner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{margin:0!important;width:50%}.sc-cert-banner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:first-child{flex-grow:1;padding-right:24px}.sc-cert-banner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:last-child{max-width:240px}.summit-pricing-block__content\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:last-child{width:70%;padding-left:40px}.summit-pricing-block__content\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:first-child{width:30%}.summit-add-on-block__content\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(33.3333% - 24px);margin:0!important;display:flex}.summit-pricing-block__tile .snowflake-content-chip-content{display:flex;flex-direction:row;align-items:center;width:calc(100% - 200px)}.summit-pricing-block__tile .heading-5-v2 span.snowflake-title-v2-line:last-child{position:absolute;top:50%;transform:translate(0,-50%);right:40px}.press-body\u003E.snowflake-flexible-column-container-items\u003Ediv:last-child{position:sticky;top:120px}.snowflake-mega-nav-navigation-title:hover{color:var(--ui-01)}}@media screen and (min-width:1024px){.about-snowflake{padding:28px}.about-snowflake__logo{max-width:none;padding:0 0 0 48px;margin-bottom:0}.hero--press .snowflake-hero-system-layout-70-30 .snowflake-hero-system-content-container{width:85%}.snowflake-hero-system{padding-bottom:var(--spacing-04);padding-top:var(--spacing-07)}.hero--press .display-2-v2{font-size:64px;line-height:56px}.about-snowflake\u003E.container\u003E.cmp-container\u003E.aem-container{flex-direction:row;flex-wrap:nowrap;align-items:center}.about-snowflake\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:last-child{max-width:280px}.about-snowflake\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:first-child{flex-grow:1;margin-bottom:0!important}#polarisNavItem{margin-top:40px}.snowflake-mega-nav-nav-item-description{line-height:18px!important}.snowflake-mega-nav-column-items{gap:var(--spacing-01);grid-gap:var(--spacing-01)}.snowflake-mega-nav-navigation-title{text-transform:none}}div[id*=blueIcon] .snowflake-mega-nav-nav-item-icon__inner{background:var(--ui-01);padding:8px}div[id*=blueIcon]:hover .snowflake-mega-nav-nav-item-icon__inner{background:var(--ui-01)!important}.snowflake-mega-nav-nav-item-icon__inner{border-radius:4px;background:var(--ui-background-05);padding:6px}.snowflake-mega-nav-nav-item:hover .snowflake-mega-nav-nav-item-icon__inner{background:#fff!important}.snowflake-mega-nav-nav-item-icon.snowflake-image-container{height:40px;width:40px}.snowflake-mega-nav-dropdown-footer-links\u003E.snowflake-button-link\u003E.snowflake-button-container{font-size:16px!important;font-family:Texta!important;font-weight:800!important}.snowflake-mega-nav-dropdown-footer-icon.snowflake-image-container{margin-right:8px;width:40px!important;height:40px!important}#viewAllCapabilities a:hover{background:0 0!important}#platformFooter .snowflake-title-v2 .snowflake-title-v2-line:last-child{font-family:Lato;font-size:14px;font-weight:500}#platformFooter .snowflake-mega-nav-dropdown-footer-links{flex-grow:1;justify-content:flex-end;align-items:center}#platformFooter .snowflake-mega-nav-dropdown-footer-content{flex-direction:row}#offset,#open-source{flex-direction:column;border-top:1px solid #ccc}#offset::before,#open-source::before{content:\" \";display:block;width:100%;font-weight:800!important;font-size:12px!important;line-height:14px;text-transform:uppercase;white-space:nowrap;margin-top:16px;margin-bottom:8px}#open-source::before{content:\"Open Source Technologies\"}.snowflake-mega-nav-dropdown-menu-close-button{margin:var(--spacing-04) 0 var(--spacing-03)}.snowflake-mega-nav-column{gap:var(--spacing-02)!important}.snowflake-mega-nav-nav-item\u003Ea{width:100%;margin-left:-8px;padding:8px;border-radius:4px}.snowflake-mega-nav-nav-item\u003Ea:hover{background-color:var(--ui-background-05)}.snowflake-mega-nav-nav-item-description{margin-top:2px;display:block}#promobanner_overflowBottomDarkBlue::before{content:'';display:block;position:absolute;bottom:0;left:0;width:100%;height:50%;background:#212d35}#promobanner_overflowTopDarkBlue::before{content:'';display:block;position:absolute;top:0;left:0;width:100%;height:50%;background:#212d35}.overview-card\u003Ediv{box-shadow:0 0 14px 0 rgba(0,0,0,.10);background-color:#fff;border-radius:16px;overflow:hidden}.overview-card-text{padding:40px}.overview-card-image img{border-radius:0 !important}.overview-card-text h3,.overview-card-text .heading-3-v2{font-size:18px;line-height:1.1;margin-top:0}","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"},"mega_header":{"additionalClasses":"heap-nav-header","id":"container-8b36abc855","layout":"SIMPLE",":type":"snowflake-site/components/mega-header","appliedCssClassNames":"snowflake-header-container white",":items":{"nav_mega":{"activeItem":"item_1719963657751_c_663444255","id":"tabs-1bd6a84d2d",":type":"snowflake-site/components/nav/nav-mega",":items":{"item_1719963657751_c_663444255":{"id":"nav-dropdown-menu-992d411338","enableDropdown":true,"nav_column_container":{"id":"container-598e534963","layout":"SIMPLE",":type":"snowflake-site/components/nav/nav-column/nav-column-container",":items":{"nav_column":{"additionalClasses":"nav-platform-sidebar","numberOfSubColumns":"one-column","minWidth":"230","maxWidth":"350","id":"container-d3eec33d84","layout":"SIMPLE",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item_copy_copy_2_793631646":{"id":"nav-item-9c322e7bd3","additionalClasses":"nav-item__platform-parent is-platform","linkDescription":"Develop AI products, apps and more on a fully managed platform that securely connects businesses globally — across any type or scale of data.","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/platform/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"The Snowflake Platform"},":type":"snowflake-site/components/nav/nav-item"},"nav_item":{"id":"nav-item-fb3c7a6da2","additionalClasses":"nav-item nav-item--si is-si","linkDescription":"All your knowledge. One trusted enterprise agent.","flag":"NOW GA","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/snowflake-cowork/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Snowflake CoWork"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_copy_2_836345186":{"id":"nav-item-24756fff1a","additionalClasses":"blue-icon is-analytics","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/analytics/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Analytics"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_copy_2":{"id":"nav-item-5c5ea6e054","additionalClasses":"blue-icon is-ai","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/ai/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"AI"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_copy_2_1314771042":{"id":"nav-item-95551bc035","additionalClasses":"blue-icon is-data-eng","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/data-engineering/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Data Engineering"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_144634":{"id":"nav-item-4864882d80","additionalClasses":"blue-icon is-apps-collab","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/applications-and-collaboration/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Applications & Collaboration"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_144634_2013333117":{"id":"nav-item-ee21e5c6d4","additionalClasses":"blue-icon is-transactions","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/transactions/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Transactions"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy_copy_2_793631646","nav_item","nav_item_copy_copy_2_836345186","nav_item_copy_copy_2","nav_item_copy_copy_2_1314771042","nav_item_copy_144634","nav_item_copy_144634_2013333117"]},"nav_column_copy_copy":{"additionalClasses":"meganav-platform-features","navColumnTitle":"Featured Capabilities","numberOfSubColumns":"one-column","id":"container-efa7d4022c","layout":"SIMPLE",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item_copy_212715":{"id":"nav-item-fe0e19479c","additionalClasses":"is-cortex-code","linkDescription":"Snowflake-native AI coding agent ","flag":"New","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/snowflake-coco/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Snowflake CoCo"},":type":"snowflake-site/components/nav/nav-item"},"nav_item":{"id":"nav-item-4ab79e316d","additionalClasses":"is-cortex-ai","linkDescription":"Instant access to industry-leading LLMs","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/product/features/cortex/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Cortex AI"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_660590635":{"id":"nav-item-d7034f000b","additionalClasses":"is-marketplace","linkDescription":"Third-party data sources connected within minutes","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/product/features/marketplace/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Marketplace"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_660590":{"id":"nav-item-492e5530a3","additionalClasses":"is-snowpark","linkDescription":"Libraries and code execution environments that run Python and more","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/product/features/snowpark/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Snowpark"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_660590_983061516":{"id":"nav-item-4ebba0e59d","additionalClasses":"is-streamlit","linkDescription":"Framework for transforming Python scripts into web apps","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/product/features/streamlit-in-snowflake/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Streamlit"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy_212715","nav_item","nav_item_copy_660590635","nav_item_copy_660590","nav_item_copy_660590_983061516"]},"nav_column_692142673":{"navColumnTitle":" ","numberOfSubColumns":"one-column","id":"container-a22a05e263","layout":"SIMPLE",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item_copy_660590_1739526127":{"id":"nav-item-8776efd75b","additionalClasses":"is-postgres","linkDescription":"Fully compatible open source Postgres running on Snowflake","flag":"Now GA","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/features/postgres/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Postgres"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_185565":{"id":"nav-item-7b795c9d07","additionalClasses":"is-dcr","linkDescription":"Streamlined model development and MLOps from a centralized UI","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/features/end-to-end-ml-workflows/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Snowflake ML"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_212715":{"id":"nav-item-049b02f1a1","additionalClasses":"is-openflow","linkDescription":"Effortless data movement for integrations","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/product/features/openflow/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Openflow"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_660590":{"id":"nav-item-adabd9c7aa","additionalClasses":"is-notebooks","linkDescription":"Interactive dev environment for data and AI teams","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/product/features/notebooks/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Notebooks"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_258535199":{"id":"nav-item-eed48af4a1","propertiesId":"workload-nav-1","additionalClasses":"is-native-apps","linkDescription":"End-to-end, Snowflake-native app creation and distribution","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/product/features/native-apps/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Native Apps"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy_660590_1739526127","nav_item_copy_185565","nav_item_copy_212715","nav_item_copy_660590","nav_item_258535199"]},"nav_column_782221091":{"navColumnTitle":" ","numberOfSubColumns":"one-column","id":"container-1556898489","layout":"SIMPLE",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item_copy":{"id":"nav-item-b6ad4a3cb6","additionalClasses":"is-light-gray-icon is-horizon-catalog","linkDescription":"Universal AI catalog","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/features/horizon/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Horizon Catalog"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_660590_1293798742":{"id":"nav-item-4e3950fc17","additionalClasses":"is-snowflake-ml","linkDescription":"Governed context layer that keeps AI, BI and data apps working from one truth","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/features/horizon-context/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Horizon Context"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_511717659_c":{"id":"nav-item-5534d460e2","additionalClasses":"is-unistore","linkDescription":"Unify transactional and analytical workloads in Snowflake for enhanced simplicity","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/features/unistore/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Unistore"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_511717659_c_1443811525":{"id":"nav-item-2f53b4ddd3","additionalClasses":"is-observe","linkDescription":"AI-powered observability for faster production troubleshooting","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/observe/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Observe"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_511717659_c_1006104884":{"id":"nav-item-1dfff5ffb4","additionalClasses":"is-observe","linkDescription":"Use any engine on a single governed data copy","flag":"Now GA","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/product/use-cases/interoperable-lakehouse/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Interoperable Lakehouse"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy","nav_item_copy_660590_1293798742","nav_item_511717659_c","nav_item_511717659_c_1443811525","nav_item_511717659_c_1006104884"]}},":itemsOrder":["nav_column","nav_column_copy_copy","nav_column_692142673","nav_column_782221091"]},":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"Product"},"nav_dropdown_menu_2":{"id":"nav-dropdown-menu-f22077ca25","enableDropdown":true,"nav_column_container":{"id":"container-39bc80a6b3","layout":"SIMPLE",":type":"snowflake-site/components/nav/nav-column/nav-column-container",":items":{"nav_column":{"navColumnTitle":"INDUSTRIES","numberOfSubColumns":"one-column","minWidth":"280","id":"container-88ce0bc7f3","layout":"SIMPLE",":type":"snowflake-site/components/nav/nav-column","appliedCssClassNames":"snowflake-responsive-container-inner-padding-extra-small",":items":{"nav_item_copy_361384_2056203141":{"id":"nav-item-6863fc5ec1","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"All Industries"},":type":"snowflake-site/components/nav/nav-item"},"nav_item":{"id":"nav-item-077d07c0d4","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/advertising-media-entertainment/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Advertising, Media & Entertainment"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-e57bc6617c","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/financial-services/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Financial Services"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1970515619":{"id":"nav-item-0ef342ce31","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/healthcare-and-life-sciences/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Healthcare & Life Sciences"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1533429516":{"id":"nav-item-194761a675","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/manufacturing/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Manufacturing"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1444458226":{"id":"nav-item-1b34eb81f6","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/public-sector/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Public Sector"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1149488919":{"id":"nav-item-9628afb889","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/retail-consumer-goods/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Retail & Consumer Goods"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_57417040":{"id":"nav-item-d381a7b242","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/technology/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Technology"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_361384674":{"id":"nav-item-0c17bb555f","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/telecom/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Telecom"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_361384":{"id":"nav-item-a6109ab249","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/industries/travel-hospitality/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Travel & Hospitality"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy_361384_2056203141","nav_item","nav_item_copy","nav_item_copy_1970515619","nav_item_copy_1533429516","nav_item_copy_1444458226","nav_item_copy_1149488919","nav_item_copy_57417040","nav_item_copy_361384674","nav_item_copy_361384"]},"nav_column_copy":{"navColumnTitle":"DEPARTMENTS","numberOfSubColumns":"one-column","minWidth":"160","id":"container-e63886be87","layout":"SIMPLE",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-75a61e3ba3","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/solutions/departments/finance/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Finance"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-987a158ed2","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/solutions/departments/information-technology/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"IT"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1970515619":{"id":"nav-item-46f5b06f5d","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/solutions/departments/marketing/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Marketing"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_copy","nav_item_copy_1970515619"]},"nav_column_833417450":{"navColumnTitle":"Enablement Solutions","numberOfSubColumns":"one-column","id":"container-7ec04cb98a","layout":"SIMPLE",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item_copy_107772":{"id":"nav-item-76ae26c1d2","linkDescription":"Confident migration to a unified platform","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/migrate-to-the-cloud/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Migrate to the AI Data Cloud"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/nav_dropdown_menu_2/nav_column_container/nav_column_833417450/nav_item_copy_107772/icon.coreimg.svg/1723828484100/nav-icon-cloud.svg","alt":"Cloud icon","lazyEnabled":true,":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_copy":{"id":"nav-item-9dda384b82","linkDescription":"Snowflake experts to help you accelerate and achieve business goals","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/solutions/services-delivery/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Services Delivery"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/nav_dropdown_menu_2/nav_column_container/nav_column_833417450/nav_item_copy_copy/icon.coreimg.svg/1768354429188/nav-icon--migrate.svg","alt":"Migrate icon","lazyEnabled":true,":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy_107772","nav_item_copy_copy"]},"nav_column_copy_copy":{"navColumnTitle":"PARTNER SOLUTIONS","numberOfSubColumns":"one-column","id":"container-bd15566e0f","layout":"SIMPLE",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-e33f0162d5","linkDescription":"Programs with product, solutions and cloud partners","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/why-snowflake/partners/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Snowflake Partner Network"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/nav_dropdown_menu_2/nav_column_container/nav_column_copy_copy/nav_item/icon.coreimg.svg/1723828498700/nav-icon--partner-network.svg","alt":"Partner Network icon","lazyEnabled":true,":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-b16f56b9c7","linkDescription":"Partners, apps and solutions for enhanced deployment","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/why-snowflake/partners/all-partners/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Partner Finder"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/nav_dropdown_menu_2/nav_column_container/nav_column_copy_copy/nav_item_copy/icon.coreimg.svg/1726173927645/nav-icon--partner-finder.svg","alt":"Partner Finder icon","lazyEnabled":true,":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1970515619":{"id":"nav-item-854da656cb","linkDescription":"Live and virtual events","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/why-snowflake/partners/event-partnership-opportunities/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Event Partnership Opportunities"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/nav_dropdown_menu_2/nav_column_container/nav_column_copy_copy/nav_item_copy_1970515619/icon.coreimg.svg/1726173935655/nav-icon--events.svg","alt":"Calendar icon","lazyEnabled":true,":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_copy","nav_item_copy_1970515619"]}},":itemsOrder":["nav_column","nav_column_copy","nav_column_833417450","nav_column_copy_copy"]},":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"Solutions"},"item_1719963657751_c":{"id":"nav-dropdown-menu-2f99710bb7","enableDropdown":true,"nav_column_container":{"id":"container-bf5b9c5418","layout":"SIMPLE",":type":"snowflake-site/components/nav/nav-column/nav-column-container",":items":{"nav_column":{"numberOfSubColumns":"one-column","minWidth":"230","maxWidth":"350","id":"container-5475c1c0e2","layout":"SIMPLE",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item_copy_copy_2_793631646":{"id":"nav-item-7e8683aa71","additionalClasses":"nav-item__platform-parent-why-sf","linkDescription":"Collaborate locally and globally to reveal new insights, create previously unforeseen business opportunities, and identify your customers with seamless experiences.","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/why-snowflake/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Why Snowflake"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy_copy_2_793631646"]},"nav_column_copy_copy":{"additionalClasses":"meganav-platform-features","numberOfSubColumns":"two-columns","maxWidth":"1200","id":"container-ae85977259","layout":"SIMPLE",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-b95e305161","propertiesId":"testID","linkDescription":"Case studies and videos showcasing how global organizations use Snowflake","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/customers/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Customers"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751_c/nav_column_container/nav_column_copy_copy/nav_item/icon.coreimg.svg/1739839279367/nav-icon--partner-network.svg","alt":"Customer icon","lazyEnabled":true,":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_258535199":{"id":"nav-item-1788bb5039","propertiesId":"workload-nav-1","linkDescription":"Learn how to connect, share and integrate the data and apps on the AI Data Cloud","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/why-snowflake/what-is-data-cloud/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"The AI Data Cloud Explained"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751_c/nav_column_container/nav_column_copy_copy/nav_item_258535199/icon.coreimg.svg/1739840490955/nav-icon-cloud.svg","alt":"Cloud icon","lazyEnabled":true,":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_185565":{"id":"nav-item-5ec2a2f34c","linkDescription":"Comprehensive security through built-in features, robust cloud infrastructure protection, and more","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/why-snowflake/snowflake-security-hub/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Security Hub"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751_c/nav_column_container/nav_column_copy_copy/nav_item_copy_185565/icon.coreimg.svg/1758909528089/user-security-admins-ciso-icon.svg","alt":"User with security lock icon","lazyEnabled":true,":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-f74791ad15","additionalClasses":"is-light-gray-icon","linkDescription":"Maximize economic value through minimizing TCO and continuously optimizing price for performance","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/pricing-options/cost-and-performance-optimization/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Cost and Performance Optimization"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751_c/nav_column_container/nav_column_copy_copy/nav_item_copy/icon.coreimg.svg/1758909542267/nav-icon-cost-optimization-performance.svg","alt":"Cost Optimization icon","lazyEnabled":true,":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_185565_903555964":{"id":"nav-item-6c9febc159","linkDescription":"Startups building applications in the AI Data Cloud","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/why-snowflake/startup-program/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Snowflake for Startups"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751_c/nav_column_container/nav_column_copy_copy/nav_item_copy_185565_903555964/icon.coreimg.svg/1758732224323/launch.svg","alt":"Launch","lazyEnabled":true,":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_258535199","nav_item_copy_185565","nav_item_copy","nav_item_copy_185565_903555964"]}},":itemsOrder":["nav_column","nav_column_copy_copy"]},":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"Why Snowflake"},"item_1719961362824":{"id":"nav-dropdown-menu-679da35cab","enableDropdown":true,"nav_column_container":{"id":"container-fd3c07fa69","layout":"SIMPLE",":type":"snowflake-site/components/nav/nav-column/nav-column-container",":items":{"nav_column_copy":{"navColumnTitle":"Connect","numberOfSubColumns":"one-column","minWidth":"124","id":"container-0d16b83a1b","layout":"SIMPLE",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-79ea01ce6d","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/blog/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Blog"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_180298689":{"id":"nav-item-7dc7708e25","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/events/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Events"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_1639361946":{"id":"nav-item-55c167c244","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/support/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Support"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_680912746":{"id":"nav-item-3c1c64ddcf","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/contact/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Contact us"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_180298689","nav_item_1639361946","nav_item_680912746"]},"nav_column_44600420__826130542":{"navColumnTitle":"Learn","numberOfSubColumns":"two-columns","id":"container-64396c19d8","layout":"SIMPLE",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item_copy":{"id":"nav-item-ab3e547c78","linkDescription":"Ebooks, videos, white papers and more","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/resources/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Resource Library"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy/icon.coreimg.svg/1736877128196/nav-icon--notebooks.svg","alt":"Notebooks icon","lazyEnabled":true,":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item":{"id":"nav-item-89714fb755","linkDescription":"Overview of Snowflake's educational offerings","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/resources/learn/training/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Training"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item/icon.coreimg.svg/1722385094416/nav-icon--training.svg","alt":"Training icon","lazyEnabled":true,":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_144634_1984107859":{"id":"nav-item-7b086a7e1d","linkDescription":"Expert-led discussions and demos across industries and use cases","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/webinars/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Webinars"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy_144634_1984107859/icon.coreimg.svg/1759424691990/nav-icon--webinars.svg","alt":"Webinars icon","lazyEnabled":true,":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1438098918":{"id":"nav-item-284468db1a","linkDescription":"Snowflake's technical industry professional certifications","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/resources/learn/certifications/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Certifications"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy_1438098918/icon.coreimg.svg/1722382780833/nav-icon--cert.svg","alt":"Certification icon","lazyEnabled":true,":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_143809":{"id":"nav-item-035cb3534e","linkDescription":"Weekly product demos showcasing key features and live Q&A ","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/webinars/demo/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Live Demos"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy_143809/icon.coreimg.svg/1759424359543/nav-icon--live-demo.svg","alt":"Live Demo icon","lazyEnabled":true,":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_333890638":{"id":"nav-item-a9a3987f92","linkDescription":"Training courses for all levels, on-demand or instructor-led","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"https://learn.snowflake.com/en/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Snowflake University"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy_333890638/icon.coreimg.svg/1722382769808/nav-icon--education.svg","alt":"Education icon","lazyEnabled":true,":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_189945":{"id":"nav-item-ac0f21b25e","linkDescription":"Instructor-led virtual workshops for exploring key Snowflake features","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/webinars/virtual-hands-on-lab/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Hands-On Labs"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy_189945/icon.coreimg.svg/1759388182903/nav-icon--labs.svg","alt":"Hands-on Labs icon","lazyEnabled":true,":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_333890":{"id":"nav-item-0314015e4d","linkDescription":"Academic papers written by Snowflake researchers","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/resources/publications/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Snowflake Research Publications"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy_333890/icon.coreimg.svg/1756326371387/copy.svg","alt":"Copy","lazyEnabled":true,":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_333890_930852828":{"id":"nav-item-32ab379d4c","linkDescription":"Informative articles about AI and data topics","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/fundamentals/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Fundamentals"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719961362824/nav_column_container/nav_column_44600420__826130542/nav_item_copy_333890_930852828/icon.coreimg.svg/1756853637155/data-sheet.svg","alt":"Document with list","lazyEnabled":true,":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item_copy","nav_item","nav_item_copy_144634_1984107859","nav_item_copy_1438098918","nav_item_copy_143809","nav_item_copy_333890638","nav_item_copy_189945","nav_item_copy_333890","nav_item_copy_333890_930852828"]}},":itemsOrder":["nav_column_copy","nav_column_44600420__826130542"]},"nav_promo_section":{"id":"nav-promo-section-744246ff15","experience_fragment_1":{"id":"experiencefragment-2e072d8d65","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/nav-promo-card/master1/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment",":items":{"root":{"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"nav_promo_card":"aem-GridColumn aem-GridColumn--default--12"},"id":"container-acc3d0c724","layout":"RESPONSIVE_GRID","columnCount":12,":type":"snowflake-site/components/container",":items":{"nav_promo_card":{"id":"nav-promo-card-1a00c8d09a","openInNewWindow":true,"layout":"horizontal","headline":"Dev Day Virtual - June 25","description":"Don’t just hear about AI — build it. Luminary talks and hands-on labs","linkTitle":"Learn more","linkUrl":"/en/dev-day/americas-virtual/","image":{"id":"image","src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--de231e36-6645-4550-abd9-0f8de758ac66/web-dev-day-26-960x540-1x.png?preferwebp=true&quality=85","alt":"dev day","lazyEnabled":true,"height":"540","width":"960",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-promo-card"}},":itemsOrder":["nav_promo_card"]},"cq:metadata":{":type":"nt:unstructured"}},":itemsOrder":["root","cq:metadata"],"classNames":"aem-xf"},"experience_fragment_2":{"id":"experiencefragment-3fb7b5b9a9","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/nav-promo-card/navigation-promo-card-2/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment",":items":{"root":{"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"nav_promo_card":"aem-GridColumn aem-GridColumn--default--12"},"id":"container-cf0a7a2c67","layout":"RESPONSIVE_GRID","columnCount":12,":type":"snowflake-site/components/container",":items":{"nav_promo_card":{"id":"nav-promo-card-5c861f4466","openInNewWindow":true,"layout":"horizontal","headline":"The ROI of Gen AI and Agents 2026","description":"Discover how 92% of early adopters are achieving positive ROI with gen AI.","linkTitle":"Learn More","linkUrl":"/en/lp/radical-roi-generative-ai/","image":{"id":"image","src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--0c15edae-1a97-4739-8b16-c7f3941a6d9e/web-roi-of-gen-ai-and-agents-2026-r02-960x540.png?preferwebp=true&quality=85","alt":"roi of gen ai and agents","lazyEnabled":true,"height":"540","width":"960",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-promo-card"}},":itemsOrder":["nav_promo_card"]},"cq:metadata":{":type":"nt:unstructured"}},":itemsOrder":["root","cq:metadata"],"classNames":"aem-xf"},"experience_fragment_3":{"id":"experiencefragment-a3b055fff8","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/nav-promo-card/navigation-promo-card-3/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment",":items":{"root":{"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"nav_promo_card":"aem-GridColumn aem-GridColumn--default--12"},"id":"container-d489f38301","layout":"RESPONSIVE_GRID","columnCount":12,":type":"snowflake-site/components/container",":items":{"nav_promo_card":{"id":"nav-promo-card-75fd4cb15d","openInNewWindow":true,"layout":"horizontal","headline":"Startup 2026: AI Agents Mean Business","description":"Venture leaders weigh in on agentic AI. ","linkTitle":"Learn more","linkUrl":"/en/lp/building-startup-ai-age/","image":{"id":"image","src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--a320b404-dca1-4477-b033-c79708538657/web-startup-2026-960x540.png?preferwebp=true&quality=85","alt":"alt","lazyEnabled":true,"height":"540","width":"960",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-promo-card"}},":itemsOrder":["nav_promo_card"]},"cq:metadata":{":type":"nt:unstructured"}},":itemsOrder":["root","cq:metadata"],"classNames":"aem-xf"},":type":"snowflake-site/components/nav/nav-promo-section"},":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"Resources"},"item_1719963657751":{"id":"nav-dropdown-menu-24c0cb2f65","enableDropdown":true,"nav_column_container":{"id":"container-304a3a624d","layout":"SIMPLE",":type":"snowflake-site/components/nav/nav-column/nav-column-container",":items":{"nav_column_copy_copy":{"navColumnTitle":"Build","numberOfSubColumns":"one-column","id":"container-030930875c","layout":"SIMPLE",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-dc390ccbcc","propertiesId":"testID","linkDescription":"Overview of the dev resources you need to build and scale","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/developers/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Snowflake for Developers"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy/nav_item/icon.coreimg.svg/1731362494574/nav-icon--devs.svg","alt":"Developers icon","lazyEnabled":true,":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1855651246":{"id":"nav-item-173655e46b","linkDescription":"Reference architectures, use cases and best practices","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/developers/guides/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Developer Guides"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy/nav_item_copy_1855651246/icon.coreimg.svg/1761677891705/nav-icon--solution-center.svg","alt":"Solution Center icon","lazyEnabled":true,":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-66282fc46f","additionalClasses":"is-light-gray-icon","linkDescription":"The latest software versions, drivers, libraries and relevant docs","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/developers/downloads/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Downloads"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy/nav_item_copy/icon.coreimg.svg/1731362660050/nav-icon-download.svg","alt":"Download icon","lazyEnabled":true,":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_copy_1855651246","nav_item_copy"]},"nav_column_copy_copy_1367930678":{"navColumnTitle":"Learn","numberOfSubColumns":"one-column","id":"container-cd62bb40dd","layout":"SIMPLE",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-880a361ca1","propertiesId":"testID","linkDescription":"Reference docs, guides, tutorials and announcements","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"https://docs.snowflake.com/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Documentation"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy_1367930678/nav_item/icon.coreimg.svg/1731361950527/nav-icon--docs.svg","alt":"Docs icon","lazyEnabled":true,":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy":{"id":"nav-item-b806de28ed","additionalClasses":"is-light-gray-icon","linkDescription":"Key projects Snowflake engineers maintain and support","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/developers/open-source/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Open Source"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy_1367930678/nav_item_copy/icon.coreimg.svg/1731365437016/nav-icon-open-source.svg","alt":"Open Source icon","lazyEnabled":true,":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_copy":{"id":"nav-item-96296b15ba","additionalClasses":"is-light-gray-icon","linkDescription":"Online and in-person classes and workshops to upskill on Snowflake","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/developers/northstar/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Builder Education"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy_1367930678/nav_item_copy_copy/icon.coreimg.svg/1731362475640/nav-icon--northstar.svg","alt":"Northstar logo","lazyEnabled":true,":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_copy","nav_item_copy_copy"]},"nav_column_copy_copy_1101894776":{"navColumnTitle":"Connect","numberOfSubColumns":"one-column","id":"container-53cf32d5b1","layout":"SIMPLE",":type":"snowflake-site/components/nav/nav-column",":items":{"nav_item":{"id":"nav-item-a824a4c886","propertiesId":"testID","linkDescription":"Snowflake’s technical leaders on what, why and how they build features","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/engineering-blog/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Engineering Blog"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy_1101894776/nav_item/icon.coreimg.svg/1757101368571/nav-icon--developer-center.svg","alt":"Developers icon","lazyEnabled":true,":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"},"nav_item_copy_1855651246":{"id":"nav-item-7a14a95490","linkDescription":"Tips, tricks and discussion with fellow Snowflake developers","button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"https://community.snowflake.com/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Community"},"icon":{"id":"icon","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/_jcr_content/root/mega_header/nav_mega/item_1719963657751/nav_column_container/nav_column_copy_copy_1101894776/nav_item_copy_1855651246/icon.coreimg.svg/1731362644348/nav-icon--partner-network.svg","alt":"Partner Network icon","lazyEnabled":true,":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-item"}},":itemsOrder":["nav_item","nav_item_copy_1855651246"]}},":itemsOrder":["nav_column_copy_copy","nav_column_copy_copy_1367930678","nav_column_copy_copy_1101894776"]},"nav_promo_section":{"id":"nav-promo-section-1b30554b53","experience_fragment_1":{"id":"experiencefragment-3c143f5a48","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/nav-promo-card/nav-promo-5/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment",":items":{"root":{"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"nav_promo_card":"aem-GridColumn aem-GridColumn--default--12"},"id":"container-940ca93ed2","layout":"RESPONSIVE_GRID","columnCount":12,":type":"snowflake-site/components/container",":items":{"nav_promo_card":{"id":"nav-promo-card-98a50f9a98","openInNewWindow":false,"layout":"horizontal","headline":"Get started with your first Snowflake Notebook","description":"Write and execute code, visualize results, and tell the story of your analysis all in one place.","linkTitle":"Learn More","linkUrl":"/en/developers/solutions-center/getting-started-with-your-first-snowflake-notebook-project/","image":{"id":"image","src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--dc7e334a-c38b-4283-b1de-fcf829952eef/nav-promo-first-notebook.jpg?preferwebp=true&quality=85","alt":"alt","lazyEnabled":true,"height":"210","width":"415",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-promo-card"}},":itemsOrder":["nav_promo_card"]},"cq:LiveSyncConfig":{"cq:isDeep":true,"cq:rolloutConfigs":[],"cq:master":"/content/experience-fragments/snowflake-site/language-masters/en/site/nav-promo-card/nav-promo-card-4",":type":"cq:LiveCopy"}},":itemsOrder":["root","cq:LiveSyncConfig"],"classNames":"aem-xf"},"experience_fragment_2":{"id":"experiencefragment-1bb79444b0","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/nav-promo-card/nav-promo-card-4/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment",":items":{"root":{"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"nav_promo_card":"aem-GridColumn aem-GridColumn--default--12"},"id":"container-bf149bd57c","layout":"RESPONSIVE_GRID","columnCount":12,":type":"snowflake-site/components/container",":items":{"nav_promo_card":{"id":"nav-promo-card-5e45a72341","openInNewWindow":true,"layout":"horizontal","headline":"Northstar Builder Workshops","description":"Join other developers as you roll up your sleeves and explore the possibilities of Snowflake.","linkTitle":"Learn More","linkUrl":"/en/nav-promos/northstar-builders-workshop/","image":{"id":"image","src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--14341ced-bc5e-4a29-9762-b7857f6cadfc/nav-promo-northstar.jpg?preferwebp=true&quality=85","alt":"Snowflake Northstar logo","lazyEnabled":true,"height":"700","width":"1440",":type":"snowflake-site/components/image"},":type":"snowflake-site/components/nav/nav-promo-card"}},":itemsOrder":["nav_promo_card"]},"cq:LiveSyncConfig":{"cq:isDeep":true,"cq:rolloutConfigs":[],"cq:master":"/content/experience-fragments/snowflake-site/language-masters/en/site/nav-promo-card/master",":type":"cq:LiveCopy"}},":itemsOrder":["root","cq:LiveSyncConfig"],"classNames":"aem-xf"},":type":"snowflake-site/components/nav/nav-promo-section"},":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"Developers"},"item_1718247180324":{"id":"nav-dropdown-menu-9ea5e62aef","enableDropdown":false,"link_url":"/en/pricing-options/",":type":"snowflake-site/components/nav/nav-dropdown-menu","cq:panelTitle":"Pricing"}},":itemsOrder":["item_1719963657751_c_663444255","nav_dropdown_menu_2","item_1719963657751_c","item_1719961362824","item_1719963657751","item_1718247180324"]},"languagenavigation":{"id":"language-navigation-6b95e2acb9","languageNavItems":[{"title":"English","path":"/en/developers/guides/well-architected-framework-cost-optimization-and-finops/","locale":"en","active":true},{"title":"日本語","path":"/ja/","locale":"ja","active":false},{"title":"한국어","path":"/ko/","locale":"ko","active":false},{"title":"中文（简体）","path":"/zh_cn/","locale":"zh-cn","active":false},{"title":"Português","path":"/pt_br/","locale":"pt-br","active":false},{"title":"Deutsch","path":"/de/","locale":"de","active":false},{"title":"Français","path":"/fr/","locale":"fr","active":false},{"title":"Español","path":"/es/","locale":"es","active":false},{"title":"Italiano","path":"/it/","locale":"it","active":false}],":type":"snowflake-site/components/nav/language-navigation"},"button_1177328691":{"id":"button-3fdb7b3d8c","heapButtonClasses":["mega-nav__sign-in"],"showOutboundIcon":false,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"https://app.snowflake.com/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","appliedCssClassNames":"snowflake-button-link snowflake-button-black snowflake-button-compact","text":"Sign in"},"button":{"id":"button-f263dbb9e3","heapButtonClasses":["contact_nav","heap-nav-contact"],"showOutboundIcon":true,"buttonLink":{"valid":true,"url":"/en/contact-sales/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","appliedCssClassNames":"snowflake-button-secondary snowflake-button-blue snowflake-button-compact","text":"CONTACT SALES"},"button_288358396":{"id":"button-ed367ab572","heapButtonClasses":["start_for_free_nav","heap-nav-start-for-free"],"showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://signup.snowflake.com/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","appliedCssClassNames":"snowflake-button-primary snowflake-button-blue snowflake-button-compact","text":"start for free"}},":itemsOrder":["nav_mega","languagenavigation","button_1177328691","button","button_288358396"]}},":itemsOrder":["markup_editor","mega_header"]},"image":{":type":"nt:unstructured"},"cq:targetMetadata":{"cq:targetStatus":"OUT_OF_SYNC","cq:exportTime":1781280015540,"cq:targetOfferId":860250,":type":"nt:unstructured"}},":itemsOrder":["root","image","cq:targetMetadata"],"classNames":"aem-xf"},"markup_editor_1950346551":{"id":"markup-editor-931168bd8d","title":" ","cssContent":".snowflake-markdown-table code[class*=language-],.snowflake-markdown-table code[class*=language-],.snowflake-markdown .snowflake-text code[class*=language-],.snowflake-markdown .snowflake-text pre[class*=language-]{background-color:rgba(var(--ui-12-rgb),.5);color:var(--text-01);text-shadow:none;padding:var(--spacing-00);border-radius:var(--spacing-00);font-size:smaller}","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"},"responsivegrid":{"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"quickstart_hero":"aem-GridColumn aem-GridColumn--default--12","flexible_column_cont":"aem-GridColumn aem-GridColumn--default--12","markup_editor":"aem-GridColumn aem-GridColumn--default--12"},"columnCount":12,":items":{"quickstart_hero":{"id":"quickstart-hero-bff5eead3a","isDeveloperGuidesPage":false,"quickstartHeroFirstCertifiedTag":{"tagText":"Well Architected Framework","tagColor":"#29B5E8","tagPath":"/content/cq:tags/snowflake-site/taxonomy/solution-center/certification/well-architected-framework","tagIcon":""},"quickstartHeroTitle":{"lines":["Cost Optimization"],"type":"heading2",":type":"snowflake-site/components/title-v2"},"quickstartHeroAuthor":"Well Architected Framework Team","quickstartHeroForkRepoLink":{"id":"button-ec58594c9d","showOutboundIcon":false,"buttonLink":{"valid":true,"attributes":{"target":"_blank"},"url":"https://github.com/Snowflake-Labs/sfquickstarts/tree/master/site/sfguides/src/well-architected-framework-cost-optimization-and-finops"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Fork Repo"},"quickstartHeroBreadcrumbs":[{"title":"Cost Optimization","url":"https://www.snowflake.com/content/snowflake-site/global/en/developers/guides/well-architected-framework-cost-optimization-and-finops","currentPage":true},{"title":"Guides","url":"https://www.snowflake.com/content/snowflake-site/global/en/developers/guides","currentPage":false},{"title":"Snowflake for Developers","url":"https://www.snowflake.com/content/snowflake-site/global/en/developers","currentPage":false}],"fragmentPath":"/content/dam/snowflake-site/en/content-fragments/quickstarts/well-architected-framework-cost-optimization-and-finops",":type":"snowflake-site/components/quickstart/quickstart-hero"},"flexible_column_cont":{"id":"flexible-column-container-cff45171b3","propertiesId":"quickstart-template-main-flexible-container","type":"2-column-75-25","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"none","bottomPadding":"none","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"backgroundImageOption":"none","flexible_column_content_container_1":{"id":"container-4e7bfe7ef1","layout":"SIMPLE",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"contentfragment":{"id":"contentfragment-2c60e9d6ef","paragraphs":["\u003Ch2\u003EOverview\u003C/h2\u003E\n","\u003Cp\u003EThe Cost Optimization Pillar focuses on integrating financial\naccountability and cost awareness throughout the cloud platform\nlifecycle. It involves establishing principles, gaining visibility into\nspending, implementing controls, and continuously optimizing resources\nto align cloud costs with business value. This pillar is essential for\nfinancial stakeholders, cloud architects, and engineering teams seeking\nto maximize return on investment in cloud infrastructure.\u003C/p\u003E\n","\u003Ch2\u003EPrinciples\u003C/h2\u003E\n","\u003Ch4\u003EBusiness impact: Align cost with business value\u003C/h4\u003E\n","\u003Cp\u003EConnect cloud spending directly to business outcomes, ensuring that every dollar spent in the cloud contributes meaningfully to strategic objectives and demonstrable value. Embed cost considerations directly into platform planning and architecture considerations.\u003C/p\u003E\n","\u003Ch4\u003EVisibility: Understand &amp; contextualize your consumption footprint\u003C/h4\u003E\n","\u003Cp\u003EYou can neither control nor optimize what you can't see. Gain deep and granular insight into all aspects of your cloud spending, fostering transparency, and attributing costs effectively.\u003C/p\u003E\n","\u003Ch4\u003EControl: Establish guardrails and governance\u003C/h4\u003E\n","\u003Cp\u003EEstablish policies and mechanisms to govern resource provisioning and consumption, preventing unnecessary costs and enforcing financial boundaries.\u003C/p\u003E\n","\u003Ch4\u003EOptimize: Maximize efficiency and value\u003C/h4\u003E\n","\u003Cp\u003EContinuously improve the efficiency of your resources and workloads to maximize the value derived from your platform investment.\u003C/p\u003E\n","\u003Ch2\u003ERecommendations\u003C/h2\u003E\n","\u003Cp\u003EThe following key recommendations are covered within each principle of\nCost Optimization:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EBusiness Impact\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EConsider cost as a design constraint:\u003C/strong\u003E Integrate cost\nconsiderations into the architecture and design process from the\nvery beginning, making it a key non-functional requirement alongside\nperformance, security, and reliability.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EQuantify value:\u003C/strong\u003E Develop metrics to quantify the business value\ndelivered by cloud resources (e.g., revenue per Snowflake Credit,\ncost per customer, efficiency gains).\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ETrade-off analysis:\u003C/strong\u003E Understand the inherent trade-offs between\ncost, performance, reliability, and security, and make informed\ndecisions that align with business priorities.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EMeasure business value KPIs baseline:\u003C/strong\u003E Once metrics to quantify\nbusiness value are identified and trade-offs between cost,\nperformance, and reliability are established, you need to document a\n&ldquo;baseline measurement&rdquo; in order to track progress again.\nFurthermore, you should establish a regular cadence for refreshing\nthis measurement to ensure value realization is in line with\nexpectations and business goals.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EVisibility\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EUnderstand Snowflake&rsquo;s resource billing models:\u003C/strong\u003E Review\nSnowflake&rsquo;s billing models to align technical and non-technical\nresources on financial drivers and consumption terminology.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EEstablish a consistent and granular cost attribution strategy:\u003C/strong\u003E\nImplement robust and organizationally consistent tagging and\nlabeling strategies across all resources (storage objects,\nwarehouses, accounts, queries) to accurately allocate costs to\nspecific teams, products, or initiatives.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EEmbed cost accountability into your organization's DNA:\u003C/strong\u003E\nImplement a feedback system to transparently show or charge back\ncloud costs to relevant business units or teams, increasing\naccountability.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EDeliver clear, historical consumption insights:\u003C/strong\u003E Utilize\nconsistent in-tool visualizations or custom dashboards to monitor\nconsumption and contextualize spend on the platform with unit\neconomics.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EInvestigate anomalous consumption activity:\u003C/strong\u003E Review anomaly\ndetection to identify unforeseen cost anomalies and investigate\ncause and effect trends.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EControl\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EProactively monitor all platform usage:\u003C/strong\u003E Define and enforce\nbudgets for projects and services, setting soft quotas to limit\nresource consumption and prevent runaway spending.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EForecast consumption based on business needs:\u003C/strong\u003E Establish a\nforecast process to project future spend needs based on business and\ntechnical needs.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EEnforce cost guardrails for organizational resources:\u003C/strong\u003E Set up\nautomated checks (e.g., Tasks, query insights) and resource\nguardrails (e.g., warehouse timeout, storage policies, resource\nmonitors) to identify unusual usage patterns and potential\noverspending as they occur.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EGovern resource creation and administration:\u003C/strong\u003E Establish clear\nguidelines and automated processes for provisioning and maintaining\nresources, ensuring that only necessary and appropriately sized\nresources are deployed (e.g., warehouse timeout, storage policies,\nresource monitors).\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EOptimize\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECompute workload-aligned provisioning:\u003C/strong\u003E Continuously monitor\nresource health metrics to resize and reconfigure to match actual\nworkload requirements.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ELeverage managed services:\u003C/strong\u003E Prioritize fully managed Snowflake\nservices (e.g., Snowpipe, Auto-clustering, \u003Ca href=\"https://docs.snowflake.com/en/user-guide/query-acceleration-service\"\u003E&lt;u&gt;Query Acceleration\nService&lt;/u&gt;\u003C/a\u003E)\nto offload operational overhead and often achieve better cost\nefficiency.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EData storage types &amp; lifecycle management:\u003C/strong\u003E Utilize appropriate\nstorage types and implement appropriate storage configuration to\nright-size workloads to your storage footprint. Move data to cheaper\ntiers or delete it when no longer needed.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EWorkload &amp; architectural optimization:\u003C/strong\u003E Leverage architectural\ndecisions for cost-optimized resource utilization while meeting\nbusiness needs.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ELimit data transfer:\u003C/strong\u003E Move, secure, and back up the appropriate\nfootprint across cloud regions.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EImprove continually:\u003C/strong\u003E As new capabilities or usage patterns\nemerge, establish a consistent testing framework to identify areas\nfor cost efficiency.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch2\u003EBusiness Impact\u003C/h2\u003E\n","\u003Ch4\u003EOverview\u003C/h4\u003E\n","\u003Cp\u003ETo maximize organizational outcomes, Snowflake consumption must be\nexplicitly tied to business value. While cost optimization ensures\nefficiency, it does not guarantee that spend is aligned with outcomes\nthat matter to stakeholders. Alignment of business value to cost ensures\nworkloads, pipelines, dashboards, and advanced analytics are\ncontinuously evaluated not only for cost but also for the value they\ndeliver. This approach ensures Snowflake delivers as a strategic\nbusiness platform rather than a technical expense.\u003C/p\u003E\n","\u003Ch4\u003ERecommendations\u003C/h4\u003E\n","\u003Cp\u003EBusiness value to cost alignment represents a maturity step in FinOps on\nSnowflake. By embedding benchmarking, impact analysis, SLA definition,\nusage metrics, ROI measures, and business impact evaluation into daily\noperations, organizations can ensure that Snowflake consumption is\ncontinuously justified, optimized, and communicated in business terms.\nThis elevates the conversation with leadership from cost oversight to\nvalue realization and ensures that Snowflake is understood as a platform\nfor growth, innovation, and competitive advantage.\u003C/p\u003E\n","\u003Ch4\u003E\u003C/h4\u003E\n","\u003Ch4\u003EConsider cost as a design constraint\u003C/h4\u003E\n","\u003Cp\u003ECost-Aware Architecting is the practice of embedding financial\naccountability directly into the design and development of Snowflake\nworkloads. By shifting left&mdash;introducing cost considerations early in the\narchitecture lifecycle&mdash;organizations ensure that ingestion,\ntransformation, analytics, and distribution workloads are not only\nperformant but also aligned with budget expectations. Many cost overruns\nin Snowflake originate from architectural decisions made without cost\nimplications in mind.\u003C/p\u003E\n","\u003Cp\u003EFor example, designing ingestion with sub-second latency when daily\nfreshness is sufficient, or selecting inefficient table designs that\nincrease query scanning. These can lead to disproportionate spend.\nShifting cost awareness into architecture helps prevent inefficiencies\nbefore they occur and reinforces Snowflake&rsquo;s role as a cost-effective\nenabler of business value.\u003C/p\u003E\n","\u003Cp\u003EAt the ingestion layer, best practices include balancing latency versus\ncost by selecting appropriate services (e.g., Snowpipe, Snowpipe\nStreaming, or third-party tools) and choosing the right storage format\n(e.g., native tables, Iceberg). For transformations, design with\nfrequency versus SLA in mind to ensure data freshness matches the\nbusiness need. For analytics, apply schema design best practices such as\nthoughtful clustering key choices and pruning strategies to reduce\nconsumed credits. In distribution, optimize data transfer by monitoring\negress patterns and applying cost-saving practices like the\n\u003Ca href=\"https://docs.snowflake.com/en/collaboration/provider-listings-auto-fulfillment-eco\"\u003E&lt;u&gt;Snowflake Data Transfer\nOptimizer&lt;/u&gt;\u003C/a\u003E.\u003C/p\u003E\n","\u003Ch4\u003EQuantify value\u003C/h4\u003E\n","\u003Cp\u003ETo maximize organizational outcomes, Snowflake consumption must be\nexplicitly tied to measurable business value and clearly communicated in\nterms that resonate with stakeholders. Establishing baselines using\nSnowflake&rsquo;s \u003Ca href=\"https://docs.snowflake.com/en/sql-reference/account-usage\"\u003E&lt;u&gt;Account Usage\nviews&lt;/u&gt;\u003C/a\u003E\ncreates a reference point, while tracking the current state highlights\ntrends in performance and consumption. Defining explicit goal\nstates&mdash;such as reduced cost per decision, improved time-to-market, or\nbroader data access&mdash;ties workloads directly to outcomes that matter to\nstakeholders. Outliers that diverge from these goals should be flagged\nfor review and optimization to prevent wasted resources. Best practices\ninclude applying unit economic measures related to your field (e.g. cost\nper terabyte analyzed or cost per fraud case prevented) and publishing\nROI dashboards that continuously link Snowflake consumption to business\noutcomes. By incorporating measurement into daily operations,\norganizations can move the conversation with leadership from cost\noversight to demonstrable value realization, positioning Snowflake as a\nclear enabler of enterprise growth and innovation.\u003C/p\u003E\n","\u003Ch4\u003ETrade-off analysis\u003C/h4\u003E\n","\u003Cp\u003EDefining SLAs or explicit business needs ensures that Snowflake\nworkloads are aligned with their intended purpose and that consumption\nlevels are justified by business outcomes. Some Snowflake workloads can\nbecome over-engineered or maintained without clear justification. Tying\neach workload to an SLA or business requirement prevents waste and\nensures that investment aligns with value. Before implementation, it is\ncrucial to document and align on the value of meeting an SLA,\nidentifying all stakeholders who rely on the workload. This includes\ndifferentiating between tangible outcomes, such as increased revenue,\nand intangible outcomes, such as compliance or data trust. Efficient\ncustomers use both \u003Ca href=\"https://docs.snowflake.com/en/user-guide/resource-monitors\"\u003E&lt;u&gt;Snowflake Resource\nMonitors&lt;/u&gt;\u003C/a\u003E\nand Budgets features to enforce guardrails that ensure workloads remain\nwithin acceptable cost-performance boundaries. All design decisions have\ntrade-offs, and explicitly calling out the expected outcomes leads to\nstreamlined decision-making in the future when outcomes are reviewed.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/well-architected-framework-cost-optimization-and-finops/image1.png?v=a498d772\" alt=\"Trade-off Analysis\"\u003E\u003C/p\u003E\n","\u003Ch4\u003EMeasure business value KPIs baseline\u003C/h4\u003E\n","\u003Cp\u003EBenchmarking establishes performance and cost baselines for Snowflake\nworkloads and compares them against internal standards as well as\nperformance and cost results from previous tech solutions. These\nbenchmarks can measure workload efficiency, the adoption of specific\nSnowflake features, and the alignment of workload costs to business\noutcomes. Without benchmarks, organizations lack the context to\ndetermine if their Snowflake consumption is delivering economies of\nscale or value back to the business. Benchmarking allows teams to\nidentify best practices, track improvements over time, and highlight\noutliers that may be driving unnecessary spend or delivering unexpected\nvalue.\u003C/p\u003E\n","\u003Cp\u003EBest practices include measuring technical unit economic metrics (e.g.\ncredits per 1K queries, credits per 1 TB scanned), warehouse efficiency\nand utilization by workload type, and business unit economics (e.g.\ncredits per customer acquired, credits per partner onboarded, or credits\nper data product-specific KPIs). This provides a more comprehensive\npicture of consumption in relation to cost and value. Outliers should be\nhighlighted in executive communications as either success stories or\ncautionary examples. Benchmarking should be embedded in a continuous\nimprovement loop, where insights drive action, action improves\nefficiency, and those improvements are effectively measured.\u003C/p\u003E\n","\u003Ch2\u003EVisibility\u003C/h2\u003E\n","\u003Ch4\u003EOverview\u003C/h4\u003E\n","\u003Cp\u003EThe Snowflake Visibility principle is designed to transform opaque cloud\nspending into actionable insights, fostering financial accountability\nand maximizing business value within your Snowflake environment. It is\nfoundational to the FinOps framework, as you cannot control, optimize,\nor attribute business value to what you cannot see. To effectively\nmanage and optimize cloud costs in Snowflake, it's crucial to align\norganizationally to an accountability structure of spend, gain deep and\ngranular insight into all aspects of your cloud spending, and\ntransparently display it to the appropriate stakeholders to take action.\u003C/p\u003E\n","\u003Ch4\u003ERecommendations\u003C/h4\u003E\n","\u003Cp\u003EImplementing a robust FinOps visibility framework in Snowflake,\nsupported by cross-functional collaboration, enables each business\nfunction to access timely and relevant usage and cost data. This\nempowers them to understand the business impact of their consumption and\ntake prompt action when anomalies arise. To meet this vision, consider\nthe following recommendations based on industry best practices and\nSnowflake's capabilities:\u003C/p\u003E\n","\u003Ch4\u003EUnderstand Snowflake&rsquo;s resource billing models\u003C/h4\u003E\n","\u003Cp\u003EIt is essential to review Snowflake's billing models to align technical\nand non-technical resources on financial drivers and consumption\nterminology. Snowflake's elastic, credit-based consumption model charges\nseparately for compute (Virtual Warehouses, Compute Pools, etc),\nstorage, data transfer, and various serverless features (e.g., Snowpipe,\nAutomatic Clustering, Search Optimization, Replication/Failover, AI\nServices). Understanding the interplay of these billing types ensures\nyou can attribute costs associated with each category&rsquo;s unique usage\nparameters. High-level categories are below.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECompute (Virtual Warehouses, Snowpark Container Services,\nOpenflow):\u003C/strong\u003E This is often the most dynamic and largest portion of\nSnowflake spend. Virtual Warehouses are billed per-second after an\ninitial 60-second minimum when active, with credit consumption\ndirectly proportional to warehouse size (e.g., an &ldquo;X-Small&rdquo; Gen1\nwarehouse consumes one credit per hour, a 'Small' consumes two credits\nper hour, doubling with each size increase) while SPCS (via\n\u003Ca href=\"https://docs.snowflake.com/en/developer-guide/snowpark-container-services/accounts-orgs-usage-views#compute-pool-cost\"\u003E&lt;u&gt;compute\npools&lt;/u&gt;\u003C/a\u003E)\nare billed for all uptime with a minimum of five minutes.\n\u003Ca href=\"https://docs.snowflake.com/en/user-guide/data-integration/openflow/cost\"\u003E&lt;u&gt;Openflow&lt;/u&gt;\u003C/a\u003E\nis billed per second of runtime with a &lt;span class=&quot;mark&quot;&gt;60-second\nminimum.&lt;/span&gt;\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EStorage:\u003C/strong\u003E Costs are based on the average monthly compressed data\nvolume stored, including active data, Time Travel (data retention),\nand Fail-safe (disaster recovery) data. The price per terabyte (TB)\nvaries by cloud provider and region.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EServerless features:\u003C/strong\u003E Snowflake Serverless features use resources\nmanaged by Snowflake, not the user, which automatically scale to meet\nthe needs of a workload. This allows Snowflake to pass on efficiencies\nand reduce platform administration while providing increased\nperformance to customers. The cost varies by feature and is outlined\nin \u003Ca href=\"/legal-files/CreditConsumptionTable.pdf\"\u003E&lt;u&gt;Snowflake&rsquo;s Credit Consumption\nDocument&lt;/u&gt;\u003C/a\u003E.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECloud services layer:\u003C/strong\u003E This encompasses essential background\nservices, including query compilation, metadata management,\ninformation schema access, access controls, and authentication. Usage\nfor cloud services is only charged if the daily consumption of cloud\nservices exceeds 10% of the daily usage of virtual warehouses.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EAI features:\u003C/strong\u003E Snowflake additionally offers artificial intelligence\nfeatures that run on Snowflake-managed compute resources, including\nCortex AISQL functions (e.g. COMPLETE, CLASSIFY, etc.), Cortex\nAnalyst, Cortex Search, Fine Tuning, and Document AI. The usage of\nthese features, often with tokens, are converted to credits to unify\nwith the rest of Snowflake&rsquo;s billing model. Details are listed in the\nCredit Consumption Document.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EData transfer:\u003C/strong\u003E Data transfer is the process of moving data into\n(ingress) and out of (egress) Snowflake. This generally happens via\negress on cross-region \u003Ca href=\"https://docs.snowflake.com/en/user-guide/account-replication-cost#viewing-actual-costs\"\u003E&lt;u&gt;data\nreplication&lt;/u&gt;\u003C/a\u003E,\n\u003Ca href=\"https://docs.snowflake.com/user-guide/cost-understanding-data-transfer#snowflake-features-that-incur-transfer-costs\"\u003E&lt;u&gt;copying into/out of stage, function\ncalls&lt;/u&gt;\u003C/a\u003E,\nand cross/same region \u003Ca href=\"https://docs.snowflake.com/en/developer-guide/snowpark-container-services/accounts-orgs-usage-views#data-transfer-cost\"\u003E&lt;u&gt;SPCS data\ntransfer&lt;/u&gt;\u003C/a\u003E.\nDepending on the cloud provider and the region used during data\ntransfer, charges vary.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EData sharing &amp; rebates:\u003C/strong\u003E Snowflake offers an opt-out Data\nCollaboration rebate program that allows customers to offset credits\nby data consumed with shared outside organizations. This rebate is\nproportional to the consumption of your shared data by consumer\nSnowflake accounts. See the latest terms and more details\n\u003Ca href=\"/en/legal/\"\u003E&lt;u&gt;here&lt;/u&gt;\u003C/a\u003E.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch4\u003EEstablish a consistent and granular cost attribution strategy\u003C/h4\u003E\n","\u003Cp\u003EImplementing robust and organizationally consistent tagging and labeling\nstrategies across all resources (e.g. storage objects, warehouses,\naccounts, queries) is crucial to accurately allocate costs to specific\nteams, products, or initiatives and linking actions to outcomes.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003ETagging in Snowflake\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003ETagging can be done at several levels:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ESnowflake object tagging:\u003C/strong\u003E Snowflake allows you to apply\n\u003Ca href=\"https://docs.snowflake.com/en/user-guide/object-tagging/introduction#supported-objects\"\u003E&lt;u&gt;object-level\ntags&lt;/u&gt;\u003C/a\u003E\n(key-value pairs) to accounts, warehouses, databases, schemas, users,\ntables, and more. These tags are fundamental for apportioning costs\nacross departments, environments (dev, test, prod), projects, or lines\nof business. Tags can also support\n\u003Ca href=\"https://docs.snowflake.com/en/user-guide/object-tagging/inheritance\"\u003E&lt;u&gt;inheritance&lt;/u&gt;\u003C/a\u003E\nand\n\u003Ca href=\"https://docs.snowflake.com/en/user-guide/object-tagging/propagation\"\u003E&lt;u&gt;propagation&lt;/u&gt;\u003C/a\u003E,\nsimplifying tagging across dependent objects. For example, instead of\ntagging each individual table underneath a schema, tagging the schema\nwill cause all tables to inherit the tag of the schema. This\nsignificantly reduces the manual effort required for tagging and\nensures that new objects created within a tagged schema or propagated\nworkflow automatically inherit the correct cost attribution. Snowflake\nstrongly recommends tags for warehouses, databases, tables, and users\nto enable granular cost breakdowns. You can use the\n\u003Ca href=\"https://docs.snowflake.com/sql-reference/account-usage/tag_references\"\u003E&lt;u&gt;TAG_REFERENCES&lt;/u&gt;\n&lt;u&gt;view&lt;/u&gt;\u003C/a\u003E\nin SNOWFLAKE.ACCOUNT_USAGE to combine with common usage views like\nWAREHOUSE_METERING_HISTORY and TABLE_STORAGE_METRICS to allocate usage\nto relevant business groups. Object Tags are best utilized when\nSnowflake objects are not shared across cost owners.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EQuery tags for granular workload attribution:\u003C/strong\u003E \u003Ca href=\"https://docs.snowflake.com/en/user-guide/cost-attributing#resources-used-by-applications-that-need-to-attribute-costs-to-different-departments\"\u003E&lt;u&gt;Query\ntags&lt;/u&gt;\u003C/a\u003E\ncan be set via session parameters (e.g., ALTER SESSION SET QUERY_TAG =\n'your_tag';) or directly within SQL clients or ETL tools. This\nassociates individual queries with specific departments, projects, or\napplications, even when using shared warehouses. This is extremely\nvaluable for shared warehouses where multiple teams or applications\nuse the same compute resource, allowing for granular showback. It is\nalso easy to programmatically make changes to query tags within\nscripts or processes to allocate costs appropriately. Query tags can\nbe found in the QUERY_HISTORY view of the SNOWFLAKE.ACCOUNT_USAGE\nschema.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cstrong\u003ETagging models\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EIn the initial setup of a business unit or use case, it is important to\nconsider the \u003Ca href=\"https://docs.snowflake.com/en/user-guide/cost-attributing#types-of-cost-attribution-scenarios\"\u003E&lt;u&gt;model for\ntagging&lt;/u&gt;\u003C/a\u003E\ncosts within the platform via shared or dedicated resources. These fall\ninto three large buckets:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EResources used exclusively by a single cost center or department:\u003C/strong\u003E\nAn example of this is using object tags to associate warehouses with a\ndepartment. You can use object tags to attribute the costs incurred by\nthose warehouses to that department entirely.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EResources shared by users from multiple departments:\u003C/strong\u003E An example of\nthis is a warehouse shared by users from different departments. In\nthis case, you use object tags to associate each user with a\ndepartment. The costs of queries are attributed to the users. Using\nthe object tags assigned to users, you can break down the costs by\ndepartment.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EApplications or workflows shared by users from different\ndepartments:\u003C/strong\u003E An example of this is an application that issues\nqueries on behalf of its users. In this case, each query executed by\nthe application is \u003Ca href=\"https://docs.snowflake.com/en/sql-reference/sql/alter-session\"\u003E&lt;u&gt;assigned a query\ntag&lt;/u&gt;\u003C/a\u003E\nthat identifies the team or cost center of the user for whom the query\nis being made.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/well-architected-framework-cost-optimization-and-finops/image4.png?v=a498d772\" alt=\"Tagging Models\"\u003E\u003C/p\u003E\n","\u003Cp\u003EEach model has its pros and cons, including how to handle concepts such\nas idle time or whether to show/charge back attributed or billed\ncredits. Review each model before deploying resources. If an\norganization is caught between models, a common approach is to start in\na shared resource environment and graduate to dedicated resources as the\nworkload increases.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003ETag enforcement\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EClear and consistent naming conventions for accounts, warehouses,\ndatabases, schemas, and tables facilitate immediate cost understanding.\nEnforcing robust tagging policies (e.g., requiring specific tags for new\nresource creation and using automated scripts to identify untagged\nresources) is crucial for accurate data interpretation and effective\ncost management. Without tag enforcement, it is difficult to accurately\nallocate all costs and can require manual effort, like extensive\ntag-mapping tables. Tag values are enforced within an account, but if a\nmulti-account strategy is needed for your organization, a tag\n\u003Ca href=\"https://docs.snowflake.com/en/user-guide/cost-attributing#replicating-the-tag-database\"\u003E&lt;u&gt;database can be\nreplicated&lt;/u&gt;\u003C/a\u003E\nand leveraged across all accounts to ensure consistent values are used.\nFor best-in-class visibility, it is recommended to have a tagging\nstrategy and tag all resources in an organization to allocate costs to\nrelevant owners.\u003C/p\u003E\n","\u003Ch4\u003EEmbed cost accountability into your organization's DNA\u003C/h4\u003E\n","\u003Cp\u003ETo effectively manage Snowflake spend and align business structure to\ntechnical resources, you should implement a system of showback or\nchargeback. This approach is crucial for promoting accountability and\noptimizing resource usage as there is a single owner for each object\nwithin the platform.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EShowback\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EIf cost accountability models have not been implemented previously,\nconsider a showback model. This involves transparently reporting\nSnowflake costs to different departments or projects to raise awareness\nof their costs. By showing each team their monthly consumption (broken\ndown by warehouse usage, query costs, and storage, etc.), it encourages\na cost-conscious culture. This initial step helps teams understand the\nfinancial impact of their actions without the immediate pressure of\nbudget cuts. Tools like Snowflake's built-in \u003Ca href=\"https://docs.snowflake.com/en/user-guide/cost-exploring-overall#overview-of-account-level-costs\"\u003E&lt;u&gt;Cost Management\nUI&lt;/u&gt;\u003C/a\u003E\n&amp; \u003Ca href=\"https://docs.snowflake.com/en/user-guide/budgets\"\u003E&lt;u&gt;budget&lt;/u&gt;\u003C/a\u003E\nviews, third-party cost management platforms, or custom dashboards can\nbe used to provide these reports.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EChargeback\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EFor more financially mature organizations, a chargeback model can be\nvery effective for managing costs. This system directly bills\ndepartments for their Snowflake usage. This creates a powerful financial\nincentive for teams to optimize their workloads. To make this transition\nsmooth and fair, you need to define clear rules for cost allocation. By\nimplementing chargeback, you turn each department into a financial\nstakeholder, encouraging them to right-size their warehouses, suspend\nthem during idle periods, and write more efficient queries. This shift\nin accountability leads to a more disciplined and cost-effective use of\nyour Snowflake environment.\u003C/p\u003E\n","\u003Cp\u003EIn either case, having a centralized dashboard or visual for all\norganizations to review intra-period is critical for financial\naccountability and next-step actions.\u003C/p\u003E\n","\u003Ch4\u003EDeliver clear historical consumption insights\u003C/h4\u003E\n","\u003Cp\u003EThe most mature FinOps customers are those who programmatically and\nstrategically drive consumption insights across the business. This\ninvolves three core elements:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EPlatform cost tracking:\u003C/strong\u003E Pinpoint specific Snowflake credit\nconsumption (compute, storage, serverless, AI, and data transfer),\nusage patterns, and efficiency opportunities to deconstruct credit\nusage, understand drivers, identify anomalies, and (eventually) drive\nforecasting operations.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ENormalization of consumption:\u003C/strong\u003E Once consumption has been attributed\nand aggregated to meaningful levels, normalizing it against relevant\nbusiness and technical metrics contextualizes it in relation to\norganizational goals. It allows for the natural growth and seasonality\nof platform usage to be put into context with business and technical\ndemand drivers.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EClear reporting:\u003C/strong\u003E Presenting Snowflake cost data in an\nunderstandable format for various stakeholders is vital. This enables\nbudgeting, forecasting, KPIs, and business value metrics directly tied\nto Snowflake credit consumption.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cstrong\u003ETrack usage data for all platform resources\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003ETo deliver clear and actionable consumption insights, it is essential to\nleverage the rich usage data that Snowflake natively provides. The\nfoundation for all cost visibility is the \u003Cstrong\u003ESNOWFLAKE\u003C/strong\u003E database, which\ncontains two key schemas for this purpose:\n\u003Ca href=\"https://docs.snowflake.com/en/sql-reference/account-usage\"\u003E&lt;u&gt;ACCOUNT_USAGE&lt;/u&gt;\u003C/a\u003E\n(for granular, account-level data) and\n\u003Ca href=\"https://docs.snowflake.com/en/sql-reference/organization-usage\"\u003E&lt;u&gt;ORGANIZATION_USAGE&lt;/u&gt;\u003C/a\u003E\n(for a consolidated view across all accounts).\u003C/p\u003E\n\u003Ctable\u003E\u003Cthead\u003E\u003Ctr\u003E\u003Cth colspan=\"1\" rowspan=\"1\"\u003EMetric Category\u003C/th\u003E\u003Cth colspan=\"1\" rowspan=\"1\"\u003EDescription\u003C/th\u003E\u003Cth colspan=\"1\" rowspan=\"1\"\u003EKey Metrics\u003C/th\u003E\u003Cth colspan=\"1\" rowspan=\"1\"\u003EPrimary Data Sources\u003C/th\u003E\u003C/tr\u003E\u003C/thead\u003E\u003Ctbody\u003E\u003Ctr\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003ECompute &amp; query metrics\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EUnderstand the cost of query execution, warehouse consumption, and overall compute health. These are often the most dynamic and largest portion of your spend.\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E- Credits used: total credits by warehouse&lt;br&gt;- Query performance: execution time, bytes scanned, compilation time, parameterized query hash&lt;br&gt;- Warehouse health: % idle time, queueing, spilling, concurrency\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E- \u003Ccode\u003EACCOUNT_USAGE.WAREHOUSE_METERING_HISTORY\u003C/code\u003E (hourly warehouse credit usage)&lt;br&gt;- \u003Ccode\u003EACCOUNT_USAGE.QUERY_HISTORY\u003C/code\u003E (detailed query metrics and associated warehouses)\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EStorage metrics\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003ECosts for compressed data, including active data, Time Travel, and Fail‑safe.\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E- Storage volume (avg monthly compressed GB/TB)&lt;br&gt;- Inactive storage (Time Travel, Fail‑safe)&lt;br&gt;- Storage growth rates&lt;br&gt;- Table access (stale/unused)\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E- \u003Ccode\u003EACCOUNT_USAGE.TABLE_STORAGE_METRICS\u003C/code\u003E&lt;br&gt;- \u003Ccode\u003EACCOUNT_USAGE.DATABASE_STORAGE_USAGE_HISTORY\u003C/code\u003E&lt;br&gt;- \u003Ccode\u003EACCOUNT_USAGE.ACCESS_HISTORY\u003C/code\u003E\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EServerless &amp; AI metrics\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003ETrack credit consumption by Snowflake‑managed services and AI features.\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E- Credits used by service&lt;br&gt;- Cost per credit‑consuming events\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E- \u003Ccode\u003EACCOUNT_USAGE.&lt;Serverless Feature&gt;_HISTORY\u003C/code\u003E&lt;br&gt;- \u003Ccode\u003EORGANIZATION_USAGE.METERING_DAILY_HISTORY\u003C/code\u003E&lt;br&gt;- AI views such as \u003Ccode\u003ECORTEX_FUNCTIONS_USAGE_HISTORY\u003C/code\u003E, \u003Ccode\u003ECORTEX_ANALYST_USAGE_HISTORY\u003C/code\u003E, \u003Ccode\u003EDOCUMENT_AI_USAGE_HISTORY\u003C/code\u003E\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EData transfer\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003ECost of moving data into (ingress) and out of (egress) Snowflake, especially cross‑region/cloud.\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E- Bytes transferred&lt;br&gt;- Transfer cost by destination&lt;br&gt;- Replication vs. egress\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E- \u003Ccode\u003EACCOUNT_USAGE.DATA_TRANSFER_HISTORY\u003C/code\u003E&lt;br&gt;- \u003Ccode\u003EORGANIZATION_USAGE.DATA_TRANSFER_DAILY_HISTORY\u003C/code\u003E\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003EFinancial metrics\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003ETranslate credits to currency and provide org‑wide spend view.\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E- Overall dollar spend (daily)&lt;br&gt;- Spend by service type\u003C/td\u003E\u003Ctd colspan=\"1\" rowspan=\"1\"\u003E- \u003Ccode\u003EORGANIZATION_USAGE.USAGE_IN_CURRENCY_DAILY\u003C/code\u003E&lt;br&gt;- \u003Ccode\u003EORGANIZATION_USAGE.RATE_SHEET_DAILY\u003C/code\u003E\u003C/td\u003E\u003C/tr\u003E\u003C/tbody\u003E\u003C/table\u003E\n","\u003Cp\u003E\u003Cstrong\u003ENormalize consumption with unit economic metrics\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EFor organizations to achieve comprehensive financial visibility, it is\nrecommended best practice to move beyond tracking aggregate spend and\nimplement Unit Economics Metrics. Unit economics provides a powerful\nmethodology for normalizing cloud consumption by tying platform costs to\nspecific business or operational drivers. This per-unit approach helps\nyou understand cost efficiency, measure the ROI of your initiatives, and\nmake data-driven decisions about resource allocation and optimization.\nBy translating abstract credit consumption into tangible metrics, you\ncan empower technical and business teams with a shared language for\ndiscussing value and cost. These metrics are commonly tracked across\ntime to show changes in efficiency or business impact.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EEfficiency metrics (technical KPIs)\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EEfficiency Metrics are technical Key Performance Indicators (KPIs) that\nconnect cloud costs directly to platform operations and workloads. They\nare crucial for engineering teams and platform owners to identify\ninefficiencies, optimize resource usage, and understand the cost drivers\nof the data platform itself. These metrics provide the granular,\noperational view needed to manage the platform's performance day-to-day.\nSome common examples include:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECost per 1000 executable queries:\u003C/strong\u003E Determines the average cost for\na batch of one thousand queries. This metric is useful for\nunderstanding the overall cost profile of analytical activity on the\nplatform and, when trended, how efficiency has changed across time.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECost per TB scanned:\u003C/strong\u003E Represents the average scanning cost of data.\nThis metric can help understand the cost implications of table\nconfiguration (data ordering/clustering keys, Search Optimization) and\nquery efficiency.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECost per user:\u003C/strong\u003E Measures the average cost to support each active\nuser on the platform. This helps in understanding the cost\nimplications of user growth and identifying expensive usage patterns.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/well-architected-framework-cost-optimization-and-finops/image3.png?v=a498d772\" alt=\"Efficiency Metrics\"\u003E\u003C/p\u003E\n\u003Cblockquote\u003E\n","\u003Cp\u003ECustomers can track credits (warehouse) per thousand queries within a\nuse case to see how efficiency has evolved over time and determine if\nthey are achieving economies of scale.\u003C/p\u003E\n\u003C/blockquote\u003E\n","\u003Cp\u003E\u003Cstrong\u003EBusiness metrics (business KPIs)\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EBusiness Metrics link cloud spending to meaningful business outcomes and\nvalue drivers. These KPIs are essential for executives, finance teams,\nand product managers to understand the return on investment (ROI) of\ncloud expenditure and to allocate costs accurately across different\nparts of the organization. They answer the critical question: &quot;What\nbusiness value are we getting for our cloud spend?&quot; Examples include:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECost per customer:\u003C/strong\u003E Attributes a portion of the total platform cost\nto each of the company's end customers. This is a powerful metric for\nunderstanding profitability and cost-to-serve at a customer level.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECost per project:\u003C/strong\u003E Allocates cloud costs to specific internal\nprojects, products, or initiatives. This enables accurate\nproject-based accounting and helps assess the financial viability of\nnew features or services.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003E&quot;Bring Your Own Metric&quot;:\u003C/strong\u003E Custom define unit economic metrics that\nare unique to your organization's business model. Examples could\ninclude Cost per Transaction, Cost per Shipment, or Cost per Ad\nImpression. Creating these tailored metrics ensures the most accurate\nalignment between cloud spend and core business value.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/well-architected-framework-cost-optimization-and-finops/image5.png?v=a498d772\" alt=\"Business Metrics\"\u003E\nIf Snowflake is in the value chain for orders, the cost per order can be\na good metric to tie Snowflake consumption to Business Demand Drivers.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EVisualize metrics with Snowsight tools and external BI tools\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EA critical component of cost governance is the effective visualization\nof spending and usage data. Raw data, while comprehensive, is often\ndifficult to interpret and act upon. By translating cost and usage\nmetrics into interactive dashboards and reports, you can empower\nstakeholders&mdash;from engineers to executives&mdash;to understand spending\npatterns, troubleshoot, and make informed decisions. A multi-layered\napproach can be used to track meaningful cost metrics.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ESnowsight's built-in cost management capabilities:\u003C/strong\u003E Snowsight\nprovides pre-built visuals for usage and credit monitoring directly\nwithin the \u003Ca href=\"https://docs.snowflake.com/en/user-guide/cost-exploring-overall#overview-of-account-level-costs\"\u003E&lt;u&gt;Snowflake Cost Management\nUI&lt;/u&gt;\u003C/a\u003E.\nIt allows filtering by tags (e.g., view cost by department tag),\ncredit consumption by object types, and cost insights to optimize the\nplatform.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECreating custom dashboards or Streamlit apps for different\nstakeholder groups:\u003C/strong\u003E Snowsight facilitates the creation of custom\ndashboards using ACCOUNT_USAGE and ORGANIZATION_USAGE views. Custom\ncharts in the Dashboards feature and Streamlit apps can both be easily\nshared. Combined with cost allocation and tagging, this allows for\ntailored views for finance managers (aggregated spend), engineering\nmanagers (warehouse utilization), or data analysts (query\nperformance).\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EIntegrating with third-party BI tools for advanced analytics:\u003C/strong\u003E\nConnecting to Snowflake from tools like Tableau, Power BI, Looker, or\ncustom applications offers highly customizable and extensive control\nover cost data visualization. Cloud-specific third-party data programs\n(FinOps platforms) offer easier setup and more out-of-the-box\nSnowflake cost optimization insights.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ELeverage Cortex Code (In Preview):\u003C/strong\u003E This AI Assistant capability\nallows users to query cost and usage data in ACCOUNT_USAGE views using\nnatural language natively in the Snowsight UI.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch4\u003EInvestigate anomalous consumption activity\u003C/h4\u003E\n","\u003Cp\u003ECost Anomaly Detection is a critical component of visibility that\nleverages machine learning to continuously monitor credit consumption\nagainst historical spending patterns, automatically flagging significant\ndeviations from the established baseline. This proactive monitoring is\nessential for preventing budget overruns and identifying inefficiencies,\nshifting the organization from a reactive to a proactive cost management\nposture to mitigate financial risk. As a best practice, you should\ninitially review anomaly detection on the entire account to gain a broad\nview, then dive deeper into a more granular review for individual\nhigh-spend warehouses. \u003Ca href=\"https://docs.snowflake.com/en/user-guide/cost-anomalies\"\u003EThis\napproach\u003C/a\u003E\nallows for more targeted analysis and assigns clear ownership for\ninvestigating any flagged anomalies. There are several methods for\nanomaly detection supported by Snowflake:\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECost Anomalies in Snowsight\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003ESnowsight, Snowflake's primary web interface, offers a dedicated Cost\nManagement UI that allows users to visually identify and analyze the\ndetails of any detected cost anomaly. The importance of this intuitive\nvisual interface lies in its ability to make complex cost data\naccessible to a wide range of stakeholders, enabling rapid root cause\nanalysis by correlating a cost spike with specific query history or user\nactivity. One of the tabs in this UI is the Cost Anomaly Detection tab,\nwhich enables you to view cost anomalies at the organization or account\nlevel and explore the top warehouses or accounts driving this change. To\nfoster a culture of cost awareness and accountability, it is a best\npractice to ensure there is an owner for an anomaly detected in the\naccount and set up a \u003Ca href=\"https://docs.snowflake.com/en/user-guide/cost-anomalies-ui#configure-notifications-with-sf-web-interface\"\u003E&lt;u&gt;notification (via\nemail)&lt;/u&gt;\u003C/a\u003E\nin the UI itself to ensure that cost anomalies are quickly and\naccurately investigated.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EProgrammatic Cost Anomaly Detection\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EFor deeper integration and automation, organizations can review\n\u003Ca href=\"https://docs.snowflake.com/en/user-guide/cost-anomalies-class\"\u003E&lt;u&gt;anomalies\nprogrammatically&lt;/u&gt;\u003C/a\u003E\nusing the SQL functions and views available within the SNOWFLAKE.LOCAL\nschema. This approach is important for enabling automation and\nscalability, allowing cost governance to be embedded directly into\noperational workflows, such as feeding anomaly data into third-party\nobservability tools or triggering automated incident response playbooks.\nA key best practice is to utilize this programmatic access to build\ncustom reports and dashboards that align with specific financial\nreporting needs and to create advanced, automated alerting mechanisms\nthat pipe anomaly data into established operational channels, such as\nSlack or PagerDuty.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECustom Anomaly Detection &amp; Notification\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EAlthough anomalies are detected at the account and organization level,\nif you desire to detect anomalies at lower levels (e.g. warehouse or\ntable), it is recommended to leverage Snowflake&rsquo;s \u003Ca href=\"https://docs.snowflake.com/en/user-guide/ml-functions/anomaly-detection\"\u003E&lt;u&gt;Anomaly\nDetection&lt;/u&gt;\u003C/a\u003E\nML class and pair it with a Snowflake\n\u003Ca href=\"https://docs.snowflake.com/en/user-guide/ml-functions/anomaly-detection#monitoring-with-a-snowflake-alert\"\u003E&lt;u&gt;alert&lt;/u&gt;\u003C/a\u003E\nto notify owners of more granular anomalies that occur within the\necosystem. This ensures all levels of Snowflake cost can be monitored in\na proactive and effective way. As a best practice,\n\u003Ca href=\"https://docs.snowflake.com/en/user-guide/notifications/about-notifications\"\u003E&lt;u&gt;notifications&lt;/u&gt;\u003C/a\u003E\nshould be configured for a targeted distribution list that includes the\nbudget owner, the FinOps team, and the technical lead responsible for\nthe associated Snowflake resources, ensuring all stakeholders are\nimmediately aware of a potential cost overrun and can coordinate a swift\nresponse.\u003C/p\u003E\n","\u003Ch2\u003EControl\u003C/h2\u003E\n","\u003Ch4\u003EOverview\u003C/h4\u003E\n","\u003Cp\u003EThe Control principle of the Cost Optimization framework is designed to\nmove organizations beyond cost reporting by establishing the necessary\nautomated guardrails and governance policies to manage and secure\nSnowflake consumption proactively. This framework enforces financial\ngovernance by transforming cost visibility into tangible action,\nutilizing features like budgets and resource monitors to prevent\nuncontrolled growth and ensure consumption aligns strictly with\norganizational financial policies. Control is foundational for\nmaximizing the value of the platform by ensuring disciplined and\ncost-effective resource utilization.\u003C/p\u003E\n","\u003Ch4\u003ERecommendations\u003C/h4\u003E\n","\u003Cp\u003EImplementing a comprehensive control framework, supported by features\nsuch as Resource Monitors, Budgets, and Tagging Policies, empowers\norganizations to enforce financial accountability and maintain budget\npredictability. By adopting these controls, teams can actively manage\nspend, quickly and automatically mitigate cost inefficiencies, and\nensure the disciplined, cost-effective utilization of the entire\nSnowflake environment. The culmination of all of these controls leads to\ngreater platform ROI and minimized financial risk. To meet this goal,\nconsider the following recommendations based on industry best practices\nand Snowflake's capabilities:\u003C/p\u003E\n","\u003Ch4\u003EProactively monitor all platform usage\u003C/h4\u003E\n","\u003Cp\u003ETo effectively manage and \u003Ca href=\"https://docs.snowflake.com/en/user-guide/cost-controlling\"\u003E&lt;u&gt;control Snowflake\nspend&lt;/u&gt;\u003C/a\u003E,\nit is essential to establish and enforce cost guardrails. Implementing a\n\u003Ca href=\"https://docs.snowflake.com/en/user-guide/budgets\"\u003E&lt;u&gt;budgeting\nsystem&lt;/u&gt;\u003C/a\u003E is a key\nFinOps practice that promotes cost accountability and optimizes resource\nusage by providing teams with visibility into their consumption and the\nability to set alerts and automated actions. Budgeting helps to prevent\nunexpected cost overruns and encourages a cost-conscious culture.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003ESet budgets permissions\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003ETo establish effective budgets, it's crucial to define \u003Ca href=\"https://docs.snowflake.com/en/user-guide/budgets#budgets-roles-and-privileges\"\u003E&lt;u&gt;roles and\nprivileges&lt;/u&gt;\u003C/a\u003E\nby configuring the role, team, or user responsible for the resources.\nThis ensures that budget tracking aligns with specific business units or\nprojects, enabling accurate cost attribution and accountability. By\nlinking consumption to the relevant stakeholders, you can create a clear\nshowback or chargeback model, which is vital for fostering a sense of\nownership over spending. This configuration should be part of a broader,\nconsistent tagging strategy to ensure all costs are properly allocated\nto departments, environments, or projects.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECreate budget categories\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003ECategorizing costs is fundamental for granular budget management. You\ncan establish budgets based on the\n\u003Ca href=\"https://docs.snowflake.com/en/user-guide/budgets/account-budget\"\u003E&lt;u&gt;account&lt;/u&gt;\u003C/a\u003E\nor create \u003Ca href=\"https://docs.snowflake.com/en/user-guide/budgets/custom-budget\"\u003E&lt;u&gt;custom\ncategories&lt;/u&gt;\u003C/a\u003E\nusing Object Tags. Custom tags, such as those for a data product or cost\ncenter, are critical for accurately apportioning costs across different\ndepartments, lines of business, or specific projects. This granular\napproach provides a detailed breakdown of where spending occurs,\nenabling more precise control and informed decision-making regarding\nresource allocation. Implementing robust tagging policies and naming\nconventions ensures consistency and facilitates the interpretation of\ncost data. Because budgets are soft limit objects, objects can be part\nof more than one budget if different perspectives need to be tracked for\ncost (e.g., cost center &amp; workload level budgeting).\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EImplement a notification strategy\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EEffective budget management relies on timely communication. Setting up\nalerting through emails or webhooks to collaboration tools like Slack\nand Microsoft Teams provides proactive\n\u003Ca href=\"https://docs.snowflake.com/en/user-guide/budgets/notifications\"\u003E&lt;u&gt;notification&lt;/u&gt;\u003C/a\u003E\nto key stakeholders when spending approaches or exceeds a defined\nthreshold. These alerts provide teams with an opportunity to review and\nadjust their usage before it leads to significant cost overruns. This\ncapability positions organizations for security success by mitigating\npotential threats through comprehensive monitoring and detection.\u003C/p\u003E\n","\u003Cp\u003ENotifications are not limited to just budgets; \u003Ca href=\"https://docs.snowflake.com/en/user-guide/alerts\"\u003E&lt;u&gt;Snowflake\nalerts&lt;/u&gt;\u003C/a\u003E can also be\nconfigured to systematically notify administrators of unusual or costly\npatterns, such as those listed in the Control and Optimize sections of\nthe Cost Pillar. This ensures that key drivers of Snowflake consumption\ncan be tracked and remediated proactively, even as the platform&rsquo;s usage\ngrows.\u003C/p\u003E\n","\u003Ch4\u003EForecast consumption based on business needs\u003C/h4\u003E\n","\u003Cp\u003EForecasting Snowflake consumption should be a strategic business\nfunction, not a mere technical prediction. The goal is to establish a\ntransparent basis for budgeting and optimizing ROI by linking\nconsumption directly to measurable business outcomes. In a dynamic,\nusage-based environment where compute costs are the most volatile\nelement of the bill, a robust framework must integrate quantitative\nanalysis of historical usage with qualitative insights into future\nbusiness drivers. The following framework outlines how to build and\nmaintain a comprehensive consumption forecast.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EEstablish the Baseline\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EThis phase focuses on understanding the source of spend and establishing\ngranular cost accountability.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EIdentify demand drivers and unit economics:\u003C/strong\u003E To understand what\ndrives Snowflake spend, correlate historical credit, storage, and data\ntransfer usage with key business metrics like cost per customer or per\ntransaction. Use Snowflake's\n\u003Ca href=\"https://docs.snowflake.com/en/sql-reference/account-usage\"\u003E&lt;u&gt;ACCOUNT_USAGE&lt;/u&gt;\u003C/a\u003E\nschema, including the WAREHOUSE_METERING_HISTORY and QUERY_HISTORY\nviews, as the primary data sources for this analysis.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EGranular cost attribution:\u003C/strong\u003E Accurately tie costs back to business\nteams or workloads by implementing a mandatory tagging strategy for\nall warehouses and queries. Align these tags with your organization's\nfinancial structure to provide clear cost segmentation.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cstrong\u003EBuild the predictive model\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EThis phase integrates historical trends with strategic business inputs\nto create forward-looking projections.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EHistorical trend analysis:\u003C/strong\u003E Analyze past usage for trends,\nseasonality, and outliers to inform future projections. Start with\nsimple trend-based forecasting and progressively move to more\nsophisticated models, leveraging Snowflake&rsquo;s built-in\n\u003Ca href=\"https://docs.snowflake.com/en/user-guide/ml-functions/forecasting\"\u003E&lt;u&gt;SNOWFLAKE.ML.FORECAST&lt;/u&gt;\n&lt;u&gt;function&lt;/u&gt;\u003C/a\u003E\nfor time-series forecasting.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EDriver-based forecasting:\u003C/strong\u003E Integrate planned business initiatives\nand new projects directly into the model. Collaborate with business\nleaders to gather strategic inputs such as projected customer growth,\nnew product launches, or increased data ingestion from marketing\ncampaigns.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EScenario modeling:\u003C/strong\u003E Develop multiple forecast scenarios (e.g.,\n&quot;conservative,&quot; &quot;base case,&quot; &quot;aggressive&quot;) by applying varied growth\nfactors to key business drivers. This enables flexible planning and\nhelps mitigate financial risk.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cstrong\u003EOperationalize and optimize\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EThis phase links the forecast to continuous monitoring, governance, and\nproactive cost controls.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EContinuous monitoring and variance analysis:\u003C/strong\u003E Regularly compare\nactual consumption against the forecast to identify and investigate\nsignificant variances. This feedback loop is crucial for refining the\nunderlying model and adapting to evolving business needs.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECollaborative governance:\u003C/strong\u003E Ensure a single source of truth for\nconsumption data by establishing a regular FinOps review session with\nFinance, Engineering, and Business teams. Use customized dashboards to\npresent data in business-friendly terms.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EImplement predictive budget controls:\u003C/strong\u003E Shift from reactive spending\nto a proactive model. Utilize Snowflake Resource Monitors and Budgets,\nwhich employ monthly-level time-series forecasting, to define credit\nquotas and trigger automated alerts or suspensions to prevent cost\noverruns.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch4\u003EEnforce cost guardrails for organizational resources\u003C/h4\u003E\n","\u003Cp\u003ETo effectively manage Snowflake expenditure and prevent unforeseen\ncosts, it is crucial to implement a robust framework of resource\ncontrols. These controls act as automated guardrails, ensuring that\nresource consumption for compute, storage, and other services aligns\nwith your financial governance policies. By proactively setting policies\nand remediating inefficiencies, you can maintain budget predictability\nand maximize the value of your investment in the platform.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECompute controls\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EControlling compute consumption is often the most critical aspect of\nSnowflake cost management, as it typically represents the largest\nportion of spend. Snowflake offers several features to manage warehouse\nusage and prevent excessive costs.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EImplement resource monitors\u003C/strong\u003E: \u003Ca href=\"https://docs.snowflake.com/en/user-guide/resource-monitors\"\u003E&lt;u&gt;Resource\nmonitors&lt;/u&gt;\u003C/a\u003E\nare a powerful feature for tracking and controlling credit consumption\nacross virtual warehouses or for the entire account. Their primary\nimportance lies in their ability to enforce strict budget limits,\npreventing cost overruns by automatically \u003Ca href=\"https://docs.snowflake.com/en/user-guide/resource-monitors#actions\"\u003E&lt;u&gt;triggering\nactions&lt;/u&gt;\u003C/a\u003E,\nsuch as sending notifications and/or suspending warehouses when credit\nusage reaches a defined quota. For effective governance, it is a best\npractice to create multiple resource monitors at different\ngranularities (e.g., per-department, per-project) with escalating\nactions, such as notifying administrators at 80% usage and suspending\nall assigned warehouses at 100% usage, to cap spending. It is also\nconsidered best practice to ensure there is a consistent action tied\nto the resource monitors based on your organization&rsquo;s ways of working.\nFor example, it is worth considering that set resource monitors\nperform actions like notify to specific admin(s) within your\norganization.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EReduce Runaway Queries:\u003C/strong\u003E Runaway or hung queries can lead to\nsignificant cost overruns. Managing long-running queries is especially\nimportant for environments with ad-hoc users or complex analytical\nworkloads, where a poorly written query can consume credits for hours.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EStatement timeout policies\u003C/strong\u003E automatically terminate any query\nthat runs longer than a specified time limit. This serves as an\nessential guardrail to prevent individual queries from consuming\nexcessive resources and impacting both cost and performance for\nother users. The best practice is to set the\n\u003Ca href=\"https://docs.snowflake.com/en/user-guide/cost-controlling-controls#limit-query-times\"\u003E&lt;u&gt;STATEMENT_TIMEOUT_IN_SECONDS&lt;/u&gt;\n&lt;u&gt;parameter&lt;/u&gt;\u003C/a\u003E\nat different levels&mdash;for the account, warehouse, specific users, or\nindividual sessions&mdash;to tailor controls to different workload\npatterns, such as allowing longer timeouts for ETL warehouses\ncompared to BI warehouses. \u003Ca href=\"https://docs.snowflake.com/en/user-guide/cost-controlling-controls#limit-statement-queue-times\"\u003E&lt;u&gt;Queued timeout\npolicies&lt;/u&gt;\u003C/a\u003E\ncan also help remove queries that eclipse a reasonable time\nthreshold and could have been run elsewhere by users trying to\nreceive a response.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EPolicy-based automation\u003C/strong\u003E can also cancel queries pre-emptively.\nAn example is using stored procedures that leverage the\n\u003Ca href=\"https://docs.snowflake.com/en/sql-reference/functions/system_cancel_query\"\u003E&lt;u&gt;SYSTEM$CANCEL_QUERY&lt;/u&gt;\u003C/a\u003E\nfunction to terminate statements that exceed predefined runtime\nthresholds or contain ill-advised logic, such as exploding joins.\nThis approach allows you to more finely customize the types of\nqueries you want to cancel, as you have full control over defining\nthe stored procedure logic.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EAuto-suspend policies\u003C/strong\u003E: Auto-suspend policies are a foundational\ncost control for virtual warehouses, automatically suspending a\nwarehouse after a defined period of inactivity. By default, all\nwarehouses have auto-suspend enabled, however this feature can be\ndisabled, so it&rsquo;s important to \u003Ca href=\"https://docs.snowflake.com/en/user-guide/warehouses-considerations#automating-warehouse-suspension\"\u003E&lt;u&gt;monitor warehouse auto-suspend\nconfiguration&lt;/u&gt;\u003C/a\u003E\nand ensure proper access controls are set to\n&lt;span class=&quot;mark&quot;&gt;restrict users from disabling the auto-suspend\nsetting. The best practice for balancing cost versus performance is to\nreduce the auto-suspend policy to the minimum possible (generally\nabove 60 seconds) without affecting query caching and performance\n(SLA) expectations.&lt;/span&gt;\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cstrong\u003EStorage Controls\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EWhile storage costs are generally lower than compute costs, they can\ngrow significantly over time. Understanding the different components of\nstorage cost and implementing policies to manage the types of storage is\nkey to keeping these costs in check.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EStaged files:\u003C/strong\u003E\n\u003Ca href=\"https://docs.snowflake.com/en/user-guide/data-load-considerations-stage\"\u003E&lt;u&gt;Staged&lt;/u&gt;\u003C/a\u003E\nfiles are files that have been prepped for bulk data loading/unloading\n(stored in compressed or uncompressed format). They can be stored in\nan \u003Ca href=\"https://docs.snowflake.com/en/user-guide/data-load-s3-create-stage#creating-an-external-stage\"\u003E&lt;u&gt;external\nstage&lt;/u&gt;\u003C/a\u003E\nusing cloud provider&rsquo;s blob storage (such as Amazon S3) or an\n\u003Ca href=\"https://docs.snowflake.com/en/user-guide/data-load-local-file-system-create-stage\"\u003E&lt;u&gt;internal\nstage&lt;/u&gt;\u003C/a\u003E\nwithin the Snowflake platform. You are only charged for data stored in\ninternal stages.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003ETo help control costs on staged files, as well as improve\nperformance of data loads, you can ensure successfully ingested\nfiles are removed by using the PURGE = TRUE option of the\n&lt;span class=&quot;mark&quot;&gt;\u003Ca href=\"https://docs.snowflake.com/en/sql-reference/sql/copy-into-table\"\u003E&lt;u&gt;COPY INTO\n&lt;table&gt;&lt;/u&gt;\u003C/a\u003E\ncommand&lt;/span&gt;. &lt;span class=&quot;mark&quot;&gt;Alternatively, use the\n\u003Ca href=\"https://docs.snowflake.com/en/sql-reference/sql/remove\"\u003E&lt;u&gt;REMOVE&lt;/u&gt;\u003C/a\u003E\ncommand to remove the files in the stage.&lt;/span&gt;\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EActive Storage:\u003C/strong\u003E \u003Ca href=\"https://docs.snowflake.com/en/sql-reference/info-schema/table_storage_metrics\"\u003E&lt;u&gt;Active\nStorage&lt;/u&gt;\u003C/a\u003E\nconsists of the data in a table that can be actively queried against\nat the current point of time (i.e., without using Time-Travel\ncommands)\u003Cstrong\u003E.\u003C/strong\u003E To control active storage costs, you can create a\n\u003Ca href=\"https://docs.snowflake.com/LIMITEDACCESS/storage-lifecycle-policy/storage-lifecycle-policies\"\u003E&lt;u&gt;Storage Lifecyle\nPolicy&lt;/u&gt;\u003C/a\u003E\nto automatically archive or delete data based on an expiration policy\nyou create.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ETime Travel:\u003C/strong\u003E \u003Ca href=\"https://docs.snowflake.com/en/user-guide/data-time-travel\"\u003E&lt;u&gt;Time\nTravel&lt;/u&gt;\u003C/a\u003E\ndata is data that is maintained for all historical changes of a table\nthrough its retention time, allowing for easy recovery of changed or\ndeleted data.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003ETime Travel data retention is controlled using the\n&lt;span class=&quot;mark&quot;&gt;\u003Ca href=\"https://docs.snowflake.com/en/user-guide/data-time-travel#changing-the-data-retention-period-for-an-object\"\u003E&lt;u&gt;DATA_RETENTION_TIME_IN_DAYS&lt;/u&gt;\u003C/a\u003E\nparameter&lt;/span&gt;, which can be set at a number of different object\nlevels (i.e. Account, Database, Schema, Table), so it is important\nto monitor this setting to ensure you do not have excessive data\nretention where it is not needed.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E&lt;span class=&quot;mark&quot;&gt;Snowflake has a standard \u003Ca href=\"https://docs.snowflake.com/en/user-guide/data-time-travel#changing-the-data-retention-period-for-an-object\"\u003E&lt;u&gt;data retention\nperiod&lt;/u&gt;\u003C/a\u003E\nof one day. This is automatically enabled for all accounts, but for\nsome tables, particularly&lt;/span&gt; \u003Ca href=\"https://docs.snowflake.com/en/user-guide/tables-storage-considerations#managing-costs-for-short-lived-tables\"\u003E&lt;u&gt;large, high churn\ntables&lt;/u&gt;\u003C/a\u003E&lt;span class=&quot;mark&quot;&gt;,\nthis one day can still result in excessive costs. To reduce costs in\nthese cases, you can create these tables as transient with zero Time\nTravel retention (i.e., DATA_RETENTION_TIME_IN_DAYS=0) and\nperiodically insert a copy of the table contents into a permanent\ntable.&lt;/span&gt;\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EFail-safe:\u003C/strong\u003E In addition to Time-Travel, Snowflake retains\nhistorical data for seven days after the Time-Travel retention period\nexpires as\n\u003Ca href=\"https://docs.snowflake.com/en/user-guide/data-failsafe\"\u003E&lt;u&gt;Fail-Safe&lt;/u&gt;\u003C/a\u003E\ndata. This data can be requested for worst-case scenario data\nrecovery. Fail-safe applies to all tables that are created as the\npermanent \u003Ca href=\"https://docs.snowflake.com/en/user-guide/tables-temp-transient#comparison-of-table-types\"\u003E&lt;u&gt;table\ntype&lt;/u&gt;\u003C/a\u003E\n(which is the default table type).\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003EHowever, for ETL or data modeling, it is common to have tables that\nare created on a short-term basis to support transformations. For\nthese use cases, it is recommended that you use\n\u003Ca href=\"https://docs.snowflake.com/en/user-guide/data-cdp-storage-costs#temporary-and-transient-tables\"\u003E&lt;span class=&quot;mark&quot;&gt;&lt;u&gt;Temporary and Transient\ntables&lt;/u&gt;&lt;/span&gt;\u003C/a\u003E,\nwhich do not utilize fail-safe storage and thus do not incur\nadditional storage costs.\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ERetained for clones:\u003C/strong\u003E This is data that is stored because it is\nreferenced by a clone, despite the data being deleted or outside the\nretention period of the base table that was cloned. To control costs\nrelated to these &ldquo;stale&rdquo; clones, it is recommended that you monitor\n&lt;span class=&quot;mark&quot;&gt;\u003Ca href=\"https://community.snowflake.com/s/article/How-to-manage-RETAINED-FOR-CLONE-BYTES\"\u003E&lt;u&gt;RETAINED_FOR_CLONE_BYTES&lt;/u&gt;\u003C/a\u003E\nand drop clones that are no longer needed. You can leverage the\n\u003Ca href=\"https://docs.snowflake.com/en/guides-overview-alerts\"\u003E&lt;u&gt;Alerts and Notifications\nfeatures&lt;/u&gt;\u003C/a\u003E to\nalert you when RETAINED_FOR_CLONE_BYTES exceeds a threshold, prompting\nyou to take action.&lt;/span&gt;\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cstrong\u003EServerless Features\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EFor serverless features, which do not use warehouse compute and\ntherefore cannot leverage the Resource Monitor feature, we recommend\nsetting up a budget.\n\u003Ca href=\"https://docs.snowflake.com/en/user-guide/budgets\"\u003E&lt;u&gt;Budgets&lt;/u&gt;\u003C/a\u003E allow\nyou to define &lt;span class=&quot;mark&quot;&gt;a&lt;/span&gt; monthly spending limit on the\n\u003Ca href=\"https://docs.snowflake.com/en/user-guide/cost-understanding-compute\"\u003E&lt;u&gt;compute\ncosts&lt;/u&gt;\u003C/a\u003E\nfor a Snowflake account or a custom group of Snowflake objects. When the\nspending limit is projected to be hit, a notification is sent. While\nBudgets do not explicitly allow you to suspend serverless features upon\nreaching a limit (the way that Resource Monitors do), Budgets can be\nconfigured to not only send emails, but also send\n\u003Ca href=\"https://docs.snowflake.com/en/user-guide/budgets/notifications\"\u003E&lt;u&gt;notifications&lt;/u&gt;\u003C/a\u003E\nto a cloud message queue or other webhooks (such as Microsoft Teams,\nSlack, or PagerDuty). This then gives you the ability to trigger other\nactions for remediation.\u003C/p\u003E\n","\u003Ch4\u003EGovern resource creation and administration\u003C/h4\u003E\n","\u003Cp\u003ETo prevent uncontrolled spend as organizations scale, it's essential to\nhave a clear management strategy for Snowflake resources, most notably,\nvirtual warehouses. This strategy should encompass a defined\nprovisioning process, ongoing object management, and automated platform\nenforcement to foster agility while maintaining financial discipline.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECentralized vs. decentralized management\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EOrganizations tend to adopt one of two primary approaches to managing\nSnowflake resources:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECentralized management:\u003C/strong\u003E A dedicated team, such as a platform\nCenter of Excellence (CoE), handles resource creation and\nadministration policies. This ensures consistency, adheres to best\npractices, and facilitates robust cost control. This model is ideal\nfor large enterprises where strict governance and chargeback are\nparamount.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EDecentralized management:\u003C/strong\u003E Individual business units or teams\nmanage their own resources. This provides greater autonomy and speed\nbut can lead to resource sprawl, inconsistent practices, and\nsignificant cost inefficiencies if not properly governed.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cstrong\u003EStriking the balance: the federated model\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EThe most effective strategy often lies in a hybrid, or federated, model.\nThis approach combines centralized governance (policies defined by a\nCoE) with decentralized execution (teams having the freedom to create\nresources within those guardrails). This balance enables agility while\nmitigating financial risk.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECore Principles for Governance\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003ERegardless of the chosen model, these principles are essential for\neffective governance:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ELimit resource creation:\u003C/strong\u003E Restrict the ability to create or modify\nvirtual warehouses and other high-cost resources to a small number of\ntrusted roles to prevent uncontrolled growth.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EEstablish a transparent workflow:\u003C/strong\u003E Create a clear, simple workflow\nfor provisioning resources, especially for larger warehouses. For\nexample, any request for a warehouse of medium size or larger should\nrequire a business justification and an assigned cost center.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ENear real-time visibility:\u003C/strong\u003E Triggered visibility is non-negotiable\nfor monitoring resource creation and resizing. Configure alerts that\nnotify FinOps or CoE teams whenever a new warehouse is created or an\nexisting one is modified outside of a provisioning workflow. This\nallows for immediate review and prevents overprovisioning.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EEnforce tagging:\u003C/strong\u003E Make a mandatory tagging strategy a prerequisite\nfor all resource creation. This ensures every credit spent can be\naccurately attributed to the correct department or project, enabling\nrobust chargeback and accountability.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EAutomate deactivation:\u003C/strong\u003E To prevent object sprawl, implement\npolicies that identify and deactivate stale resources after a\npredetermined period of disuse.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch2\u003EOptimize\u003C/h2\u003E\n","\u003Ch4\u003EOverview\u003C/h4\u003E\n","\u003Cp\u003EThe Optimization principle of the Cost Optimization framework focuses on continuously improving the efficiency of your Snowflake resources. This includes optimizing compute, storage, data transfer, and managed services by understanding their usage and identifying areas for improvement. The frequency of optimization efforts should be guided by the metrics established in the Visibility principle and monitored through the Control principle. All recommendations within this Optimize principle are to be reviewed on a regular cadence and balanced with business and performance needs.\u003C/p\u003E\n","\u003Ch4\u003ERecommendations\u003C/h4\u003E\n","\u003Cp\u003ESnowflake offers numerous optimization controls within its platform.\nThese features are designed to enhance efficiency and reduce\nadministrative overhead for your various workloads. Coupled with\noperational best practices that utilize features in a healthy manner,\nyou can balance performance goals with cost governance requirements to\nmeet business objectives.\u003C/p\u003E\n","\u003Cp\u003EBy implementing these recommendations, you will be able to:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003EReduce administration time\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EIncrease workload efficiency\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EBalance cost controls and guardrails to meet service level agreements\nand business objectives\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EAchieve healthy growth and economies of scale within your organization\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003ETo foster healthy growth and achieve economies of scale within your\norganization, we recommend the following, drawing upon industry best\npractices and Snowflake's capabilities.\u003C/p\u003E\n","\u003Ch4\u003ECompute workload-aligned provisioning\u003C/h4\u003E\n","\u003Cp\u003ECompute is the most significant part of any organization&rsquo;s Snowflake\nspend, typically accounting for 80% or more of spend. A good warehouse\ndesign should incorporate the principles below:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003ESeparate warehouses by workload (e.g., ELT versus analytics versus\ndata science)\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EWorkload size in bytes should match the t-shirt size of the warehouse\nin the majority of the workloads&ndash;larger warehouse size doesn&rsquo;t always\nmean faster\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EAlign warehouse size for optimal cost-performance settings\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Ca href=\"https://docs.snowflake.com/en/user-guide/warehouses-considerations#multi-cluster-warehouses-improve-concurrency\"\u003E&lt;u&gt;Utilize Multi-Cluster\nWarehouse&lt;/u&gt;\u003C/a\u003E\nconfiguration to solve for high concurrency\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EUtilize \u003Ca href=\"https://docs.snowflake.com/en/user-guide/query-acceleration-service\"\u003E&lt;u&gt;Query Acceleration\nServices&lt;/u&gt;\u003C/a\u003E\nto help with infrequent, large data scans\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EFor memory-intensive workloads, use a warehouse type of Snowpark\nOptimized or higher memory resource constraint configurations as\nappropriate\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003ESet appropriate auto-suspend settings - longer for high cache use,\nlower for no cache reuse\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003ESet appropriate warehouse query timeout settings for the workload and\nthe use cases it supports.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003EUsing the principles above ensures that your compute costs are well\nmanaged and balanced with optimal benefits.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003ESeparate warehouses by workload\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EDifferent workloads (e.g., data engineering, analytics, AI and\napplications) have varying characteristics. \u003Ca href=\"https://docs.snowflake.com/en/user-guide/warehouses-considerations#how-does-query-composition-impact-warehouse-processing\"\u003E&lt;u&gt;Separating these to be\nserviced by different virtual\nwarehouses&lt;/u&gt;\u003C/a\u003E\ncan help ensure relevant features in Snowflake can be utilized.\u003C/p\u003E\n","\u003Cp\u003ESome examples of this include:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003EOptimize dashboards and reports by \u003Ca href=\"https://docs.snowflake.com/en/user-guide/warehouses-considerations#how-does-warehouse-caching-impact-queries\"\u003E&lt;u&gt;reusing the warehouse SSD\ncache&lt;/u&gt;\u003C/a\u003E\nfor repeated select queries. This can be achieved by configuring a\nlonger warehouse autosuspend setting.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003ELoading large volumes of data using \u003Ca href=\"https://docs.snowflake.com/en/user-guide/data-load-considerations-prepare\"\u003E&lt;u&gt;optimal file\nsizes&lt;/u&gt;\u003C/a\u003E\nand utilizing all available threads in a virtual warehouse\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EProcessing large data sets for AI workloads using memory-optimized\nwarehouses\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cstrong\u003EWarehouse sizing\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EMapping the workload to the \u003Ca href=\"https://docs.snowflake.com/en/user-guide/performance-query-warehouse-size\"\u003E&lt;u&gt;right warehouse\nsize&lt;/u&gt;\u003C/a\u003E\nand configuration is an important consideration of warehouse design.\nThis should consider several factors like query completion time,\ncomplexity, data size, query volume, SLAs, queuing, and balancing\noverall cost objectives. Warehouse sizing involves a cost-benefit\nanalysis that balances performance, cost, and human expectations. Humans\noften have expectations that their queries will not be queued or take a\nlong time to complete, so it is recommended to have dedicated warehouses\nfor teams.\u003C/p\u003E\n","\u003Cp\u003ERecommendations for choosing the right-sized warehouse include:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003EFollow the principles outlined above and understand that this is a\ncontinuous improvement process.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EChoose a size based on the estimated or actual workload size and\nmonitor.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EUtilize Snowflake's extensive telemetry data, such as\n\u003Ca href=\"https://docs.snowflake.com/en/sql-reference/account-usage/query_history\"\u003E&lt;u&gt;QUERY_HISTORY&lt;/u&gt;\u003C/a\u003E\nand\n\u003Ca href=\"https://docs.snowflake.com/en/sql-reference/account-usage/warehouse_metering_history\"\u003E&lt;u&gt;WAREHOUSE_METERING_HISTORY&lt;/u&gt;\u003C/a\u003E,\nto validate that the warehouse size is impacting the metrics you care\nabout in the direction you intend.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cstrong\u003EOptimal warehouse settings\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EWhile Snowflake strives for minimal knobs and self-managed tuning, there\nare situations where selecting the right settings for warehouses can\nhelp with optimal cost and/or performance. Some of the key \u003Ca href=\"https://docs.snowflake.com/en/sql-reference/sql/create-warehouse\"\u003E&lt;u&gt;warehouse\nsettings&lt;/u&gt;\u003C/a\u003E\ninclude\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003EAuto suspend\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EMulti-cluster settings\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EWarehouse resource constraints\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EWarehouse type\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003ETo maintain an optimal balance between cost and performance, regularly\nmonitor your resource usage (e.g., weekly or monthly) and set up\nresource monitors to alert you to high credit consumption. When workload\ndemands change, adjust your settings as needed.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EWarehouse consolidation\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EIf you find yourself with an excess of provisioned warehouses or a shift\nin workloads necessitating consolidation, apply the aforementioned\nprinciples. Begin with the least utilized warehouses and migrate their\nworkloads to an existing warehouse that handles similar tasks.\u003C/p\u003E\n","\u003Cp\u003EThe\n\u003Ca href=\"https://docs.snowflake.com/en/sql-reference/account-usage/warehouse_load_history\"\u003E&lt;u&gt;WAREHOUSE_LOAD_HISTORY&lt;/u&gt;\u003C/a\u003E\nview can help you assess the average number of queries running on a\nwarehouse over a specific period. A useful benchmark is to aim for a\nwarehouse running queries 80% of the time it's active. Continuously\nmonitor your key metrics to ensure they still meet SLA goals and adjust\nwarehouse settings as needed.\u003C/p\u003E\n","\u003Ch4\u003ELeverage Managed Services\u003C/h4\u003E\n","\u003Cp\u003ETo achieve significant operational efficiency and predictable costs,\nprioritize the use of serverless and managed services. These services\neliminate the need to manage underlying compute infrastructure, allowing\nyour organization to pay for results rather than resource provisioning\nand scaling. Evaluate the following servterless features to reduce costs\nand enhance performance in your environment.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EStorage optimization\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003ESnowflake offers several serverless features that automatically\n\u003Ca href=\"https://docs.snowflake.com/en/user-guide/performance-query-storage\"\u003E&lt;u&gt;manage and optimize your\ntables&lt;/u&gt;\u003C/a\u003E,\nreducing the need for manual intervention while improving query\nperformance. The following features ensure your data is efficiently\norganized, allowing for faster and more cost-effective qeuerying without\nthe burden of user management.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EAutomatic Clustering\u003C/strong\u003E is a background process in Snowflake that\norganizes data within a table by sorting it according to predefined\ncolumns. This process is critical for optimizing query performance and\nreducing costs. Benefits include:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EImproved query pruning:\u003C/strong\u003E By sorting data, automatic clustering\nenables more effective pruning in SQL WHERE clauses, meaning less data\nneeds to be scanned for a given query.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EFaster joins:\u003C/strong\u003E Clustering also results in quicker and more\nefficient join operations.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECost-efficient queries:\u003C/strong\u003E These benefits ultimately result in faster\nand more cost-effective query execution.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cstrong\u003EConsiderations and Best Practices:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECareful tuning:\u003C/strong\u003E It's essential to tune automatic clustering\ncarefully. Overuse of clustering keys, use of highly selective keys,\nor frequent data manipulation language (DML) operations can\nsignificantly increase clustering costs.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EInfrequently queried, frequently updated tables:\u003C/strong\u003E Exercise caution\nwith tables that are often updated but rarely queried, as clustering\ncosts may outweigh performance improvements.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECost estimation:\u003C/strong\u003E Before enabling, estimate clustering costs for a\ntable using Snowflake's system function for a preliminary cost/benefit\nanalysis.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EStrategic cluster key selection:\u003C/strong\u003E Optimizing clustering key\nselection is vital to strike a balance between cost and performance.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cstrong\u003ESearch Optimization Service (SOS)\u003C/strong\u003E enhances the performance of point\nlookup searches by creating a persistent search access path. Its primary\nvalue lies in achieving better pruning for these specific query types,\nwhich is critical for applications requiring quick response times. They\ncan be used in combination with auto-clustering and \u003Ca href=\"https://docs.snowflake.com/en/user-guide/snowflake-optima#optima-indexing\"\u003E&lt;u&gt;Snowflake Optima\nservice&lt;/u&gt;\u003C/a\u003E.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EConsiderations for SOS:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EExcessive indexed columns:\u003C/strong\u003E Avoid having too many indexed columns,\nespecially on high-churn tables, as maintenance costs can become\nsubstantial.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EInefficient cost-benefit ratio:\u003C/strong\u003E Tables that are frequently updated\nbut infrequently queried for point lookups can lead to an inefficient\ncost/benefit ratio.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECost estimation:\u003C/strong\u003E Before enabling, estimate SOS costs on a given\ntable using a Snowflake system function to perform a preliminary\ncost/benefit analysis. Index selection is crucial for balancing\nperformance and cost, a topic also addressed in the Workload\nOptimization section.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cstrong\u003EMaterialized Views (MVs)\u003C/strong\u003E are pre-computed query results stored as a\nseparate table and automatically maintained by Snowflake.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EBenefits of MVs:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECost efficiency:\u003C/strong\u003E It is often cheaper to update a materialized view\nthan to repeatedly execute full scans of large, complex base tables.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EAlternative table order:\u003C/strong\u003E MVs can provide an alternative table\norder for queries that do not align with your existing clustering\ndesign.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cstrong\u003EConsiderations for MVs:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EInfrequently queried, frequently updated tables:\u003C/strong\u003E Avoid creating\nmaterialized views on tables that are frequently updated but rarely\nqueried, as automated maintenance costs will negate any potential\nquery cost savings.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EClustering differences:\u003C/strong\u003E Be aware of clustering differences between\nthe base table and the materialized view, as this can lead to high\nmaintenance costs.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cstrong\u003E\u003Ca href=\"https://docs.snowflake.com/en/user-guide/query-acceleration-service\"\u003E&lt;u&gt;Query Acceleration\nService&lt;/u&gt;\u003C/a\u003E\n(QAS):\u003C/strong\u003E QAS is a serverless feature that provides a burst of additional\ncompute resources to accelerate specific parts of a query, rather than\nreplacing an appropriately sized warehouse. It's particularly beneficial\nfor large I/O operation queries, eliminating the need to manually scale\nwarehouses up or down. QAS also helps speed up query execution when\ntable clustering cannot be altered due to other workload dependencies. A\ncost-benefit analysis should always be performed to ensure that the\ncredit consumption from QAS is justified by the performance improvement\nand the avoided cost of a larger warehouse.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EServerless tasks:\u003C/strong\u003E Serverless tasks enable the execution of SQL\nstatements or stored procedures on a user-defined schedule, eliminating\nthe need for a user-managed virtual warehouse. This is a cost-effective\nsolution for infrequent workloads where a warm cache offers minimal\nvalue, or for unpredictable workloads that don't utilize a minimum\n60-second usage.\u003C/p\u003E\n","\u003Ch4\u003EData storage types &amp; lifecycle management\u003C/h4\u003E\n","\u003Cp\u003ENext to compute, storage often represents the second-highest cost\ncomponent in Snowflake. Effective storage governance is a critical\nconcern for many industries due to federal and global regulations.\nSnowflake's default settings prioritize maximum data protection, which\nmay not always align with the requirements of every workload or\nenvironment. This section focuses on how to manage and configure\nstorage-related settings appropriately, ensuring that storage costs\nremain reasonable and deliver business value.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EOptimizing table volume and auditing usage\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EReview policy-driven data lifecycle management:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ETime Travel &amp; Fail-safe:\u003C/strong\u003E Set the\n\u003Ca href=\"https://docs.snowflake.com/en/sql-reference/parameters#data-retention-time-in-days\"\u003E&lt;u&gt;DATA_RETENTION_TIME_IN_DAYS&lt;/u&gt;\u003C/a\u003E\nparameter on a per-table or per-schema basis to the minimum required\nfor your business needs. For transient data, use\n\u003Ca href=\"https://docs.snowflake.com/en/user-guide/tables-temp-transient#transient-tables\"\u003E&lt;u&gt;TRANSIENT&lt;/u&gt;\u003C/a\u003E\ntables to eliminate Fail-safe costs.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ERetained for clone:\u003C/strong\u003E Be mindful of cloning operations. While\nzero-copy cloning is cost-effective initially, any subsequent DML\n(Data Manipulation Language) operations on the clone will create new\nmicro-partitions, increasing storage costs. It is recommended to\ndrop clones when they are no longer needed.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EBe aware of high-churn tables:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003EIf a table is updated consistently, inactive storage (Time Travel &amp;\nFail-safe data) can grow at a much faster rate than active storage.\nA high churn table is generally characterized as one that has 40% or\nmore of its storage inactive. Therefore, aligning both the retention\ntime and the use of an appropriate table type with business and\nrecovery requirements is paramount to keeping costs under control.\nReview High Churn tables on a consistent basis to ensure their\nconfiguration is as desired.\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EProactively clean up unused objects:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ELarge tables that are never queried:\u003C/strong\u003E Establish a process to\nidentify, rename, and eventually drop tables that have not been\nqueried for an extended period. You can use the\n\u003Ca href=\"https://docs.snowflake.com/en/user-guide/access-history\"\u003E&lt;u&gt;ACCESS_HISTORY&lt;/u&gt;\u003C/a\u003E\naccount usage view to review the last time a table was selected\nfrom. Snowflake&rsquo;s \u003Ca href=\"https://docs.snowflake.com/en/user-guide/cost-insights\"\u003E&lt;u&gt;Cost\nInsights&lt;/u&gt;\u003C/a\u003E\nwill also check weekly for unused tables on your behalf.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EShort-lived permanent tables:\u003C/strong\u003E For staging or intermediate data\nthat is rebuilt frequently, use\n\u003Ca href=\"https://docs.snowflake.com/en/user-guide/tables-temp-transient#transient-tables\"\u003E&lt;u&gt;TRANSIENT&lt;/u&gt;\u003C/a\u003E\nor\n\u003Ca href=\"https://docs.snowflake.com/en/user-guide/tables-temp-transient#temporary-tables\"\u003E&lt;u&gt;TEMPORARY&lt;/u&gt;\u003C/a\u003E\ntables instead of permanent tables to avoid unnecessary Time Travel\nand Fail-safe storage fees.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EPerform catalog &amp; stage management:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003EData archiving:\u003C/strong\u003E For historical data that is rarely accessed,\nconsider moving it to cooler tiers with \u003Ca href=\"https://docs.snowflake.com/LIMITEDACCESS/storage-lifecycle-policy/storage-lifecycle-policies\"\u003E&lt;u&gt;storage lifecycle\npolicies&lt;/u&gt;\u003C/a\u003E\nor deleting it altogether.\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cstrong\u003EOptimizing Managed Data Structures and Access\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003EYou do not always need to define cluster keys for all tables (unlike\nmany other relational database management systems) if Snowflake's\nnatural data loading maintains consistent micro-partition min/max\nvalues relative to your query patterns. Additionally, you can disable\nAuto-Clustering on a table while keeping its cluster key definition\nwithout incurring extra costs.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EInfrequently used materialized views and search optimization\npaths:\u003C/strong\u003E Materialized Views and search optimization paths can incur\nunnecessary storage and compute costs if they are no longer actively\nutilized. Materialized Views are most effective for stable data tables\nwith repeated complex aggregations or joins, while search optimization\nis designed for high-speed point lookup queries. Snowflake&rsquo;s \u003Ca href=\"https://docs.snowflake.com/en/user-guide/cost-insights\"\u003E&lt;u&gt;Cost\nInsights\nfeature&lt;/u&gt;\u003C/a\u003E\ncan help identify instances where these objects are rarely used,\nprompting a review to determine if their performance benefits still\noutweigh their associated costs.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch4\u003ELimit data transfer\u003C/h4\u003E\n","\u003Cp\u003EData egress, the transfer of data from one cloud provider or region to\nanother, can incur substantial costs, particularly when handling large\ndata volumes. Implementing appropriate tools and best practices is\nessential to minimize these data transfer expenses and maximize business\nvalue when data egress is necessary.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003ETooling: Enable proactive cost management\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003ELeverage Snowflake's native features to gain visibility and control over\ndata transfer costs before they become a significant expense.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EEgress Cost Optimizer (ECO):\u003C/strong\u003E For providers of data products on the\nSnowflake Marketplace or private listings, enabling the \u003Ca href=\"https://docs.snowflake.com/en/collaboration/provider-listings-auto-fulfillment-eco\"\u003E&lt;u&gt;Egress\nCost\nOptimizer&lt;/u&gt;\u003C/a\u003E\n(ECO) at the organizational level is a critical best practice. ECO is\nan automated feature for listings with Cross-Cloud Auto-Fulfillment.\nIt intelligently routes data through a Snowflake-managed cache,\nallowing you to pay a one-time egress cost for the initial data\ntransfer. After that, expanding to new regions incurs zero additional\negress costs for the same dataset. This is a powerful tool for scaling\nyour data sharing without compounding data transfer fees.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EMonitoring and alerts:\u003C/strong\u003E To effectively manage data transfer costs,\nutilize Snowflake's\n\u003Ca href=\"https://docs.snowflake.com/en/sql-reference/organization-usage/data_transfer_history\"\u003E&lt;u&gt;DATA_TRANSFER_HISTORY&lt;/u&gt;\u003C/a\u003E\ntelemetry view. This view provides detailed insights into data\nmovement between different regions and clouds. Establish dashboards\nand alerts to meticulously track this usage, enabling prompt detection\nof any unexpected cost increases.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cstrong\u003EArchitectural best practices: Design for minimal data movement\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EMinimizing data transfer costs for your workloads heavily depends on the\narchitecture of your data pipelines and applications. Adhere to the\nfollowing best practices to achieve this:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EUnloading Data:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECompress data:\u003C/strong\u003E When using the \u003Ca href=\"https://docs.snowflake.com/en/sql-reference/sql/copy-into-location\"\u003E&lt;u&gt;COPY INTO\n&lt;location&gt;&lt;/u&gt;\u003C/a\u003E\ncommand to unload data, always use a compression format (e.g., GZIP,\nBZIP2, or Brotli). This dramatically reduces the volume of data\ntransferred and directly lowers egress costs.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EFilter before unloading:\u003C/strong\u003E Before unloading a large dataset, use\nSQL to filter and transform the data. Unload only the required\ncolumns and rows to minimize the volume of data that must leave the\nSnowflake environment.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EData replication:\u003C/strong\u003E Replicating a database to a Snowflake account in\na different geographical region or on a different cloud provider\nincurs data transfer fees. While useful for disaster recovery, this\ncan become expensive if not managed carefully.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ETargeted replication:\u003C/strong\u003E If a full database replica is not\nrequired, use \u003Ca href=\"https://docs.snowflake.com/en/user-guide/account-replication-intro\"\u003E&lt;u&gt;replication\ngroups&lt;/u&gt;\u003C/a\u003E\nto replicate only the necessary databases or schemas. This granular\napproach ensures you only pay for the data you absolutely need to\nmove.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EConsider refresh cadence:\u003C/strong\u003E your frequency of refresh will affect\nthe amount of data that is replicated, since it acts like a snapshot\nrather than every incremental change. Incremental ETL practices are\nrecommended even more with data that is being replicated vs full\ntable reloads.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EExternal network access and functions:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EMinimize data egress:\u003C/strong\u003E \u003Ca href=\"https://docs.snowflake.com/en/sql-reference/external-functions\"\u003E&lt;u&gt;External\nfunctions&lt;/u&gt;\u003C/a\u003E\nand \u003Ca href=\"https://docs.snowflake.com/en/developer-guide/external-network-access/external-network-access-overview\"\u003E&lt;u&gt;external network\naccess&lt;/u&gt;\u003C/a\u003E,\nwhich call remote services (e.g., APIs), transfer data out of\nSnowflake. For best practice, filter data \u003Cem\u003Ebefore\u003C/em\u003E sending it to the\nexternal service. Avoid writing functions that pass an entire large\ntable as an input; instead, pass only a small, pre-filtered subset.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECo-locate services:\u003C/strong\u003E If possible, deploy the remote service (like\nan AWS Lambda or Azure Function) in the same cloud and region as\nyour Snowflake account to eliminate cross-region and cross-cloud\negress fees.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECross-cloud auto-fulfillment:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003EEmbrace the cache:\u003C/strong\u003E As a data provider, enable \u003Ca href=\"https://docs.snowflake.com/en/collaboration/provider-listings-auto-fulfillment\"\u003E&lt;u&gt;Cross-Cloud\nAuto-Fulfillment&lt;/u&gt;\u003C/a\u003E\nfor your listings. As mentioned under Tooling, this feature\nautomates the replication process and works in conjunction with the\nEgress Cost Optimizer to ensure you pay a single, upfront cost for\ndata transfer, even as your data product expands to new regions.\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ECross-region/cross-cloud Iceberg storage:\u003C/strong\u003E\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003ECentralize your catalog:\u003C/strong\u003E While Snowflake supports \u003Ca href=\"https://docs.snowflake.com/en/user-guide/tables-iceberg-storage\"\u003E&lt;u&gt;Iceberg\ntables&lt;/u&gt;\u003C/a\u003E\nthat are external to its managed storage, be mindful of where the\ndata resides. If your Snowflake account and your Iceberg data are in\ndifferent regions, querying the Iceberg table will result in egress\ncosts from your cloud provider. For a well-architected solution,\nkeep your Iceberg data and your Snowflake account in the same region\nto avoid these egress charges.\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Ch4\u003EWorkload optimization\u003C/h4\u003E\n","\u003Cp\u003EWorkload optimization focuses on identifying the efficiency of your data\nprocessing activities within Snowflake. This involves a holistic\napproach encompassing the review of query syntax, data pipelines, table\nstructures, and warehouse configurations to minimize resource\nconsumption and improve performance. By addressing inefficiencies across\nthese areas, organizations can significantly reduce costs and accelerate\ndata delivery.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EQuery syntax optimization\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EInefficient queries often lead to excessive and hidden credit\nconsumption. Organizations can identify performance bottlenecks and\nunderstand the cost impact of specific SQL patterns by using Snowflake\nfeatures and adhering to SQL code best practices. This enables\ndevelopment teams to create more efficient and cost-effective code by\nhighlighting poor performing queries. Refer to the Performance\nOptimization Pillar of the Snowflake Well-Architected Framework for\ndetails on how to do this.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EUtilize query history &amp; insights for highlevel monitoring\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EFor broader visibility across all workloads, the Snowsight UI and the\nACCOUNT_USAGE schema are indispensable.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003EWhen looking for opportunities to improve, it is best to look for\nqueries that have excessive execution time across similarly run\nqueries. The newly created \u003Ca href=\"https://docs.snowflake.com/en/user-guide/ui-snowsight-activity#label-snowsight-grouped-query-history\"\u003E&lt;u&gt;Grouped Query\nHistory&lt;/u&gt;\u003C/a\u003E\naggregates queries to their \u003Ca href=\"https://docs.snowflake.com/en/user-guide/query-hash#using-the-hash-of-the-parameterized-query-query-parameterized-hash\"\u003E&lt;u&gt;parameterized query\nhash&lt;/u&gt;\u003C/a\u003E\nand allows users to sort based on key performance indicators like\ntotal queries, total latency, bytes scanned, and drill down into the\nquery execution across time. It is recommended to start with queries\nwith outsized latency and query runs.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003EThe \u003Ca href=\"https://docs.snowflake.com/en/user-guide/ui-snowsight-activity\"\u003E&lt;u&gt;Query\nHistory&lt;/u&gt;\u003C/a\u003E\npage in Snowsight provides a high-level, filterable view of past and\ncurrently running queries. It allows for you to drill into the Query\nProfile for individual query statistics and investigation, even while\nthe query is running.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003ESnowflake's \u003Ca href=\"https://docs.snowflake.com/en/user-guide/query-insights\"\u003E&lt;u&gt;Query\nInsights&lt;/u&gt;\u003C/a\u003E\nfeature (both a set of account usage tables and query profile\nattributes) are also in Snowsight and can easily surface queries that\nwould benefit from optimization, such as queries with exploding joins\nor ineffective filtering criteria that Snowflake will surface on your\nbehalf.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cstrong\u003ELeverage the query profile for deep-dive analysis\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EAfter identifying problematic queries, the \u003Ca href=\"https://docs.snowflake.com/en/user-guide/ui-snowsight-activity#query-profile-reference\"\u003E&lt;u&gt;Query\nProfile&lt;/u&gt;\u003C/a\u003E\nis an essential tool for understanding the execution plan of a query. It\nprovides a detailed, step-by-step breakdown of every operator involved,\nfrom data scanning to final result delivery. To gain visibility into\ninefficiencies, analysts and developers should regularly use the Query\nProfile to identify common anti-patterns like:\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ENodes with high execution time:\u003C/strong\u003E Pinpoint specific operations\n(e.g., a complex join or a sort operation) that consume the majority\nof the query's execution time.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003E&quot;Exploding&quot; joins:\u003C/strong\u003E Identify Cartesian products or other\ninefficient joins that create a much larger number of rows than\nexpected.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EExcessive table scanning:\u003C/strong\u003E In the profile, compare Partitions\nscanned to Partitions total. A large number of scanned partitions on a\nclustered table often indicates an opportunity to improve table\npruning by adding or refining cluster keys or modifying WHERE clause\npredicates.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EData spillage:\u003C/strong\u003E Look for operators spilling data to local or remote\ndisk. This indicates that the warehouse memory is insufficient for the\noperation, resulting in significant performance degradation. This\nmight suggest a need to temporarily increase warehouse size for that\nspecific workload or rewrite the query to consume less memory.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cstrong\u003EProgrammatically deconstruct queries for automated analysis\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EFor advanced use cases and automated monitoring, you can\nprogrammatically access query performance data. The\n\u003Ca href=\"https://docs.snowflake.com/en/sql-reference/functions/get_query_operator_stats\"\u003E&lt;u&gt;GET_QUERY_OPERATOR_STATS&lt;/u&gt;\u003C/a\u003E\nfunction can be used to retrieve the granular, operator-level statistics\nfor a given query ID, showing many of the steps and attributes available\nin the query profile view. This allows you to build automated checks\nthat, for instance, flag any query where a full table scan accounts for\nmore than 90% of the execution time or where data spillage exceeds a\ncertain threshold. This approach helps scale performance visibility\nbeyond manual checks.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EPipeline optimization\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003ESnowflake pipeline optimization is about designing and managing data\ningestion and transformation processes that are efficient,\ncost-effective, scalable, and low-maintenance, while balancing business\nvalue and SLAs (service levels for freshness and responsiveness). Key\nlevers include architecture patterns (truncate &amp; load versus incremental\nloads), use of serverless managed services (e.g., Snowpipe, Dynamic\nTables), and auditing loading practices to maximize cost and performance\nbenefits.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EBatch loading\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EThe COPY INTO\n(\u003Ca href=\"https://docs.snowflake.com/en/sql-reference/sql/copy-into-table\"\u003E&lt;u&gt;table&lt;/u&gt;\u003C/a\u003E\nor\n\u003Ca href=\"https://docs.snowflake.com/en/sql-reference/sql/copy-into-location\"\u003E&lt;u&gt;location&lt;/u&gt;\u003C/a\u003E)\ncommand is a foundational and flexible method for bulk data loading from\nan external stage into a Snowflake table. Its importance lies in its\nrole as a powerful, built-in tool for migrating large volumes of\nhistorical data or loading scheduled batch files. The best practice is\nto use COPY INTO for one-time or large batch data loading jobs, which\ncan then be supplemented with more continuous ingestion methods like\nSnowpipe for incremental data. Additional information regarding COPY\nINTO and general data loading best practices can be found in our\ndocumentation\n\u003Ca href=\"https://docs.snowflake.com/user-guide/data-load-considerations\"\u003E&lt;u&gt;here&lt;/u&gt;\u003C/a\u003E.\nSome additional best practices are outlined below.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EFile and batch sizing:\u003C/strong\u003E Optimal performance is achieved with files\nsized 100&ndash;250 MB compressed. Too few large files or too many very\nsmall files reduce load parallelism and reduce efficiency.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EParallelism:\u003C/strong\u003E Size and configure your warehouse cluster to match\nthe number and typical size of files to be loaded. (e.g., an XS\nwarehouse has eight threads; to utilize it fully, you need at least\neight files).\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EFile organization:\u003C/strong\u003E Partition files in external stages by logical\npaths (date, region, etc.) to allow selective/cost-effective loads and\nenable easy partition-level reloading.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EPattern filtering:\u003C/strong\u003E Use COPY's pattern and files parameter to\nprecisely select the right files for each load, particularly to avoid\nscanning entire stages.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EResource management:\u003C/strong\u003E Use resource monitors and low auto-suspend\nsettings on load warehouses to minimize idle compute costs. For more\ninformation here see our section on Resource Monitors.**  **\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cstrong\u003EServerless ingestion\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EWhile named similarly,\n\u003Ca href=\"https://docs.snowflake.com/en/user-guide/data-load-snowpipe-intro\"\u003E&lt;u&gt;Snowpipe&lt;/u&gt;\u003C/a\u003E\nand \u003Ca href=\"https://docs.snowflake.com/en/user-guide/snowpipe-streaming/data-load-snowpipe-streaming-overview\"\u003E&lt;u&gt;Snowpipe\nStreaming&lt;/u&gt;\u003C/a\u003E\nare different serverless methods to ingest data. You would utilize one\nversus the other depending on your SLA requirements for data delivery,\nand based on how data is landing for consumption.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ESnowpipe (file-based micro-batch ingestion)\u003C/strong\u003E: Use Snowpipe for\ncontinuous ingestion of files where near real-time availability is\nacceptable and ingestion frequency is moderate. File size guidance is\nthe same as COPY INTO (100-250MB). This leverages serverless compute\nto avoid warehouse management overhead.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ESnowpipe Streaming (rowset-based, real-time ingestion)\u003C/strong\u003E: Use\nSnowpipe Streaming for very low-latency (sub-five-second) ingestion,\nhigh throughput, and streaming sources (e.g., Kafka, Kinesis, and\nevent hubs). You will want to ensure &ldquo;exactly-once guarantees&rdquo; with\noffset tokens for idempotency. Ideally, you would batch insert as much\nas possible to reduce API call overhead, but avoid building streaming\napplications just to load large &quot;batch&quot; files.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003E\u003Cstrong\u003EData Transformation Optimization\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EIn general, there are two major transformation strategies followed in\nSnowflake. One is &ldquo;truncate &amp; load,&rdquo; which involves full data\nreplacement and reloading, and one is incrementally loading new data\ninto an object, possibly requiring an upsert operation. Below is some\ngeneral guidance on when to use each.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003ETruncate &amp; load:\u003C/strong\u003E This is utilized when full data replacement is\nacceptable and the dataset volume/size allows for fast reloads. In\nthis case, data change patterns are such that identifying incremental\ndeltas is expensive or unreliable and downstream consumers can\ntolerate occasional brief periods of incomplete data (during load).\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\u003Cstrong\u003EBest practices:\u003C/strong\u003E Schedule loads during off-peak or agreed &ldquo;quiet&rdquo;\nwindows. Consider transient or temporary tables to stage incoming\ndata, maximize parallelism during the load, and then do an atomic\nswap/rename to minimize downtime. Ensure that you carefully manage\nobject dependencies, constraints, and statistical metadata refresh\nafter reloads to ensure proper performance once data is loaded\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EIncremental loads:\u003C/strong\u003E Incremental loads are best when datasets are\nlarge and a full reload is too costly, slow, or would create\nunacceptable latency. Change-data-capture (CDC), event streaming, or\nother means are available to reliably identify deltas (inserts,\nupdates, deletes). Additionally, in these cases, downstream consumers\nrequire near-continuous data availability or very low data latency and\nfreshness.\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EBest practices:\u003C/strong\u003E Design pipelines to deduplicate, merge, and\ncorrectly apply CDC deltas using staging tables, Streams, and merge\noperations. Ideally, you use Stream objects on source tables to\ntrack changes efficiently if utilizing Streams or Tasks, and use\nTasks to automate processing. Dynamic tables are also an option;\nplease see below. Additionally, for batch files: organize files by\npartitioned paths and use file loading patterns that enable max\nparallelism (see COPY INTO guidance below).\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003ETest workloads on \u003Ca href=\"https://docs.snowflake.com/en/user-guide/warehouses-gen2\"\u003E&lt;u&gt;Snowflake&rsquo;s Generation 2\nwarehouses&lt;/u&gt;\u003C/a\u003E\nthat incorporate software improvements for data manipulation.\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003EA great example of truncate &amp; load versus incremental can be seen in\nrefresh strategies for \u003Ca href=\"https://docs.snowflake.com/en/user-guide/dynamic-tables-about\"\u003E&lt;u&gt;Dynamic Tables\n(DTs)&lt;/u&gt;\u003C/a\u003E.\nThey are also a cost-effective and low-maintenance way to maintain data\npipelines. Dynamic tables provide a powerful, automated way to build\ncontinuous data transformation pipelines with SQL, eliminating the need\nfor manual task orchestration that was historically architected with\nstreams &amp; tasks in Snowflake. \u003Ca href=\"https://docs.snowflake.com/en/user-guide/data-pipelines-intro\"\u003E&lt;u&gt;Streams &amp;\ntasks&lt;/u&gt;\u003C/a\u003E\nstill have their uses, but general guidance and ease of use see more\nSnowflake users leaning towards DTs for automated data pipelines since\nthe pipeline definitions are defined in one object or in a chain of\nobjects.\u003C/p\u003E\n","\u003Cp\u003EThe \u003Ca href=\"https://docs.snowflake.com/en/user-guide/dynamic-tables-refresh\"\u003E&lt;u&gt;key concepts of dynamic\ntables&lt;/u&gt;\u003C/a\u003E\nare defined in our documentation. However, best practices and\ndetermining when to use DTs versus other methods of pipeline tooling in\nSnowflake still warrant discussion, and are compared in Snowflake&rsquo;s\n\u003Ca href=\"https://docs.snowflake.com/en/user-guide/dynamic-tables-comparison\"\u003E&lt;u&gt;documentation&lt;/u&gt;\u003C/a\u003E.\u003C/p\u003E\n","\u003Cp\u003EIn addition to Snowflake&rsquo;s published \u003Ca href=\"https://docs.snowflake.com/en/user-guide/dynamic-table-performance-guide\"\u003E&lt;u&gt;best\npractices&lt;/u&gt;\u003C/a\u003E,\nconsider the following\u003C/p\u003E\n\u003Cul\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EDefault to AUTO refresh\u003C/strong\u003E: Override only as needed for predictable\nSLAs.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EKeep incremental refresh-friendly queries simple:\u003C/strong\u003E Avoid complex\nnested joins, CTEs, and limit the number of outer joins per DT. The\nintroduction of complexity for incremental refresh may result in\nlonger times for execution, which in turn could force Snowflake in\nAUTO to perform a full refresh rather than incremental.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EIncremental refresh is optimal\u003C/strong\u003E when less than 5% of the rows\nchange between refresh cycles, and source tables are well clustered by\nrelevant keys.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EFor very complex/large transformations:\u003C/strong\u003E Chain multiple DTs for\nbetter incrementalization, rather than building one massive DT.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EMonitor actual lag and refresh metrics\u003C/strong\u003E to adjust lag or warehouse\nsizing as cost and response time needs evolve.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EPrefer a dedicated warehouse for DT refresh\u003C/strong\u003E during pipeline\ndevelopment and cost analysis to isolate consumption, then consider\nsharing for production.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EUse transient DTs\u003C/strong\u003E for high-throughput, non-critical staging steps\nto keep storage costs down.\u003C/p\u003E\n\u003C/li\u003E\u003Cli\u003E\n","\u003Cp\u003E\u003Cstrong\u003EAvoid non-deterministic functions in incremental DTs\u003C/strong\u003E (e.g.,\nrandom, volatile UDFs, queries depending on CURRENT_USER).\u003C/p\u003E\n\u003C/li\u003E\u003C/ul\u003E\n","\u003Cp\u003EMore information on dynamic tables versus streams &amp; tasks versus\nmaterialized views can be found in the Snowflake documentation\n\u003Ca href=\"https://docs.snowflake.com/en/user-guide/dynamic-tables-comparison#comparison-between-streams-and-tasks-and-dynamic-tables\"\u003E&lt;u&gt;here&lt;/u&gt;\u003C/a\u003E.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003ETable pruning optimization\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003ETable scanning operations are one of the most resource-intensive aspects\nof query execution. Minimizing the scan of data partitions in a table\n(called partition pruning) can provide significant improvements to both\nperformance and cost for data operations in Snowflake. The account usage\nviews\n\u003Ca href=\"https://docs.snowflake.com/en/sql-reference/account-usage/table_query_pruning_history\"\u003E&lt;u&gt;TABLE_QUERY_PRUNING_HISTORY&lt;/u&gt;\u003C/a\u003E\nand\n\u003Ca href=\"https://docs.snowflake.com/en/sql-reference/account-usage/column_query_pruning_history\"\u003E&lt;u&gt;COLUMN_QUERY_PRUNING_HISTORY&lt;/u&gt;\u003C/a\u003E\nprovide aggregated data on query execution, showing metrics such as\npartitions scanned and rows matched, which helps identify tables with\npoor pruning efficiency. By analyzing this data, you can determine the\nmost frequently accessed columns that are leading to a high number of\nunnecessarily scanned micro-partitions. Common ways to optimize these\naccess patterns are by using Automatic Clustering and Search\nOptimization.\u003C/p\u003E\n","\u003Cp\u003ETo determine tables that can most benefit from re-ordering how data is\nstored, you can review Snowflake&rsquo;s \u003Ca href=\"https://medium.com/snowflake/supercharging-snowflake-pruning-using-new-account-usage-views-52530b24bf2e\"\u003E&lt;u&gt;best\npractice&lt;/u&gt;\u003C/a\u003E\non how to analyze the TABLE_QUERY_PRUNING_HISTORY and\nCOLUMN_QUERY_PRUNING_HISTORY account usage views. Fundamentally,\nreducing the percentage of partitions in each table pruned to the\npercentage of rows returned in a query will lead to the most optimized\ncost and performance for any given workload.\u003C/p\u003E\n","\u003Cp\u003E\u003Cimg src=\"https://www.snowflake.com/content/dam/snowflake-site/developers/guides/well-architected-framework-cost-optimization-and-finops/image2.png?v=a498d772\" alt=\"Table Pruning Optimization\"\u003E\u003C/p\u003E\n","\u003Cp\u003EA table&rsquo;s Ideal pruning state is scanning the same % of rows matched as\npartitions read, minimizing unused read rows.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EWarehouse optimization\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EWarehouse concurrency, type, and sizing can impact the execution\nperformance and cost of queries within Snowflake. Review the compute\noptimization section for more information into the tuning of the\nwarehouse and its effect on cost and performance.\u003C/p\u003E\n","\u003Ch4\u003EImprove continually\u003C/h4\u003E\n","\u003Cp\u003EOptimization is a continuous process that ensures all workloads not only\ndrive maximum business value but also do so in an optimal manner. By\nregularly reviewing, analyzing, and refining your Snowflake environment,\nyou can identify inefficiencies, implement improvements, and adapt your\nplatform to the ever-evolving business needs. The following set of steps\nwill help you continue to improve your environment as you grow:\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EStep 1: Identify &amp; investigate workloads to improve\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EBegin by regularly reviewing (usually on a weekly, bi-weekly, or monthly\ncadence) workloads that could benefit from optimization, using\nSnowflake's \u003Ca href=\"https://docs.snowflake.com/en/user-guide/cost-insights\"\u003E&lt;u&gt;Cost\nInsights&lt;/u&gt;\u003C/a\u003E,\ndeviations in unit economics or health metrics (from the Visibility\nprinciple), or objects hitting control limits (e.g., queries hitting\nwarehouse timeouts from the Control principle). Once identified,\ninvestigate these findings through the Cost Management UI, Cost Anomaly\ndetection, Query History, or custom dashboards with Account Usage Views\nto pinpoint the root cause. Then, using the recommendations in the\nOptimize Pillar, make improvements to the workload or object.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EStep 2: Estimate &amp; test\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EBefore implementing changes, estimate the potential impact on cost and\nperformance. Estimation encompasses both the expected amount of time\nrequired to make a change (for instance, consolidating warehouses will\nnecessitate more coordination effort for teams using the resource than\naltering a configuration setting) as well as the hard cost of\nimplementation. Snowflake provides helpful cost estimation functions for\nserverless features, such as \u003Ca href=\"https://docs.snowflake.com/en/sql-reference/functions/system_estimate_automatic_clustering_costs\"\u003E&lt;u&gt;auto\nclustering&lt;/u&gt;\u003C/a\u003E\nand \u003Ca href=\"https://docs.snowflake.com/en/sql-reference/functions/system_estimate_search_optimization_costs\"\u003E&lt;u&gt;search optimization\nservice&lt;/u&gt;\u003C/a\u003E,\nto help make this a more data-driven process. If an estimation tool is\nnot available, making changes in a development or test environment on a\nsubset of the workload can provide an estimate and expected impact.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EStep 3: Decide &amp; implement\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EBased on your estimations and test results, decide whether to move\nforward with the change, ensuring the cost-benefit aligns with\nperformance or business needs. If approved, proceed to productionize the\nchange, integrating it into your live environment.\u003C/p\u003E\n","\u003Cp\u003E\u003Cstrong\u003EStep 4: Monitor &amp; analyze\u003C/strong\u003E\u003C/p\u003E\n","\u003Cp\u003EFinally, monitor and analyze the implemented changes to track and\nvalidate the change&rsquo;s success over a period of time. This involves using\nthe same investigation methods, like utilizing the Cost Management UI\nand Account Usage Views, and comparing cost and performance metrics\nbefore and after the change to articulate the business impact. Translate\nthe technical improvements into tangible business benefits. For example,\n&quot;Optimizing this query reduced monthly warehouse costs by $X and\nimproved report generation time by Y minutes, allowing business users to\nmake faster decisions.&quot; This helps to both demonstrate the value of your\noptimization efforts to stakeholders and business value to the company.\nFinally, course-correct as needed depending on the results of the\nmonitoring\u003C/p\u003E\n","\u003Cp\u003EThis continual improvement framework is the culmination of all subtopics\nwithin the Cost Optimization Pillar and provides a consistent way for\nyou to grow healthily on Snowflake.\u003C/p\u003E"],"description":"","title":"Cost Optimization","isDeveloperGuidesPage":false,":type":"snowflake-site/components/contentfragment",":items":{},":itemsOrder":[],"elements":{"quickstartArticleBody":{"value":"## Overview\n\nThe Cost Optimization Pillar focuses on integrating financial\naccountability and cost awareness throughout the cloud platform\nlifecycle. It involves establishing principles, gaining visibility into\nspending, implementing controls, and continuously optimizing resources\nto align cloud costs with business value. This pillar is essential for\nfinancial stakeholders, cloud architects, and engineering teams seeking\nto maximize return on investment in cloud infrastructure.\n\n## Principles\n\n#### Business impact: Align cost with business value\n\nConnect cloud spending directly to business outcomes, ensuring that every dollar spent in the cloud contributes meaningfully to strategic objectives and demonstrable value. Embed cost considerations directly into platform planning and architecture considerations.\n\n#### Visibility: Understand & contextualize your consumption footprint\n\nYou can neither control nor optimize what you can't see. Gain deep and granular insight into all aspects of your cloud spending, fostering transparency, and attributing costs effectively.\n\n#### Control: Establish guardrails and governance\n\nEstablish policies and mechanisms to govern resource provisioning and consumption, preventing unnecessary costs and enforcing financial boundaries.\n\n#### Optimize: Maximize efficiency and value\n\nContinuously improve the efficiency of your resources and workloads to maximize the value derived from your platform investment.\n\n## Recommendations\n\nThe following key recommendations are covered within each principle of\nCost Optimization:\n\n- **Business Impact**\n\n  - **Consider cost as a design constraint:** Integrate cost\n    considerations into the architecture and design process from the\n    very beginning, making it a key non-functional requirement alongside\n    performance, security, and reliability.\n\n  - **Quantify value:** Develop metrics to quantify the business value\n    delivered by cloud resources (e.g., revenue per Snowflake Credit,\n    cost per customer, efficiency gains).\n\n  - **Trade-off analysis:** Understand the inherent trade-offs between\n    cost, performance, reliability, and security, and make informed\n    decisions that align with business priorities.\n\n  - **Measure business value KPIs baseline:** Once metrics to quantify\n    business value are identified and trade-offs between cost,\n    performance, and reliability are established, you need to document a\n    “baseline measurement” in order to track progress again.\n    Furthermore, you should establish a regular cadence for refreshing\n    this measurement to ensure value realization is in line with\n    expectations and business goals.\n\n- **Visibility**\n\n  - **Understand Snowflake’s resource billing models:** Review\n    Snowflake’s billing models to align technical and non-technical\n    resources on financial drivers and consumption terminology.\n\n  - **Establish a consistent and granular cost attribution strategy:**\n    Implement robust and organizationally consistent tagging and\n    labeling strategies across all resources (storage objects,\n    warehouses, accounts, queries) to accurately allocate costs to\n    specific teams, products, or initiatives.\n\n  - **Embed cost accountability into your organization's DNA:**\n    Implement a feedback system to transparently show or charge back\n    cloud costs to relevant business units or teams, increasing\n    accountability.\n\n  - **Deliver clear, historical consumption insights:** Utilize\n    consistent in-tool visualizations or custom dashboards to monitor\n    consumption and contextualize spend on the platform with unit\n    economics.\n\n  - **Investigate anomalous consumption activity:** Review anomaly\n    detection to identify unforeseen cost anomalies and investigate\n    cause and effect trends.\n\n- **Control**\n\n  - **Proactively monitor all platform usage:** Define and enforce\n    budgets for projects and services, setting soft quotas to limit\n    resource consumption and prevent runaway spending.\n\n  - **Forecast consumption based on business needs:** Establish a\n    forecast process to project future spend needs based on business and\n    technical needs.\n\n  - **Enforce cost guardrails for organizational resources:** Set up\n    automated checks (e.g., Tasks, query insights) and resource\n    guardrails (e.g., warehouse timeout, storage policies, resource\n    monitors) to identify unusual usage patterns and potential\n    overspending as they occur.\n\n  - **Govern resource creation and administration:** Establish clear\n    guidelines and automated processes for provisioning and maintaining\n    resources, ensuring that only necessary and appropriately sized\n    resources are deployed (e.g., warehouse timeout, storage policies,\n    resource monitors).\n\n- **Optimize**\n\n  - **Compute workload-aligned provisioning:** Continuously monitor\n    resource health metrics to resize and reconfigure to match actual\n    workload requirements.\n\n  - **Leverage managed services:** Prioritize fully managed Snowflake\n    services (e.g., Snowpipe, Auto-clustering, [\u003Cu\u003EQuery Acceleration\n    Service\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/query-acceleration-service))\n    to offload operational overhead and often achieve better cost\n    efficiency.\n\n  - **Data storage types & lifecycle management:** Utilize appropriate\n    storage types and implement appropriate storage configuration to\n    right-size workloads to your storage footprint. Move data to cheaper\n    tiers or delete it when no longer needed.\n\n  - **Workload & architectural optimization:** Leverage architectural\n    decisions for cost-optimized resource utilization while meeting\n    business needs.\n\n  - **Limit data transfer:** Move, secure, and back up the appropriate\n    footprint across cloud regions.\n\n  - **Improve continually:** As new capabilities or usage patterns\n    emerge, establish a consistent testing framework to identify areas\n    for cost efficiency.\n\n## Business Impact\n\n#### Overview\n\nTo maximize organizational outcomes, Snowflake consumption must be\nexplicitly tied to business value. While cost optimization ensures\nefficiency, it does not guarantee that spend is aligned with outcomes\nthat matter to stakeholders. Alignment of business value to cost ensures\nworkloads, pipelines, dashboards, and advanced analytics are\ncontinuously evaluated not only for cost but also for the value they\ndeliver. This approach ensures Snowflake delivers as a strategic\nbusiness platform rather than a technical expense.\n\n#### Recommendations\n\nBusiness value to cost alignment represents a maturity step in FinOps on\nSnowflake. By embedding benchmarking, impact analysis, SLA definition,\nusage metrics, ROI measures, and business impact evaluation into daily\noperations, organizations can ensure that Snowflake consumption is\ncontinuously justified, optimized, and communicated in business terms.\nThis elevates the conversation with leadership from cost oversight to\nvalue realization and ensures that Snowflake is understood as a platform\nfor growth, innovation, and competitive advantage.\n\n#### \n\n#### Consider cost as a design constraint\n\nCost-Aware Architecting is the practice of embedding financial\naccountability directly into the design and development of Snowflake\nworkloads. By shifting left—introducing cost considerations early in the\narchitecture lifecycle—organizations ensure that ingestion,\ntransformation, analytics, and distribution workloads are not only\nperformant but also aligned with budget expectations. Many cost overruns\nin Snowflake originate from architectural decisions made without cost\nimplications in mind.\n\nFor example, designing ingestion with sub-second latency when daily\nfreshness is sufficient, or selecting inefficient table designs that\nincrease query scanning. These can lead to disproportionate spend.\nShifting cost awareness into architecture helps prevent inefficiencies\nbefore they occur and reinforces Snowflake’s role as a cost-effective\nenabler of business value.\n\nAt the ingestion layer, best practices include balancing latency versus\ncost by selecting appropriate services (e.g., Snowpipe, Snowpipe\nStreaming, or third-party tools) and choosing the right storage format\n(e.g., native tables, Iceberg). For transformations, design with\nfrequency versus SLA in mind to ensure data freshness matches the\nbusiness need. For analytics, apply schema design best practices such as\nthoughtful clustering key choices and pruning strategies to reduce\nconsumed credits. In distribution, optimize data transfer by monitoring\negress patterns and applying cost-saving practices like the\n[\u003Cu\u003ESnowflake Data Transfer\nOptimizer\u003C/u\u003E](https://docs.snowflake.com/en/collaboration/provider-listings-auto-fulfillment-eco).\n\n#### Quantify value\n\nTo maximize organizational outcomes, Snowflake consumption must be\nexplicitly tied to measurable business value and clearly communicated in\nterms that resonate with stakeholders. Establishing baselines using\nSnowflake’s [\u003Cu\u003EAccount Usage\nviews\u003C/u\u003E](https://docs.snowflake.com/en/sql-reference/account-usage)\ncreates a reference point, while tracking the current state highlights\ntrends in performance and consumption. Defining explicit goal\nstates—such as reduced cost per decision, improved time-to-market, or\nbroader data access—ties workloads directly to outcomes that matter to\nstakeholders. Outliers that diverge from these goals should be flagged\nfor review and optimization to prevent wasted resources. Best practices\ninclude applying unit economic measures related to your field (e.g. cost\nper terabyte analyzed or cost per fraud case prevented) and publishing\nROI dashboards that continuously link Snowflake consumption to business\noutcomes. By incorporating measurement into daily operations,\norganizations can move the conversation with leadership from cost\noversight to demonstrable value realization, positioning Snowflake as a\nclear enabler of enterprise growth and innovation.\n\n#### Trade-off analysis\n\nDefining SLAs or explicit business needs ensures that Snowflake\nworkloads are aligned with their intended purpose and that consumption\nlevels are justified by business outcomes. Some Snowflake workloads can\nbecome over-engineered or maintained without clear justification. Tying\neach workload to an SLA or business requirement prevents waste and\nensures that investment aligns with value. Before implementation, it is\ncrucial to document and align on the value of meeting an SLA,\nidentifying all stakeholders who rely on the workload. This includes\ndifferentiating between tangible outcomes, such as increased revenue,\nand intangible outcomes, such as compliance or data trust. Efficient\ncustomers use both [\u003Cu\u003ESnowflake Resource\nMonitors\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/resource-monitors)\nand Budgets features to enforce guardrails that ensure workloads remain\nwithin acceptable cost-performance boundaries. All design decisions have\ntrade-offs, and explicitly calling out the expected outcomes leads to\nstreamlined decision-making in the future when outcomes are reviewed.\n\n![Trade-off Analysis](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/well-architected-framework-cost-optimization-and-finops/image1.png?v=a498d772)\n\n#### Measure business value KPIs baseline\n\nBenchmarking establishes performance and cost baselines for Snowflake\nworkloads and compares them against internal standards as well as\nperformance and cost results from previous tech solutions. These\nbenchmarks can measure workload efficiency, the adoption of specific\nSnowflake features, and the alignment of workload costs to business\noutcomes. Without benchmarks, organizations lack the context to\ndetermine if their Snowflake consumption is delivering economies of\nscale or value back to the business. Benchmarking allows teams to\nidentify best practices, track improvements over time, and highlight\noutliers that may be driving unnecessary spend or delivering unexpected\nvalue.\n\nBest practices include measuring technical unit economic metrics (e.g.\ncredits per 1K queries, credits per 1 TB scanned), warehouse efficiency\nand utilization by workload type, and business unit economics (e.g.\ncredits per customer acquired, credits per partner onboarded, or credits\nper data product-specific KPIs). This provides a more comprehensive\npicture of consumption in relation to cost and value. Outliers should be\nhighlighted in executive communications as either success stories or\ncautionary examples. Benchmarking should be embedded in a continuous\nimprovement loop, where insights drive action, action improves\nefficiency, and those improvements are effectively measured.\n\n## Visibility\n\n#### Overview\n\nThe Snowflake Visibility principle is designed to transform opaque cloud\nspending into actionable insights, fostering financial accountability\nand maximizing business value within your Snowflake environment. It is\nfoundational to the FinOps framework, as you cannot control, optimize,\nor attribute business value to what you cannot see. To effectively\nmanage and optimize cloud costs in Snowflake, it's crucial to align\norganizationally to an accountability structure of spend, gain deep and\ngranular insight into all aspects of your cloud spending, and\ntransparently display it to the appropriate stakeholders to take action.\n\n#### Recommendations\n\nImplementing a robust FinOps visibility framework in Snowflake,\nsupported by cross-functional collaboration, enables each business\nfunction to access timely and relevant usage and cost data. This\nempowers them to understand the business impact of their consumption and\ntake prompt action when anomalies arise. To meet this vision, consider\nthe following recommendations based on industry best practices and\nSnowflake's capabilities:\n\n#### Understand Snowflake’s resource billing models\n\nIt is essential to review Snowflake's billing models to align technical\nand non-technical resources on financial drivers and consumption\nterminology. Snowflake's elastic, credit-based consumption model charges\nseparately for compute (Virtual Warehouses, Compute Pools, etc),\nstorage, data transfer, and various serverless features (e.g., Snowpipe,\nAutomatic Clustering, Search Optimization, Replication/Failover, AI\nServices). Understanding the interplay of these billing types ensures\nyou can attribute costs associated with each category’s unique usage\nparameters. High-level categories are below.\n\n- **Compute (Virtual Warehouses, Snowpark Container Services,\n  Openflow):** This is often the most dynamic and largest portion of\n  Snowflake spend. Virtual Warehouses are billed per-second after an\n  initial 60-second minimum when active, with credit consumption\n  directly proportional to warehouse size (e.g., an “X-Small” Gen1\n  warehouse consumes one credit per hour, a 'Small' consumes two credits\n  per hour, doubling with each size increase) while SPCS (via\n  [\u003Cu\u003Ecompute\n  pools\u003C/u\u003E](https://docs.snowflake.com/en/developer-guide/snowpark-container-services/accounts-orgs-usage-views#compute-pool-cost))\n  are billed for all uptime with a minimum of five minutes.\n  [\u003Cu\u003EOpenflow\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/data-integration/openflow/cost)\n  is billed per second of runtime with a \u003Cspan class=\"mark\"\u003E60-second\n  minimum.\u003C/span\u003E\n\n- **Storage:** Costs are based on the average monthly compressed data\n  volume stored, including active data, Time Travel (data retention),\n  and Fail-safe (disaster recovery) data. The price per terabyte (TB)\n  varies by cloud provider and region.\n\n- **Serverless features:** Snowflake Serverless features use resources\n  managed by Snowflake, not the user, which automatically scale to meet\n  the needs of a workload. This allows Snowflake to pass on efficiencies\n  and reduce platform administration while providing increased\n  performance to customers. The cost varies by feature and is outlined\n  in [\u003Cu\u003ESnowflake’s Credit Consumption\n  Document\u003C/u\u003E](/legal-files/CreditConsumptionTable.pdf).\n\n- **Cloud services layer:** This encompasses essential background\n  services, including query compilation, metadata management,\n  information schema access, access controls, and authentication. Usage\n  for cloud services is only charged if the daily consumption of cloud\n  services exceeds 10% of the daily usage of virtual warehouses.\n\n- **AI features:** Snowflake additionally offers artificial intelligence\n  features that run on Snowflake-managed compute resources, including\n  Cortex AISQL functions (e.g. COMPLETE, CLASSIFY, etc.), Cortex\n  Analyst, Cortex Search, Fine Tuning, and Document AI. The usage of\n  these features, often with tokens, are converted to credits to unify\n  with the rest of Snowflake’s billing model. Details are listed in the\n  Credit Consumption Document.\n\n- **Data transfer:** Data transfer is the process of moving data into\n  (ingress) and out of (egress) Snowflake. This generally happens via\n  egress on cross-region [\u003Cu\u003Edata\n  replication\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/account-replication-cost#viewing-actual-costs),\n  [\u003Cu\u003Ecopying into/out of stage, function\n  calls\u003C/u\u003E](https://docs.snowflake.com/user-guide/cost-understanding-data-transfer#snowflake-features-that-incur-transfer-costs),\n  and cross/same region [\u003Cu\u003ESPCS data\n  transfer\u003C/u\u003E](https://docs.snowflake.com/en/developer-guide/snowpark-container-services/accounts-orgs-usage-views#data-transfer-cost).\n  Depending on the cloud provider and the region used during data\n  transfer, charges vary.\n\n- **Data sharing & rebates:** Snowflake offers an opt-out Data\n  Collaboration rebate program that allows customers to offset credits\n  by data consumed with shared outside organizations. This rebate is\n  proportional to the consumption of your shared data by consumer\n  Snowflake accounts. See the latest terms and more details\n  [\u003Cu\u003Ehere\u003C/u\u003E](/en/legal/).\n\n\n#### Establish a consistent and granular cost attribution strategy\n\nImplementing robust and organizationally consistent tagging and labeling\nstrategies across all resources (e.g. storage objects, warehouses,\naccounts, queries) is crucial to accurately allocate costs to specific\nteams, products, or initiatives and linking actions to outcomes.\n\n**Tagging in Snowflake**\n\nTagging can be done at several levels:\n\n- **Snowflake object tagging:** Snowflake allows you to apply\n  [\u003Cu\u003Eobject-level\n  tags\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/object-tagging/introduction#supported-objects)\n  (key-value pairs) to accounts, warehouses, databases, schemas, users,\n  tables, and more. These tags are fundamental for apportioning costs\n  across departments, environments (dev, test, prod), projects, or lines\n  of business. Tags can also support\n  [\u003Cu\u003Einheritance\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/object-tagging/inheritance)\n  and\n  [\u003Cu\u003Epropagation\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/object-tagging/propagation),\n  simplifying tagging across dependent objects. For example, instead of\n  tagging each individual table underneath a schema, tagging the schema\n  will cause all tables to inherit the tag of the schema. This\n  significantly reduces the manual effort required for tagging and\n  ensures that new objects created within a tagged schema or propagated\n  workflow automatically inherit the correct cost attribution. Snowflake\n  strongly recommends tags for warehouses, databases, tables, and users\n  to enable granular cost breakdowns. You can use the\n  [\u003Cu\u003ETAG_REFERENCES\u003C/u\u003E\n  \u003Cu\u003Eview\u003C/u\u003E](https://docs.snowflake.com/sql-reference/account-usage/tag_references)\n  in SNOWFLAKE.ACCOUNT_USAGE to combine with common usage views like\n  WAREHOUSE_METERING_HISTORY and TABLE_STORAGE_METRICS to allocate usage\n  to relevant business groups. Object Tags are best utilized when\n  Snowflake objects are not shared across cost owners.\n\n- **Query tags for granular workload attribution:** [\u003Cu\u003EQuery\n  tags\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/cost-attributing#resources-used-by-applications-that-need-to-attribute-costs-to-different-departments)\n  can be set via session parameters (e.g., ALTER SESSION SET QUERY_TAG =\n  'your_tag';) or directly within SQL clients or ETL tools. This\n  associates individual queries with specific departments, projects, or\n  applications, even when using shared warehouses. This is extremely\n  valuable for shared warehouses where multiple teams or applications\n  use the same compute resource, allowing for granular showback. It is\n  also easy to programmatically make changes to query tags within\n  scripts or processes to allocate costs appropriately. Query tags can\n  be found in the QUERY_HISTORY view of the SNOWFLAKE.ACCOUNT_USAGE\n  schema.\n\n**Tagging models**\n\nIn the initial setup of a business unit or use case, it is important to\nconsider the [\u003Cu\u003Emodel for\ntagging\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/cost-attributing#types-of-cost-attribution-scenarios)\ncosts within the platform via shared or dedicated resources. These fall\ninto three large buckets:\n\n- **Resources used exclusively by a single cost center or department:**\n  An example of this is using object tags to associate warehouses with a\n  department. You can use object tags to attribute the costs incurred by\n  those warehouses to that department entirely.\n\n- **Resources shared by users from multiple departments:** An example of\n  this is a warehouse shared by users from different departments. In\n  this case, you use object tags to associate each user with a\n  department. The costs of queries are attributed to the users. Using\n  the object tags assigned to users, you can break down the costs by\n  department.\n\n- **Applications or workflows shared by users from different\n  departments:** An example of this is an application that issues\n  queries on behalf of its users. In this case, each query executed by\n  the application is [\u003Cu\u003Eassigned a query\n  tag\u003C/u\u003E](https://docs.snowflake.com/en/sql-reference/sql/alter-session)\n  that identifies the team or cost center of the user for whom the query\n  is being made.\n\n![Tagging Models](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/well-architected-framework-cost-optimization-and-finops/image4.png?v=a498d772)\n\nEach model has its pros and cons, including how to handle concepts such\nas idle time or whether to show/charge back attributed or billed\ncredits. Review each model before deploying resources. If an\norganization is caught between models, a common approach is to start in\na shared resource environment and graduate to dedicated resources as the\nworkload increases.\n\n**Tag enforcement**\n\nClear and consistent naming conventions for accounts, warehouses,\ndatabases, schemas, and tables facilitate immediate cost understanding.\nEnforcing robust tagging policies (e.g., requiring specific tags for new\nresource creation and using automated scripts to identify untagged\nresources) is crucial for accurate data interpretation and effective\ncost management. Without tag enforcement, it is difficult to accurately\nallocate all costs and can require manual effort, like extensive\ntag-mapping tables. Tag values are enforced within an account, but if a\nmulti-account strategy is needed for your organization, a tag\n[\u003Cu\u003Edatabase can be\nreplicated\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/cost-attributing#replicating-the-tag-database)\nand leveraged across all accounts to ensure consistent values are used.\nFor best-in-class visibility, it is recommended to have a tagging\nstrategy and tag all resources in an organization to allocate costs to\nrelevant owners.\n\n#### Embed cost accountability into your organization's DNA \n\nTo effectively manage Snowflake spend and align business structure to\ntechnical resources, you should implement a system of showback or\nchargeback. This approach is crucial for promoting accountability and\noptimizing resource usage as there is a single owner for each object\nwithin the platform.\n\n**Showback**\n\nIf cost accountability models have not been implemented previously,\nconsider a showback model. This involves transparently reporting\nSnowflake costs to different departments or projects to raise awareness\nof their costs. By showing each team their monthly consumption (broken\ndown by warehouse usage, query costs, and storage, etc.), it encourages\na cost-conscious culture. This initial step helps teams understand the\nfinancial impact of their actions without the immediate pressure of\nbudget cuts. Tools like Snowflake's built-in [\u003Cu\u003ECost Management\nUI\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/cost-exploring-overall#overview-of-account-level-costs)\n& [\u003Cu\u003Ebudget\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/budgets)\nviews, third-party cost management platforms, or custom dashboards can\nbe used to provide these reports.\n\n**Chargeback**\n\nFor more financially mature organizations, a chargeback model can be\nvery effective for managing costs. This system directly bills\ndepartments for their Snowflake usage. This creates a powerful financial\nincentive for teams to optimize their workloads. To make this transition\nsmooth and fair, you need to define clear rules for cost allocation. By\nimplementing chargeback, you turn each department into a financial\nstakeholder, encouraging them to right-size their warehouses, suspend\nthem during idle periods, and write more efficient queries. This shift\nin accountability leads to a more disciplined and cost-effective use of\nyour Snowflake environment.\n\nIn either case, having a centralized dashboard or visual for all\norganizations to review intra-period is critical for financial\naccountability and next-step actions.\n\n#### Deliver clear historical consumption insights \n\nThe most mature FinOps customers are those who programmatically and\nstrategically drive consumption insights across the business. This\ninvolves three core elements:\n\n- **Platform cost tracking:** Pinpoint specific Snowflake credit\n  consumption (compute, storage, serverless, AI, and data transfer),\n  usage patterns, and efficiency opportunities to deconstruct credit\n  usage, understand drivers, identify anomalies, and (eventually) drive\n  forecasting operations.\n\n- **Normalization of consumption:** Once consumption has been attributed\n  and aggregated to meaningful levels, normalizing it against relevant\n  business and technical metrics contextualizes it in relation to\n  organizational goals. It allows for the natural growth and seasonality\n  of platform usage to be put into context with business and technical\n  demand drivers.\n\n- **Clear reporting:** Presenting Snowflake cost data in an\n  understandable format for various stakeholders is vital. This enables\n  budgeting, forecasting, KPIs, and business value metrics directly tied\n  to Snowflake credit consumption.\n\n**Track usage data for all platform resources**\n\nTo deliver clear and actionable consumption insights, it is essential to\nleverage the rich usage data that Snowflake natively provides. The\nfoundation for all cost visibility is the **SNOWFLAKE** database, which\ncontains two key schemas for this purpose:\n[\u003Cu\u003EACCOUNT_USAGE\u003C/u\u003E](https://docs.snowflake.com/en/sql-reference/account-usage)\n(for granular, account-level data) and\n[\u003Cu\u003EORGANIZATION_USAGE\u003C/u\u003E](https://docs.snowflake.com/en/sql-reference/organization-usage)\n(for a consolidated view across all accounts).\n\n\n| Metric Category | Description | Key Metrics | Primary Data Sources |\n|---|---|---|---|\n| Compute & query metrics | Understand the cost of query execution, warehouse consumption, and overall compute health. These are often the most dynamic and largest portion of your spend. | - Credits used: total credits by warehouse\u003Cbr\u003E- Query performance: execution time, bytes scanned, compilation time, parameterized query hash\u003Cbr\u003E- Warehouse health: % idle time, queueing, spilling, concurrency | - `ACCOUNT_USAGE.WAREHOUSE_METERING_HISTORY` (hourly warehouse credit usage)\u003Cbr\u003E- `ACCOUNT_USAGE.QUERY_HISTORY` (detailed query metrics and associated warehouses) |\n| Storage metrics | Costs for compressed data, including active data, Time Travel, and Fail‑safe. | - Storage volume (avg monthly compressed GB/TB)\u003Cbr\u003E- Inactive storage (Time Travel, Fail‑safe)\u003Cbr\u003E- Storage growth rates\u003Cbr\u003E- Table access (stale/unused) | - `ACCOUNT_USAGE.TABLE_STORAGE_METRICS`\u003Cbr\u003E- `ACCOUNT_USAGE.DATABASE_STORAGE_USAGE_HISTORY`\u003Cbr\u003E- `ACCOUNT_USAGE.ACCESS_HISTORY` |\n| Serverless & AI metrics | Track credit consumption by Snowflake‑managed services and AI features. | - Credits used by service\u003Cbr\u003E- Cost per credit‑consuming events | - `ACCOUNT_USAGE.\u003CServerless Feature\u003E_HISTORY`\u003Cbr\u003E- `ORGANIZATION_USAGE.METERING_DAILY_HISTORY`\u003Cbr\u003E- AI views such as `CORTEX_FUNCTIONS_USAGE_HISTORY`, `CORTEX_ANALYST_USAGE_HISTORY`, `DOCUMENT_AI_USAGE_HISTORY` |\n| Data transfer | Cost of moving data into (ingress) and out of (egress) Snowflake, especially cross‑region/cloud. | - Bytes transferred\u003Cbr\u003E- Transfer cost by destination\u003Cbr\u003E- Replication vs. egress | - `ACCOUNT_USAGE.DATA_TRANSFER_HISTORY`\u003Cbr\u003E- `ORGANIZATION_USAGE.DATA_TRANSFER_DAILY_HISTORY` |\n| Financial metrics | Translate credits to currency and provide org‑wide spend view. | - Overall dollar spend (daily)\u003Cbr\u003E- Spend by service type | - `ORGANIZATION_USAGE.USAGE_IN_CURRENCY_DAILY`\u003Cbr\u003E- `ORGANIZATION_USAGE.RATE_SHEET_DAILY` |\n\n\n\n**Normalize consumption with unit economic metrics**\n\nFor organizations to achieve comprehensive financial visibility, it is\nrecommended best practice to move beyond tracking aggregate spend and\nimplement Unit Economics Metrics. Unit economics provides a powerful\nmethodology for normalizing cloud consumption by tying platform costs to\nspecific business or operational drivers. This per-unit approach helps\nyou understand cost efficiency, measure the ROI of your initiatives, and\nmake data-driven decisions about resource allocation and optimization.\nBy translating abstract credit consumption into tangible metrics, you\ncan empower technical and business teams with a shared language for\ndiscussing value and cost. These metrics are commonly tracked across\ntime to show changes in efficiency or business impact.\n\n**Efficiency metrics (technical KPIs)**\n\nEfficiency Metrics are technical Key Performance Indicators (KPIs) that\nconnect cloud costs directly to platform operations and workloads. They\nare crucial for engineering teams and platform owners to identify\ninefficiencies, optimize resource usage, and understand the cost drivers\nof the data platform itself. These metrics provide the granular,\noperational view needed to manage the platform's performance day-to-day.\nSome common examples include:\n\n- **Cost per 1000 executable queries:** Determines the average cost for\n  a batch of one thousand queries. This metric is useful for\n  understanding the overall cost profile of analytical activity on the\n  platform and, when trended, how efficiency has changed across time.\n\n- **Cost per TB scanned:** Represents the average scanning cost of data.\n  This metric can help understand the cost implications of table\n  configuration (data ordering/clustering keys, Search Optimization) and\n  query efficiency.\n\n- **Cost per user:** Measures the average cost to support each active\n  user on the platform. This helps in understanding the cost\n  implications of user growth and identifying expensive usage patterns.\n\n![Efficiency Metrics](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/well-architected-framework-cost-optimization-and-finops/image3.png?v=a498d772)\n\u003E\n\u003E Customers can track credits (warehouse) per thousand queries within a\n\u003E use case to see how efficiency has evolved over time and determine if\n\u003E they are achieving economies of scale.\n\n**Business metrics (business KPIs)**\n\nBusiness Metrics link cloud spending to meaningful business outcomes and\nvalue drivers. These KPIs are essential for executives, finance teams,\nand product managers to understand the return on investment (ROI) of\ncloud expenditure and to allocate costs accurately across different\nparts of the organization. They answer the critical question: \"What\nbusiness value are we getting for our cloud spend?\" Examples include:\n\n- **Cost per customer:** Attributes a portion of the total platform cost\n  to each of the company's end customers. This is a powerful metric for\n  understanding profitability and cost-to-serve at a customer level.\n\n- **Cost per project:** Allocates cloud costs to specific internal\n  projects, products, or initiatives. This enables accurate\n  project-based accounting and helps assess the financial viability of\n  new features or services.\n\n- **\"Bring Your Own Metric\":** Custom define unit economic metrics that\n  are unique to your organization's business model. Examples could\n  include Cost per Transaction, Cost per Shipment, or Cost per Ad\n  Impression. Creating these tailored metrics ensures the most accurate\n  alignment between cloud spend and core business value.\n\n![Business Metrics](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/well-architected-framework-cost-optimization-and-finops/image5.png?v=a498d772)\nIf Snowflake is in the value chain for orders, the cost per order can be\na good metric to tie Snowflake consumption to Business Demand Drivers.\n\n**Visualize metrics with Snowsight tools and external BI tools**\n\nA critical component of cost governance is the effective visualization\nof spending and usage data. Raw data, while comprehensive, is often\ndifficult to interpret and act upon. By translating cost and usage\nmetrics into interactive dashboards and reports, you can empower\nstakeholders—from engineers to executives—to understand spending\npatterns, troubleshoot, and make informed decisions. A multi-layered\napproach can be used to track meaningful cost metrics.\n\n- **Snowsight's built-in cost management capabilities:** Snowsight\n  provides pre-built visuals for usage and credit monitoring directly\n  within the [\u003Cu\u003ESnowflake Cost Management\n  UI\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/cost-exploring-overall#overview-of-account-level-costs).\n  It allows filtering by tags (e.g., view cost by department tag),\n  credit consumption by object types, and cost insights to optimize the\n  platform.\n\n- **Creating custom dashboards or Streamlit apps for different\n  stakeholder groups:** Snowsight facilitates the creation of custom\n  dashboards using ACCOUNT_USAGE and ORGANIZATION_USAGE views. Custom\n  charts in the Dashboards feature and Streamlit apps can both be easily\n  shared. Combined with cost allocation and tagging, this allows for\n  tailored views for finance managers (aggregated spend), engineering\n  managers (warehouse utilization), or data analysts (query\n  performance).\n\n- **Integrating with third-party BI tools for advanced analytics:**\n  Connecting to Snowflake from tools like Tableau, Power BI, Looker, or\n  custom applications offers highly customizable and extensive control\n  over cost data visualization. Cloud-specific third-party data programs\n  (FinOps platforms) offer easier setup and more out-of-the-box\n  Snowflake cost optimization insights.\n\n- **Leverage Cortex Code (In Preview):** This AI Assistant capability \nallows users to query cost and usage data in ACCOUNT_USAGE views using \nnatural language natively in the Snowsight UI.\n\n#### Investigate anomalous consumption activity\n\nCost Anomaly Detection is a critical component of visibility that\nleverages machine learning to continuously monitor credit consumption\nagainst historical spending patterns, automatically flagging significant\ndeviations from the established baseline. This proactive monitoring is\nessential for preventing budget overruns and identifying inefficiencies,\nshifting the organization from a reactive to a proactive cost management\nposture to mitigate financial risk. As a best practice, you should\ninitially review anomaly detection on the entire account to gain a broad\nview, then dive deeper into a more granular review for individual\nhigh-spend warehouses. [This\napproach](https://docs.snowflake.com/en/user-guide/cost-anomalies)\nallows for more targeted analysis and assigns clear ownership for\ninvestigating any flagged anomalies. There are several methods for\nanomaly detection supported by Snowflake:\n\n**Cost Anomalies in Snowsight**\n\nSnowsight, Snowflake's primary web interface, offers a dedicated Cost\nManagement UI that allows users to visually identify and analyze the\ndetails of any detected cost anomaly. The importance of this intuitive\nvisual interface lies in its ability to make complex cost data\naccessible to a wide range of stakeholders, enabling rapid root cause\nanalysis by correlating a cost spike with specific query history or user\nactivity. One of the tabs in this UI is the Cost Anomaly Detection tab,\nwhich enables you to view cost anomalies at the organization or account\nlevel and explore the top warehouses or accounts driving this change. To\nfoster a culture of cost awareness and accountability, it is a best\npractice to ensure there is an owner for an anomaly detected in the\naccount and set up a [\u003Cu\u003Enotification (via\nemail)\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/cost-anomalies-ui#configure-notifications-with-sf-web-interface)\nin the UI itself to ensure that cost anomalies are quickly and\naccurately investigated.\n\n**Programmatic Cost Anomaly Detection**\n\nFor deeper integration and automation, organizations can review\n[\u003Cu\u003Eanomalies\nprogrammatically\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/cost-anomalies-class)\nusing the SQL functions and views available within the SNOWFLAKE.LOCAL\nschema. This approach is important for enabling automation and\nscalability, allowing cost governance to be embedded directly into\noperational workflows, such as feeding anomaly data into third-party\nobservability tools or triggering automated incident response playbooks.\nA key best practice is to utilize this programmatic access to build\ncustom reports and dashboards that align with specific financial\nreporting needs and to create advanced, automated alerting mechanisms\nthat pipe anomaly data into established operational channels, such as\nSlack or PagerDuty.\n\n**Custom Anomaly Detection & Notification**\n\nAlthough anomalies are detected at the account and organization level,\nif you desire to detect anomalies at lower levels (e.g. warehouse or\ntable), it is recommended to leverage Snowflake’s [\u003Cu\u003EAnomaly\nDetection\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/ml-functions/anomaly-detection)\nML class and pair it with a Snowflake\n[\u003Cu\u003Ealert\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/ml-functions/anomaly-detection#monitoring-with-a-snowflake-alert)\nto notify owners of more granular anomalies that occur within the\necosystem. This ensures all levels of Snowflake cost can be monitored in\na proactive and effective way. As a best practice,\n[\u003Cu\u003Enotifications\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/notifications/about-notifications)\nshould be configured for a targeted distribution list that includes the\nbudget owner, the FinOps team, and the technical lead responsible for\nthe associated Snowflake resources, ensuring all stakeholders are\nimmediately aware of a potential cost overrun and can coordinate a swift\nresponse.\n\n## Control\n\n#### Overview\n\nThe Control principle of the Cost Optimization framework is designed to\nmove organizations beyond cost reporting by establishing the necessary\nautomated guardrails and governance policies to manage and secure\nSnowflake consumption proactively. This framework enforces financial\ngovernance by transforming cost visibility into tangible action,\nutilizing features like budgets and resource monitors to prevent\nuncontrolled growth and ensure consumption aligns strictly with\norganizational financial policies. Control is foundational for\nmaximizing the value of the platform by ensuring disciplined and\ncost-effective resource utilization.\n\n#### Recommendations\n\nImplementing a comprehensive control framework, supported by features\nsuch as Resource Monitors, Budgets, and Tagging Policies, empowers\norganizations to enforce financial accountability and maintain budget\npredictability. By adopting these controls, teams can actively manage\nspend, quickly and automatically mitigate cost inefficiencies, and\nensure the disciplined, cost-effective utilization of the entire\nSnowflake environment. The culmination of all of these controls leads to\ngreater platform ROI and minimized financial risk. To meet this goal,\nconsider the following recommendations based on industry best practices\nand Snowflake's capabilities:\n\n#### Proactively monitor all platform usage\n\nTo effectively manage and [\u003Cu\u003Econtrol Snowflake\nspend\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/cost-controlling),\nit is essential to establish and enforce cost guardrails. Implementing a\n[\u003Cu\u003Ebudgeting\nsystem\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/budgets) is a key\nFinOps practice that promotes cost accountability and optimizes resource\nusage by providing teams with visibility into their consumption and the\nability to set alerts and automated actions. Budgeting helps to prevent\nunexpected cost overruns and encourages a cost-conscious culture.\n\n**Set budgets permissions**\n\nTo establish effective budgets, it's crucial to define [\u003Cu\u003Eroles and\nprivileges\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/budgets#budgets-roles-and-privileges)\nby configuring the role, team, or user responsible for the resources.\nThis ensures that budget tracking aligns with specific business units or\nprojects, enabling accurate cost attribution and accountability. By\nlinking consumption to the relevant stakeholders, you can create a clear\nshowback or chargeback model, which is vital for fostering a sense of\nownership over spending. This configuration should be part of a broader,\nconsistent tagging strategy to ensure all costs are properly allocated\nto departments, environments, or projects.\n\n**Create budget categories**\n\nCategorizing costs is fundamental for granular budget management. You\ncan establish budgets based on the\n[\u003Cu\u003Eaccount\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/budgets/account-budget)\nor create [\u003Cu\u003Ecustom\ncategories\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/budgets/custom-budget)\nusing Object Tags. Custom tags, such as those for a data product or cost\ncenter, are critical for accurately apportioning costs across different\ndepartments, lines of business, or specific projects. This granular\napproach provides a detailed breakdown of where spending occurs,\nenabling more precise control and informed decision-making regarding\nresource allocation. Implementing robust tagging policies and naming\nconventions ensures consistency and facilitates the interpretation of\ncost data. Because budgets are soft limit objects, objects can be part\nof more than one budget if different perspectives need to be tracked for\ncost (e.g., cost center & workload level budgeting).\n\n**Implement a notification strategy**\n\nEffective budget management relies on timely communication. Setting up\nalerting through emails or webhooks to collaboration tools like Slack\nand Microsoft Teams provides proactive\n[\u003Cu\u003Enotification\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/budgets/notifications)\nto key stakeholders when spending approaches or exceeds a defined\nthreshold. These alerts provide teams with an opportunity to review and\nadjust their usage before it leads to significant cost overruns. This\ncapability positions organizations for security success by mitigating\npotential threats through comprehensive monitoring and detection.\n\nNotifications are not limited to just budgets; [\u003Cu\u003ESnowflake\nalerts\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/alerts) can also be\nconfigured to systematically notify administrators of unusual or costly\npatterns, such as those listed in the Control and Optimize sections of\nthe Cost Pillar. This ensures that key drivers of Snowflake consumption\ncan be tracked and remediated proactively, even as the platform’s usage\ngrows.\n\n#### Forecast consumption based on business needs\n\nForecasting Snowflake consumption should be a strategic business\nfunction, not a mere technical prediction. The goal is to establish a\ntransparent basis for budgeting and optimizing ROI by linking\nconsumption directly to measurable business outcomes. In a dynamic,\nusage-based environment where compute costs are the most volatile\nelement of the bill, a robust framework must integrate quantitative\nanalysis of historical usage with qualitative insights into future\nbusiness drivers. The following framework outlines how to build and\nmaintain a comprehensive consumption forecast.\n\n**Establish the Baseline**\n\nThis phase focuses on understanding the source of spend and establishing\ngranular cost accountability.\n\n- **Identify demand drivers and unit economics:** To understand what\n  drives Snowflake spend, correlate historical credit, storage, and data\n  transfer usage with key business metrics like cost per customer or per\n  transaction. Use Snowflake's\n  [\u003Cu\u003EACCOUNT_USAGE\u003C/u\u003E](https://docs.snowflake.com/en/sql-reference/account-usage)\n  schema, including the WAREHOUSE_METERING_HISTORY and QUERY_HISTORY\n  views, as the primary data sources for this analysis.\n\n- **Granular cost attribution:** Accurately tie costs back to business\n  teams or workloads by implementing a mandatory tagging strategy for\n  all warehouses and queries. Align these tags with your organization's\n  financial structure to provide clear cost segmentation.\n\n**Build the predictive model**\n\nThis phase integrates historical trends with strategic business inputs\nto create forward-looking projections.\n\n- **Historical trend analysis:** Analyze past usage for trends,\n  seasonality, and outliers to inform future projections. Start with\n  simple trend-based forecasting and progressively move to more\n  sophisticated models, leveraging Snowflake’s built-in\n  [\u003Cu\u003ESNOWFLAKE.ML.FORECAST\u003C/u\u003E\n  \u003Cu\u003Efunction\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/ml-functions/forecasting)\n  for time-series forecasting.\n\n- **Driver-based forecasting:** Integrate planned business initiatives\n  and new projects directly into the model. Collaborate with business\n  leaders to gather strategic inputs such as projected customer growth,\n  new product launches, or increased data ingestion from marketing\n  campaigns.\n\n- **Scenario modeling:** Develop multiple forecast scenarios (e.g.,\n  \"conservative,\" \"base case,\" \"aggressive\") by applying varied growth\n  factors to key business drivers. This enables flexible planning and\n  helps mitigate financial risk.\n\n**Operationalize and optimize**\n\nThis phase links the forecast to continuous monitoring, governance, and\nproactive cost controls.\n\n- **Continuous monitoring and variance analysis:** Regularly compare\n  actual consumption against the forecast to identify and investigate\n  significant variances. This feedback loop is crucial for refining the\n  underlying model and adapting to evolving business needs.\n\n- **Collaborative governance:** Ensure a single source of truth for\n  consumption data by establishing a regular FinOps review session with\n  Finance, Engineering, and Business teams. Use customized dashboards to\n  present data in business-friendly terms.\n\n- **Implement predictive budget controls:** Shift from reactive spending\n  to a proactive model. Utilize Snowflake Resource Monitors and Budgets,\n  which employ monthly-level time-series forecasting, to define credit\n  quotas and trigger automated alerts or suspensions to prevent cost\n  overruns.\n\n#### Enforce cost guardrails for organizational resources\n\nTo effectively manage Snowflake expenditure and prevent unforeseen\ncosts, it is crucial to implement a robust framework of resource\ncontrols. These controls act as automated guardrails, ensuring that\nresource consumption for compute, storage, and other services aligns\nwith your financial governance policies. By proactively setting policies\nand remediating inefficiencies, you can maintain budget predictability\nand maximize the value of your investment in the platform.\n\n**Compute controls**\n\nControlling compute consumption is often the most critical aspect of\nSnowflake cost management, as it typically represents the largest\nportion of spend. Snowflake offers several features to manage warehouse\nusage and prevent excessive costs.\n\n- **Implement resource monitors**: [\u003Cu\u003EResource\n  monitors\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/resource-monitors)\n  are a powerful feature for tracking and controlling credit consumption\n  across virtual warehouses or for the entire account. Their primary\n  importance lies in their ability to enforce strict budget limits,\n  preventing cost overruns by automatically [\u003Cu\u003Etriggering\n  actions\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/resource-monitors#actions),\n  such as sending notifications and/or suspending warehouses when credit\n  usage reaches a defined quota. For effective governance, it is a best\n  practice to create multiple resource monitors at different\n  granularities (e.g., per-department, per-project) with escalating\n  actions, such as notifying administrators at 80% usage and suspending\n  all assigned warehouses at 100% usage, to cap spending. It is also\n  considered best practice to ensure there is a consistent action tied\n  to the resource monitors based on your organization’s ways of working.\n  For example, it is worth considering that set resource monitors\n  perform actions like notify to specific admin(s) within your\n  organization.\n\n- **Reduce Runaway Queries:** Runaway or hung queries can lead to\n  significant cost overruns. Managing long-running queries is especially\n  important for environments with ad-hoc users or complex analytical\n  workloads, where a poorly written query can consume credits for hours.\n\n  - **Statement timeout policies** automatically terminate any query\n    that runs longer than a specified time limit. This serves as an\n    essential guardrail to prevent individual queries from consuming\n    excessive resources and impacting both cost and performance for\n    other users. The best practice is to set the\n    [\u003Cu\u003ESTATEMENT_TIMEOUT_IN_SECONDS\u003C/u\u003E\n    \u003Cu\u003Eparameter\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/cost-controlling-controls#limit-query-times)\n    at different levels—for the account, warehouse, specific users, or\n    individual sessions—to tailor controls to different workload\n    patterns, such as allowing longer timeouts for ETL warehouses\n    compared to BI warehouses. [\u003Cu\u003EQueued timeout\n    policies\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/cost-controlling-controls#limit-statement-queue-times)\n    can also help remove queries that eclipse a reasonable time\n    threshold and could have been run elsewhere by users trying to\n    receive a response.\n\n  - **Policy-based automation** can also cancel queries pre-emptively.\n    An example is using stored procedures that leverage the\n    [\u003Cu\u003ESYSTEM\\$CANCEL_QUERY\u003C/u\u003E](https://docs.snowflake.com/en/sql-reference/functions/system_cancel_query)\n    function to terminate statements that exceed predefined runtime\n    thresholds or contain ill-advised logic, such as exploding joins.\n    This approach allows you to more finely customize the types of\n    queries you want to cancel, as you have full control over defining\n    the stored procedure logic.\n\n- **Auto-suspend policies**: Auto-suspend policies are a foundational\n  cost control for virtual warehouses, automatically suspending a\n  warehouse after a defined period of inactivity. By default, all\n  warehouses have auto-suspend enabled, however this feature can be\n  disabled, so it’s important to [\u003Cu\u003Emonitor warehouse auto-suspend\n  configuration\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/warehouses-considerations#automating-warehouse-suspension)\n  and ensure proper access controls are set to\n  \u003Cspan class=\"mark\"\u003Erestrict users from disabling the auto-suspend\n  setting. The best practice for balancing cost versus performance is to\n  reduce the auto-suspend policy to the minimum possible (generally\n  above 60 seconds) without affecting query caching and performance\n  (SLA) expectations.\u003C/span\u003E\n\n**Storage Controls**\n\nWhile storage costs are generally lower than compute costs, they can\ngrow significantly over time. Understanding the different components of\nstorage cost and implementing policies to manage the types of storage is\nkey to keeping these costs in check.\n\n- **Staged files:**\n  [\u003Cu\u003EStaged\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/data-load-considerations-stage)\n  files are files that have been prepped for bulk data loading/unloading\n  (stored in compressed or uncompressed format). They can be stored in\n  an [\u003Cu\u003Eexternal\n  stage\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/data-load-s3-create-stage#creating-an-external-stage)\n  using cloud provider’s blob storage (such as Amazon S3) or an\n  [\u003Cu\u003Einternal\n  stage\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/data-load-local-file-system-create-stage)\n  within the Snowflake platform. You are only charged for data stored in\n  internal stages.\n\n  - To help control costs on staged files, as well as improve\n    performance of data loads, you can ensure successfully ingested\n    files are removed by using the PURGE = TRUE option of the\n    \u003Cspan class=\"mark\"\u003E[\u003Cu\u003ECOPY INTO\n    \\\u003Ctable\\\u003E\u003C/u\u003E](https://docs.snowflake.com/en/sql-reference/sql/copy-into-table)\n    command\u003C/span\u003E. \u003Cspan class=\"mark\"\u003EAlternatively, use the\n    [\u003Cu\u003EREMOVE\u003C/u\u003E](https://docs.snowflake.com/en/sql-reference/sql/remove)\n    command to remove the files in the stage.\u003C/span\u003E\n\n- **Active Storage:** [\u003Cu\u003EActive\n  Storage\u003C/u\u003E](https://docs.snowflake.com/en/sql-reference/info-schema/table_storage_metrics)\n  consists of the data in a table that can be actively queried against\n  at the current point of time (i.e., without using Time-Travel\n  commands)**.** To control active storage costs, you can create a\n  [\u003Cu\u003EStorage Lifecyle\n  Policy\u003C/u\u003E](https://docs.snowflake.com/LIMITEDACCESS/storage-lifecycle-policy/storage-lifecycle-policies)\n  to automatically archive or delete data based on an expiration policy\n  you create.\n\n- **Time Travel:** [\u003Cu\u003ETime\n  Travel\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/data-time-travel)\n  data is data that is maintained for all historical changes of a table\n  through its retention time, allowing for easy recovery of changed or\n  deleted data.\n\n  - Time Travel data retention is controlled using the\n    \u003Cspan class=\"mark\"\u003E[\u003Cu\u003EDATA_RETENTION_TIME_IN_DAYS\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/data-time-travel#changing-the-data-retention-period-for-an-object)\n    parameter\u003C/span\u003E, which can be set at a number of different object\n    levels (i.e. Account, Database, Schema, Table), so it is important\n    to monitor this setting to ensure you do not have excessive data\n    retention where it is not needed.\n\n  - \u003Cspan class=\"mark\"\u003ESnowflake has a standard [\u003Cu\u003Edata retention\n    period\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/data-time-travel#changing-the-data-retention-period-for-an-object)\n    of one day. This is automatically enabled for all accounts, but for\n    some tables, particularly\u003C/span\u003E [\u003Cu\u003Elarge, high churn\n    tables\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/tables-storage-considerations#managing-costs-for-short-lived-tables)\u003Cspan class=\"mark\"\u003E,\n    this one day can still result in excessive costs. To reduce costs in\n    these cases, you can create these tables as transient with zero Time\n    Travel retention (i.e., DATA_RETENTION_TIME_IN_DAYS=0) and\n    periodically insert a copy of the table contents into a permanent\n    table.\u003C/span\u003E\n\n- **Fail-safe:** In addition to Time-Travel, Snowflake retains\n  historical data for seven days after the Time-Travel retention period\n  expires as\n  [\u003Cu\u003EFail-Safe\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/data-failsafe)\n  data. This data can be requested for worst-case scenario data\n  recovery. Fail-safe applies to all tables that are created as the\n  permanent [\u003Cu\u003Etable\n  type\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/tables-temp-transient#comparison-of-table-types)\n  (which is the default table type).\n\n  - However, for ETL or data modeling, it is common to have tables that\n    are created on a short-term basis to support transformations. For\n    these use cases, it is recommended that you use\n    [\u003Cspan class=\"mark\"\u003E\u003Cu\u003ETemporary and Transient\n    tables\u003C/u\u003E\u003C/span\u003E](https://docs.snowflake.com/en/user-guide/data-cdp-storage-costs#temporary-and-transient-tables),\n    which do not utilize fail-safe storage and thus do not incur\n    additional storage costs.\n\n- **Retained for clones:** This is data that is stored because it is\n  referenced by a clone, despite the data being deleted or outside the\n  retention period of the base table that was cloned. To control costs\n  related to these “stale” clones, it is recommended that you monitor\n  \u003Cspan class=\"mark\"\u003E[\u003Cu\u003ERETAINED_FOR_CLONE_BYTES\u003C/u\u003E](https://community.snowflake.com/s/article/How-to-manage-RETAINED-FOR-CLONE-BYTES)\n  and drop clones that are no longer needed. You can leverage the\n  [\u003Cu\u003EAlerts and Notifications\n  features\u003C/u\u003E](https://docs.snowflake.com/en/guides-overview-alerts) to\n  alert you when RETAINED_FOR_CLONE_BYTES exceeds a threshold, prompting\n  you to take action.\u003C/span\u003E\n\n**Serverless Features**\n\nFor serverless features, which do not use warehouse compute and\ntherefore cannot leverage the Resource Monitor feature, we recommend\nsetting up a budget.\n[\u003Cu\u003EBudgets\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/budgets) allow\nyou to define \u003Cspan class=\"mark\"\u003Ea\u003C/span\u003E monthly spending limit on the\n[\u003Cu\u003Ecompute\ncosts\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/cost-understanding-compute)\nfor a Snowflake account or a custom group of Snowflake objects. When the\nspending limit is projected to be hit, a notification is sent. While\nBudgets do not explicitly allow you to suspend serverless features upon\nreaching a limit (the way that Resource Monitors do), Budgets can be\nconfigured to not only send emails, but also send\n[\u003Cu\u003Enotifications\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/budgets/notifications)\nto a cloud message queue or other webhooks (such as Microsoft Teams,\nSlack, or PagerDuty). This then gives you the ability to trigger other\nactions for remediation.\n\n#### Govern resource creation and administration\n\nTo prevent uncontrolled spend as organizations scale, it's essential to\nhave a clear management strategy for Snowflake resources, most notably,\nvirtual warehouses. This strategy should encompass a defined\nprovisioning process, ongoing object management, and automated platform\nenforcement to foster agility while maintaining financial discipline.\n\n**Centralized vs. decentralized management**\n\nOrganizations tend to adopt one of two primary approaches to managing\nSnowflake resources:\n\n- **Centralized management:** A dedicated team, such as a platform\n  Center of Excellence (CoE), handles resource creation and\n  administration policies. This ensures consistency, adheres to best\n  practices, and facilitates robust cost control. This model is ideal\n  for large enterprises where strict governance and chargeback are\n  paramount.\n\n- **Decentralized management:** Individual business units or teams\n  manage their own resources. This provides greater autonomy and speed\n  but can lead to resource sprawl, inconsistent practices, and\n  significant cost inefficiencies if not properly governed.\n\n**Striking the balance: the federated model**\n\nThe most effective strategy often lies in a hybrid, or federated, model.\nThis approach combines centralized governance (policies defined by a\nCoE) with decentralized execution (teams having the freedom to create\nresources within those guardrails). This balance enables agility while\nmitigating financial risk.\n\n**Core Principles for Governance**\n\nRegardless of the chosen model, these principles are essential for\neffective governance:\n\n- **Limit resource creation:** Restrict the ability to create or modify\n  virtual warehouses and other high-cost resources to a small number of\n  trusted roles to prevent uncontrolled growth.\n\n- **Establish a transparent workflow:** Create a clear, simple workflow\n  for provisioning resources, especially for larger warehouses. For\n  example, any request for a warehouse of medium size or larger should\n  require a business justification and an assigned cost center.\n\n- **Near real-time visibility:** Triggered visibility is non-negotiable\n  for monitoring resource creation and resizing. Configure alerts that\n  notify FinOps or CoE teams whenever a new warehouse is created or an\n  existing one is modified outside of a provisioning workflow. This\n  allows for immediate review and prevents overprovisioning.\n\n- **Enforce tagging:** Make a mandatory tagging strategy a prerequisite\n  for all resource creation. This ensures every credit spent can be\n  accurately attributed to the correct department or project, enabling\n  robust chargeback and accountability.\n\n- **Automate deactivation:** To prevent object sprawl, implement\n  policies that identify and deactivate stale resources after a\n  predetermined period of disuse.\n\n## Optimize\n\n#### Overview\n\nThe Optimization principle of the Cost Optimization framework focuses on continuously improving the efficiency of your Snowflake resources. This includes optimizing compute, storage, data transfer, and managed services by understanding their usage and identifying areas for improvement. The frequency of optimization efforts should be guided by the metrics established in the Visibility principle and monitored through the Control principle. All recommendations within this Optimize principle are to be reviewed on a regular cadence and balanced with business and performance needs.\n\n#### Recommendations\n\nSnowflake offers numerous optimization controls within its platform.\nThese features are designed to enhance efficiency and reduce\nadministrative overhead for your various workloads. Coupled with\noperational best practices that utilize features in a healthy manner,\nyou can balance performance goals with cost governance requirements to\nmeet business objectives.\n\nBy implementing these recommendations, you will be able to:\n\n- Reduce administration time\n\n- Increase workload efficiency\n\n- Balance cost controls and guardrails to meet service level agreements\n  and business objectives\n\n- Achieve healthy growth and economies of scale within your organization\n\nTo foster healthy growth and achieve economies of scale within your\norganization, we recommend the following, drawing upon industry best\npractices and Snowflake's capabilities.\n\n#### Compute workload-aligned provisioning\n\nCompute is the most significant part of any organization’s Snowflake\nspend, typically accounting for 80% or more of spend. A good warehouse\ndesign should incorporate the principles below:\n\n- Separate warehouses by workload (e.g., ELT versus analytics versus\n  data science)\n\n- Workload size in bytes should match the t-shirt size of the warehouse\n  in the majority of the workloads–larger warehouse size doesn’t always\n  mean faster\n\n- Align warehouse size for optimal cost-performance settings\n\n- [\u003Cu\u003EUtilize Multi-Cluster\n  Warehouse\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/warehouses-considerations#multi-cluster-warehouses-improve-concurrency)\n  configuration to solve for high concurrency\n\n- Utilize [\u003Cu\u003EQuery Acceleration\n  Services\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/query-acceleration-service)\n  to help with infrequent, large data scans\n\n- For memory-intensive workloads, use a warehouse type of Snowpark\n  Optimized or higher memory resource constraint configurations as\n  appropriate\n\n- Set appropriate auto-suspend settings - longer for high cache use,\n  lower for no cache reuse\n\n- Set appropriate warehouse query timeout settings for the workload and\n  the use cases it supports.\n\nUsing the principles above ensures that your compute costs are well\nmanaged and balanced with optimal benefits.\n\n**Separate warehouses by workload**\n\nDifferent workloads (e.g., data engineering, analytics, AI and\napplications) have varying characteristics. [\u003Cu\u003ESeparating these to be\nserviced by different virtual\nwarehouses\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/warehouses-considerations#how-does-query-composition-impact-warehouse-processing)\ncan help ensure relevant features in Snowflake can be utilized.\n\nSome examples of this include:\n\n- Optimize dashboards and reports by [\u003Cu\u003Ereusing the warehouse SSD\n  cache\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/warehouses-considerations#how-does-warehouse-caching-impact-queries)\n  for repeated select queries. This can be achieved by configuring a\n  longer warehouse autosuspend setting.\n\n- Loading large volumes of data using [\u003Cu\u003Eoptimal file\n  sizes\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/data-load-considerations-prepare)\n  and utilizing all available threads in a virtual warehouse\n\n- Processing large data sets for AI workloads using memory-optimized\n  warehouses\n\n**Warehouse sizing**\n\nMapping the workload to the [\u003Cu\u003Eright warehouse\nsize\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/performance-query-warehouse-size)\nand configuration is an important consideration of warehouse design.\nThis should consider several factors like query completion time,\ncomplexity, data size, query volume, SLAs, queuing, and balancing\noverall cost objectives. Warehouse sizing involves a cost-benefit\nanalysis that balances performance, cost, and human expectations. Humans\noften have expectations that their queries will not be queued or take a\nlong time to complete, so it is recommended to have dedicated warehouses\nfor teams.\n\nRecommendations for choosing the right-sized warehouse include:\n\n- Follow the principles outlined above and understand that this is a\n  continuous improvement process.\n\n- Choose a size based on the estimated or actual workload size and\n  monitor.\n\n- Utilize Snowflake's extensive telemetry data, such as\n  [\u003Cu\u003EQUERY_HISTORY\u003C/u\u003E](https://docs.snowflake.com/en/sql-reference/account-usage/query_history)\n  and\n  [\u003Cu\u003EWAREHOUSE_METERING_HISTORY\u003C/u\u003E](https://docs.snowflake.com/en/sql-reference/account-usage/warehouse_metering_history),\n  to validate that the warehouse size is impacting the metrics you care\n  about in the direction you intend.\n\n**Optimal warehouse settings**\n\nWhile Snowflake strives for minimal knobs and self-managed tuning, there\nare situations where selecting the right settings for warehouses can\nhelp with optimal cost and/or performance. Some of the key [\u003Cu\u003Ewarehouse\nsettings\u003C/u\u003E](https://docs.snowflake.com/en/sql-reference/sql/create-warehouse)\ninclude\n\n- Auto suspend\n\n- Multi-cluster settings\n\n- Warehouse resource constraints\n\n- Warehouse type\n\nTo maintain an optimal balance between cost and performance, regularly\nmonitor your resource usage (e.g., weekly or monthly) and set up\nresource monitors to alert you to high credit consumption. When workload\ndemands change, adjust your settings as needed.\n\n**Warehouse consolidation**\n\nIf you find yourself with an excess of provisioned warehouses or a shift\nin workloads necessitating consolidation, apply the aforementioned\nprinciples. Begin with the least utilized warehouses and migrate their\nworkloads to an existing warehouse that handles similar tasks.\n\nThe\n[\u003Cu\u003EWAREHOUSE_LOAD_HISTORY\u003C/u\u003E](https://docs.snowflake.com/en/sql-reference/account-usage/warehouse_load_history)\nview can help you assess the average number of queries running on a\nwarehouse over a specific period. A useful benchmark is to aim for a\nwarehouse running queries 80% of the time it's active. Continuously\nmonitor your key metrics to ensure they still meet SLA goals and adjust\nwarehouse settings as needed.\n\n#### Leverage Managed Services\n\nTo achieve significant operational efficiency and predictable costs,\nprioritize the use of serverless and managed services. These services\neliminate the need to manage underlying compute infrastructure, allowing\nyour organization to pay for results rather than resource provisioning\nand scaling. Evaluate the following servterless features to reduce costs\nand enhance performance in your environment.\n\n**Storage optimization**\n\nSnowflake offers several serverless features that automatically\n[\u003Cu\u003Emanage and optimize your\ntables\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/performance-query-storage),\nreducing the need for manual intervention while improving query\nperformance. The following features ensure your data is efficiently\norganized, allowing for faster and more cost-effective qeuerying without\nthe burden of user management.\n\n**Automatic Clustering** is a background process in Snowflake that\norganizes data within a table by sorting it according to predefined\ncolumns. This process is critical for optimizing query performance and\nreducing costs. Benefits include:\n\n- **Improved query pruning:** By sorting data, automatic clustering\n  enables more effective pruning in SQL WHERE clauses, meaning less data\n  needs to be scanned for a given query.\n\n- **Faster joins:** Clustering also results in quicker and more\n  efficient join operations.\n\n- **Cost-efficient queries:** These benefits ultimately result in faster\n  and more cost-effective query execution.\n\n**Considerations and Best Practices:**\n\n- **Careful tuning:** It's essential to tune automatic clustering\n  carefully. Overuse of clustering keys, use of highly selective keys,\n  or frequent data manipulation language (DML) operations can\n  significantly increase clustering costs.\n\n- **Infrequently queried, frequently updated tables:** Exercise caution\n  with tables that are often updated but rarely queried, as clustering\n  costs may outweigh performance improvements.\n\n- **Cost estimation:** Before enabling, estimate clustering costs for a\n  table using Snowflake's system function for a preliminary cost/benefit\n  analysis.\n\n- **Strategic cluster key selection:** Optimizing clustering key\n  selection is vital to strike a balance between cost and performance.\n\n**Search Optimization Service (SOS)** enhances the performance of point\nlookup searches by creating a persistent search access path. Its primary\nvalue lies in achieving better pruning for these specific query types,\nwhich is critical for applications requiring quick response times. They\ncan be used in combination with auto-clustering and [\u003Cu\u003ESnowflake Optima\nservice\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/snowflake-optima#optima-indexing).\n\n**Considerations for SOS:**\n\n- **Excessive indexed columns:** Avoid having too many indexed columns,\n  especially on high-churn tables, as maintenance costs can become\n  substantial.\n\n- **Inefficient cost-benefit ratio:** Tables that are frequently updated\n  but infrequently queried for point lookups can lead to an inefficient\n  cost/benefit ratio.\n\n- **Cost estimation:** Before enabling, estimate SOS costs on a given\n  table using a Snowflake system function to perform a preliminary\n  cost/benefit analysis. Index selection is crucial for balancing\n  performance and cost, a topic also addressed in the Workload\n  Optimization section.\n\n**Materialized Views (MVs)** are pre-computed query results stored as a\nseparate table and automatically maintained by Snowflake.\n\n**Benefits of MVs:**\n\n- **Cost efficiency:** It is often cheaper to update a materialized view\n  than to repeatedly execute full scans of large, complex base tables.\n\n- **Alternative table order:** MVs can provide an alternative table\n  order for queries that do not align with your existing clustering\n  design.\n\n**Considerations for MVs:**\n\n- **Infrequently queried, frequently updated tables:** Avoid creating\n  materialized views on tables that are frequently updated but rarely\n  queried, as automated maintenance costs will negate any potential\n  query cost savings.\n\n- **Clustering differences:** Be aware of clustering differences between\n  the base table and the materialized view, as this can lead to high\n  maintenance costs.\n\n**[\u003Cu\u003EQuery Acceleration\nService\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/query-acceleration-service)\n(QAS):** QAS is a serverless feature that provides a burst of additional\ncompute resources to accelerate specific parts of a query, rather than\nreplacing an appropriately sized warehouse. It's particularly beneficial\nfor large I/O operation queries, eliminating the need to manually scale\nwarehouses up or down. QAS also helps speed up query execution when\ntable clustering cannot be altered due to other workload dependencies. A\ncost-benefit analysis should always be performed to ensure that the\ncredit consumption from QAS is justified by the performance improvement\nand the avoided cost of a larger warehouse.\n\n**Serverless tasks:** Serverless tasks enable the execution of SQL\nstatements or stored procedures on a user-defined schedule, eliminating\nthe need for a user-managed virtual warehouse. This is a cost-effective\nsolution for infrequent workloads where a warm cache offers minimal\nvalue, or for unpredictable workloads that don't utilize a minimum\n60-second usage.\n\n#### Data storage types & lifecycle management\n\nNext to compute, storage often represents the second-highest cost\ncomponent in Snowflake. Effective storage governance is a critical\nconcern for many industries due to federal and global regulations.\nSnowflake's default settings prioritize maximum data protection, which\nmay not always align with the requirements of every workload or\nenvironment. This section focuses on how to manage and configure\nstorage-related settings appropriately, ensuring that storage costs\nremain reasonable and deliver business value.\n\n**Optimizing table volume and auditing usage**\n\n- **Review policy-driven data lifecycle management:**\n\n  - **Time Travel & Fail-safe:** Set the\n    [\u003Cu\u003EDATA_RETENTION_TIME_IN_DAYS\u003C/u\u003E](https://docs.snowflake.com/en/sql-reference/parameters#data-retention-time-in-days)\n    parameter on a per-table or per-schema basis to the minimum required\n    for your business needs. For transient data, use\n    [\u003Cu\u003ETRANSIENT\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/tables-temp-transient#transient-tables)\n    tables to eliminate Fail-safe costs.\n\n  - **Retained for clone:** Be mindful of cloning operations. While\n    zero-copy cloning is cost-effective initially, any subsequent DML\n    (Data Manipulation Language) operations on the clone will create new\n    micro-partitions, increasing storage costs. It is recommended to\n    drop clones when they are no longer needed.\n\n- **Be aware of high-churn tables:**\n\n  - If a table is updated consistently, inactive storage (Time Travel &\n    Fail-safe data) can grow at a much faster rate than active storage.\n    A high churn table is generally characterized as one that has 40% or\n    more of its storage inactive. Therefore, aligning both the retention\n    time and the use of an appropriate table type with business and\n    recovery requirements is paramount to keeping costs under control.\n    Review High Churn tables on a consistent basis to ensure their\n    configuration is as desired.\n\n- **Proactively clean up unused objects:**\n\n  - **Large tables that are never queried:** Establish a process to\n    identify, rename, and eventually drop tables that have not been\n    queried for an extended period. You can use the\n    [\u003Cu\u003EACCESS_HISTORY\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/access-history)\n    account usage view to review the last time a table was selected\n    from. Snowflake’s [\u003Cu\u003ECost\n    Insights\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/cost-insights)\n    will also check weekly for unused tables on your behalf.\n\n  - **Short-lived permanent tables:** For staging or intermediate data\n    that is rebuilt frequently, use\n    [\u003Cu\u003ETRANSIENT\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/tables-temp-transient#transient-tables)\n    or\n    [\u003Cu\u003ETEMPORARY\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/tables-temp-transient#temporary-tables)\n    tables instead of permanent tables to avoid unnecessary Time Travel\n    and Fail-safe storage fees.\n\n- **Perform catalog & stage management:**\n\n  - **Data archiving:** For historical data that is rarely accessed,\n    consider moving it to cooler tiers with [\u003Cu\u003Estorage lifecycle\n    policies\u003C/u\u003E](https://docs.snowflake.com/LIMITEDACCESS/storage-lifecycle-policy/storage-lifecycle-policies)\n    or deleting it altogether.\n\n**Optimizing Managed Data Structures and Access**\n\n- You do not always need to define cluster keys for all tables (unlike\n  many other relational database management systems) if Snowflake's\n  natural data loading maintains consistent micro-partition min/max\n  values relative to your query patterns. Additionally, you can disable\n  Auto-Clustering on a table while keeping its cluster key definition\n  without incurring extra costs.\n\n- **Infrequently used materialized views and search optimization\n  paths:** Materialized Views and search optimization paths can incur\n  unnecessary storage and compute costs if they are no longer actively\n  utilized. Materialized Views are most effective for stable data tables\n  with repeated complex aggregations or joins, while search optimization\n  is designed for high-speed point lookup queries. Snowflake’s [\u003Cu\u003ECost\n  Insights\n  feature\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/cost-insights)\n  can help identify instances where these objects are rarely used,\n  prompting a review to determine if their performance benefits still\n  outweigh their associated costs.\n\n#### Limit data transfer\n\nData egress, the transfer of data from one cloud provider or region to\nanother, can incur substantial costs, particularly when handling large\ndata volumes. Implementing appropriate tools and best practices is\nessential to minimize these data transfer expenses and maximize business\nvalue when data egress is necessary.\n\n**Tooling: Enable proactive cost management**\n\nLeverage Snowflake's native features to gain visibility and control over\ndata transfer costs before they become a significant expense.\n\n- **Egress Cost Optimizer (ECO):** For providers of data products on the\n  Snowflake Marketplace or private listings, enabling the [\u003Cu\u003EEgress\n  Cost\n  Optimizer\u003C/u\u003E](https://docs.snowflake.com/en/collaboration/provider-listings-auto-fulfillment-eco)\n  (ECO) at the organizational level is a critical best practice. ECO is\n  an automated feature for listings with Cross-Cloud Auto-Fulfillment.\n  It intelligently routes data through a Snowflake-managed cache,\n  allowing you to pay a one-time egress cost for the initial data\n  transfer. After that, expanding to new regions incurs zero additional\n  egress costs for the same dataset. This is a powerful tool for scaling\n  your data sharing without compounding data transfer fees.\n\n- **Monitoring and alerts:** To effectively manage data transfer costs,\n  utilize Snowflake's\n  [\u003Cu\u003EDATA_TRANSFER_HISTORY\u003C/u\u003E](https://docs.snowflake.com/en/sql-reference/organization-usage/data_transfer_history)\n  telemetry view. This view provides detailed insights into data\n  movement between different regions and clouds. Establish dashboards\n  and alerts to meticulously track this usage, enabling prompt detection\n  of any unexpected cost increases.\n\n**Architectural best practices: Design for minimal data movement**\n\nMinimizing data transfer costs for your workloads heavily depends on the\narchitecture of your data pipelines and applications. Adhere to the\nfollowing best practices to achieve this:\n\n- **Unloading Data:**\n\n  - **Compress data:** When using the [\u003Cu\u003ECOPY INTO\n    \\\u003Clocation\\\u003E\u003C/u\u003E](https://docs.snowflake.com/en/sql-reference/sql/copy-into-location)\n    command to unload data, always use a compression format (e.g., GZIP,\n    BZIP2, or Brotli). This dramatically reduces the volume of data\n    transferred and directly lowers egress costs.\n\n  - **Filter before unloading:** Before unloading a large dataset, use\n    SQL to filter and transform the data. Unload only the required\n    columns and rows to minimize the volume of data that must leave the\n    Snowflake environment.\n\n- **Data replication:** Replicating a database to a Snowflake account in\n  a different geographical region or on a different cloud provider\n  incurs data transfer fees. While useful for disaster recovery, this\n  can become expensive if not managed carefully.\n\n  - **Targeted replication:** If a full database replica is not\n    required, use [\u003Cu\u003Ereplication\n    groups\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/account-replication-intro)\n    to replicate only the necessary databases or schemas. This granular\n    approach ensures you only pay for the data you absolutely need to\n    move.\n\n  - **Consider refresh cadence:** your frequency of refresh will affect\n    the amount of data that is replicated, since it acts like a snapshot\n    rather than every incremental change. Incremental ETL practices are\n    recommended even more with data that is being replicated vs full\n    table reloads.\n\n- **External network access and functions:**\n\n  - **Minimize data egress:** [\u003Cu\u003EExternal\n    functions\u003C/u\u003E](https://docs.snowflake.com/en/sql-reference/external-functions)\n    and [\u003Cu\u003Eexternal network\n    access\u003C/u\u003E](https://docs.snowflake.com/en/developer-guide/external-network-access/external-network-access-overview),\n    which call remote services (e.g., APIs), transfer data out of\n    Snowflake. For best practice, filter data *before* sending it to the\n    external service. Avoid writing functions that pass an entire large\n    table as an input; instead, pass only a small, pre-filtered subset.\n\n  - **Co-locate services:** If possible, deploy the remote service (like\n    an AWS Lambda or Azure Function) in the same cloud and region as\n    your Snowflake account to eliminate cross-region and cross-cloud\n    egress fees.\n\n- **Cross-cloud auto-fulfillment:**\n\n  - **Embrace the cache:** As a data provider, enable [\u003Cu\u003ECross-Cloud\n    Auto-Fulfillment\u003C/u\u003E](https://docs.snowflake.com/en/collaboration/provider-listings-auto-fulfillment)\n    for your listings. As mentioned under Tooling, this feature\n    automates the replication process and works in conjunction with the\n    Egress Cost Optimizer to ensure you pay a single, upfront cost for\n    data transfer, even as your data product expands to new regions.\n\n- **Cross-region/cross-cloud Iceberg storage:**\n\n  - **Centralize your catalog:** While Snowflake supports [\u003Cu\u003EIceberg\n    tables\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/tables-iceberg-storage)\n    that are external to its managed storage, be mindful of where the\n    data resides. If your Snowflake account and your Iceberg data are in\n    different regions, querying the Iceberg table will result in egress\n    costs from your cloud provider. For a well-architected solution,\n    keep your Iceberg data and your Snowflake account in the same region\n    to avoid these egress charges.\n\n#### Workload optimization\n\nWorkload optimization focuses on identifying the efficiency of your data\nprocessing activities within Snowflake. This involves a holistic\napproach encompassing the review of query syntax, data pipelines, table\nstructures, and warehouse configurations to minimize resource\nconsumption and improve performance. By addressing inefficiencies across\nthese areas, organizations can significantly reduce costs and accelerate\ndata delivery.\n\n**Query syntax optimization**\n\nInefficient queries often lead to excessive and hidden credit\nconsumption. Organizations can identify performance bottlenecks and\nunderstand the cost impact of specific SQL patterns by using Snowflake\nfeatures and adhering to SQL code best practices. This enables\ndevelopment teams to create more efficient and cost-effective code by\nhighlighting poor performing queries. Refer to the Performance\nOptimization Pillar of the Snowflake Well-Architected Framework for\ndetails on how to do this.\n\n**Utilize query history & insights for highlevel monitoring**\n\nFor broader visibility across all workloads, the Snowsight UI and the\nACCOUNT_USAGE schema are indispensable.\n\n- When looking for opportunities to improve, it is best to look for\n  queries that have excessive execution time across similarly run\n  queries. The newly created [\u003Cu\u003EGrouped Query\n  History\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/ui-snowsight-activity#label-snowsight-grouped-query-history)\n  aggregates queries to their [\u003Cu\u003Eparameterized query\n  hash\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/query-hash#using-the-hash-of-the-parameterized-query-query-parameterized-hash)\n  and allows users to sort based on key performance indicators like\n  total queries, total latency, bytes scanned, and drill down into the\n  query execution across time. It is recommended to start with queries\n  with outsized latency and query runs.\n\n- The [\u003Cu\u003EQuery\n  History\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/ui-snowsight-activity)\n  page in Snowsight provides a high-level, filterable view of past and\n  currently running queries. It allows for you to drill into the Query\n  Profile for individual query statistics and investigation, even while\n  the query is running.\n\n- Snowflake's [\u003Cu\u003EQuery\n  Insights\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/query-insights)\n  feature (both a set of account usage tables and query profile\n  attributes) are also in Snowsight and can easily surface queries that\n  would benefit from optimization, such as queries with exploding joins\n  or ineffective filtering criteria that Snowflake will surface on your\n  behalf.\n\n**Leverage the query profile for deep-dive analysis**\n\nAfter identifying problematic queries, the [\u003Cu\u003EQuery\nProfile\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/ui-snowsight-activity#query-profile-reference)\nis an essential tool for understanding the execution plan of a query. It\nprovides a detailed, step-by-step breakdown of every operator involved,\nfrom data scanning to final result delivery. To gain visibility into\ninefficiencies, analysts and developers should regularly use the Query\nProfile to identify common anti-patterns like:\n\n- **Nodes with high execution time:** Pinpoint specific operations\n  (e.g., a complex join or a sort operation) that consume the majority\n  of the query's execution time.\n\n- **\"Exploding\" joins:** Identify Cartesian products or other\n  inefficient joins that create a much larger number of rows than\n  expected.\n\n- **Excessive table scanning:** In the profile, compare Partitions\n  scanned to Partitions total. A large number of scanned partitions on a\n  clustered table often indicates an opportunity to improve table\n  pruning by adding or refining cluster keys or modifying WHERE clause\n  predicates.\n\n- **Data spillage:** Look for operators spilling data to local or remote\n  disk. This indicates that the warehouse memory is insufficient for the\n  operation, resulting in significant performance degradation. This\n  might suggest a need to temporarily increase warehouse size for that\n  specific workload or rewrite the query to consume less memory.\n\n**Programmatically deconstruct queries for automated analysis**\n\nFor advanced use cases and automated monitoring, you can\nprogrammatically access query performance data. The\n[\u003Cu\u003EGET_QUERY_OPERATOR_STATS\u003C/u\u003E](https://docs.snowflake.com/en/sql-reference/functions/get_query_operator_stats)\nfunction can be used to retrieve the granular, operator-level statistics\nfor a given query ID, showing many of the steps and attributes available\nin the query profile view. This allows you to build automated checks\nthat, for instance, flag any query where a full table scan accounts for\nmore than 90% of the execution time or where data spillage exceeds a\ncertain threshold. This approach helps scale performance visibility\nbeyond manual checks.\n\n**Pipeline optimization**\n\nSnowflake pipeline optimization is about designing and managing data\ningestion and transformation processes that are efficient,\ncost-effective, scalable, and low-maintenance, while balancing business\nvalue and SLAs (service levels for freshness and responsiveness). Key\nlevers include architecture patterns (truncate & load versus incremental\nloads), use of serverless managed services (e.g., Snowpipe, Dynamic\nTables), and auditing loading practices to maximize cost and performance\nbenefits.\n\n**Batch loading**\n\nThe COPY INTO\n([\u003Cu\u003Etable\u003C/u\u003E](https://docs.snowflake.com/en/sql-reference/sql/copy-into-table)\nor\n[\u003Cu\u003Elocation\u003C/u\u003E](https://docs.snowflake.com/en/sql-reference/sql/copy-into-location))\ncommand is a foundational and flexible method for bulk data loading from\nan external stage into a Snowflake table. Its importance lies in its\nrole as a powerful, built-in tool for migrating large volumes of\nhistorical data or loading scheduled batch files. The best practice is\nto use COPY INTO for one-time or large batch data loading jobs, which\ncan then be supplemented with more continuous ingestion methods like\nSnowpipe for incremental data. Additional information regarding COPY\nINTO and general data loading best practices can be found in our\ndocumentation\n[\u003Cu\u003Ehere\u003C/u\u003E](https://docs.snowflake.com/user-guide/data-load-considerations).\nSome additional best practices are outlined below.\n\n- **File and batch sizing:** Optimal performance is achieved with files\n  sized 100–250 MB compressed. Too few large files or too many very\n  small files reduce load parallelism and reduce efficiency.\n\n- **Parallelism:** Size and configure your warehouse cluster to match\n  the number and typical size of files to be loaded. (e.g., an XS\n  warehouse has eight threads; to utilize it fully, you need at least\n  eight files).\n\n- **File organization:** Partition files in external stages by logical\n  paths (date, region, etc.) to allow selective/cost-effective loads and\n  enable easy partition-level reloading.\n\n- **Pattern filtering:** Use COPY's pattern and files parameter to\n  precisely select the right files for each load, particularly to avoid\n  scanning entire stages.\n\n- **Resource management:** Use resource monitors and low auto-suspend\n  settings on load warehouses to minimize idle compute costs. For more\n  information here see our section on Resource Monitors.**  **\n\n**Serverless ingestion**\n\nWhile named similarly,\n[\u003Cu\u003ESnowpipe\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/data-load-snowpipe-intro)\nand [\u003Cu\u003ESnowpipe\nStreaming\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/snowpipe-streaming/data-load-snowpipe-streaming-overview)\nare different serverless methods to ingest data. You would utilize one\nversus the other depending on your SLA requirements for data delivery,\nand based on how data is landing for consumption.\n\n- **Snowpipe (file-based micro-batch ingestion)**: Use Snowpipe for\n  continuous ingestion of files where near real-time availability is\n  acceptable and ingestion frequency is moderate. File size guidance is\n  the same as COPY INTO (100-250MB). This leverages serverless compute\n  to avoid warehouse management overhead.\n\n- **Snowpipe Streaming (rowset-based, real-time ingestion)**: Use\n  Snowpipe Streaming for very low-latency (sub-five-second) ingestion,\n  high throughput, and streaming sources (e.g., Kafka, Kinesis, and\n  event hubs). You will want to ensure “exactly-once guarantees” with\n  offset tokens for idempotency. Ideally, you would batch insert as much\n  as possible to reduce API call overhead, but avoid building streaming\n  applications just to load large \"batch\" files.\n\n**Data Transformation Optimization**\n\nIn general, there are two major transformation strategies followed in\nSnowflake. One is “truncate & load,” which involves full data\nreplacement and reloading, and one is incrementally loading new data\ninto an object, possibly requiring an upsert operation. Below is some\ngeneral guidance on when to use each.\n\n- **Truncate & load:** This is utilized when full data replacement is\n  acceptable and the dataset volume/size allows for fast reloads. In\n  this case, data change patterns are such that identifying incremental\n  deltas is expensive or unreliable and downstream consumers can\n  tolerate occasional brief periods of incomplete data (during load).\n\n  - **Best practices:** Schedule loads during off-peak or agreed “quiet”\n    windows. Consider transient or temporary tables to stage incoming\n    data, maximize parallelism during the load, and then do an atomic\n    swap/rename to minimize downtime. Ensure that you carefully manage\n    object dependencies, constraints, and statistical metadata refresh\n    after reloads to ensure proper performance once data is loaded\n\n- **Incremental loads:** Incremental loads are best when datasets are\n  large and a full reload is too costly, slow, or would create\n  unacceptable latency. Change-data-capture (CDC), event streaming, or\n  other means are available to reliably identify deltas (inserts,\n  updates, deletes). Additionally, in these cases, downstream consumers\n  require near-continuous data availability or very low data latency and\n  freshness.\n\n  - **Best practices:** Design pipelines to deduplicate, merge, and\n    correctly apply CDC deltas using staging tables, Streams, and merge\n    operations. Ideally, you use Stream objects on source tables to\n    track changes efficiently if utilizing Streams or Tasks, and use\n    Tasks to automate processing. Dynamic tables are also an option;\n    please see below. Additionally, for batch files: organize files by\n    partitioned paths and use file loading patterns that enable max\n    parallelism (see COPY INTO guidance below).\n\n  - Test workloads on [\u003Cu\u003ESnowflake’s Generation 2\n    warehouses\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/warehouses-gen2)\n    that incorporate software improvements for data manipulation.\n\nA great example of truncate & load versus incremental can be seen in\nrefresh strategies for [\u003Cu\u003EDynamic Tables\n(DTs)\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/dynamic-tables-about).\nThey are also a cost-effective and low-maintenance way to maintain data\npipelines. Dynamic tables provide a powerful, automated way to build\ncontinuous data transformation pipelines with SQL, eliminating the need\nfor manual task orchestration that was historically architected with\nstreams & tasks in Snowflake. [\u003Cu\u003EStreams &\ntasks\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/data-pipelines-intro)\nstill have their uses, but general guidance and ease of use see more\nSnowflake users leaning towards DTs for automated data pipelines since\nthe pipeline definitions are defined in one object or in a chain of\nobjects.\n\nThe [\u003Cu\u003Ekey concepts of dynamic\ntables\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/dynamic-tables-refresh)\nare defined in our documentation. However, best practices and\ndetermining when to use DTs versus other methods of pipeline tooling in\nSnowflake still warrant discussion, and are compared in Snowflake’s\n[\u003Cu\u003Edocumentation\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/dynamic-tables-comparison).\n\nIn addition to Snowflake’s published [\u003Cu\u003Ebest\npractices\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/dynamic-table-performance-guide),\nconsider the following\n\n- **Default to AUTO refresh**: Override only as needed for predictable\n  SLAs.\n\n- **Keep incremental refresh-friendly queries simple:** Avoid complex\n  nested joins, CTEs, and limit the number of outer joins per DT. The\n  introduction of complexity for incremental refresh may result in\n  longer times for execution, which in turn could force Snowflake in\n  AUTO to perform a full refresh rather than incremental.\n\n- **Incremental refresh is optimal** when less than 5% of the rows\n  change between refresh cycles, and source tables are well clustered by\n  relevant keys.\n\n- **For very complex/large transformations:** Chain multiple DTs for\n  better incrementalization, rather than building one massive DT.\n\n- **Monitor actual lag and refresh metrics** to adjust lag or warehouse\n  sizing as cost and response time needs evolve.\n\n- **Prefer a dedicated warehouse for DT refresh** during pipeline\n  development and cost analysis to isolate consumption, then consider\n  sharing for production.\n\n- **Use transient DTs** for high-throughput, non-critical staging steps\n  to keep storage costs down.\n\n- **Avoid non-deterministic functions in incremental DTs** (e.g.,\n  random, volatile UDFs, queries depending on CURRENT_USER).\n\nMore information on dynamic tables versus streams & tasks versus\nmaterialized views can be found in the Snowflake documentation\n[\u003Cu\u003Ehere\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/dynamic-tables-comparison#comparison-between-streams-and-tasks-and-dynamic-tables).\n\n**Table pruning optimization**\n\nTable scanning operations are one of the most resource-intensive aspects\nof query execution. Minimizing the scan of data partitions in a table\n(called partition pruning) can provide significant improvements to both\nperformance and cost for data operations in Snowflake. The account usage\nviews\n[\u003Cu\u003ETABLE_QUERY_PRUNING_HISTORY\u003C/u\u003E](https://docs.snowflake.com/en/sql-reference/account-usage/table_query_pruning_history)\nand\n[\u003Cu\u003ECOLUMN_QUERY_PRUNING_HISTORY\u003C/u\u003E](https://docs.snowflake.com/en/sql-reference/account-usage/column_query_pruning_history)\nprovide aggregated data on query execution, showing metrics such as\npartitions scanned and rows matched, which helps identify tables with\npoor pruning efficiency. By analyzing this data, you can determine the\nmost frequently accessed columns that are leading to a high number of\nunnecessarily scanned micro-partitions. Common ways to optimize these\naccess patterns are by using Automatic Clustering and Search\nOptimization.\n\nTo determine tables that can most benefit from re-ordering how data is\nstored, you can review Snowflake’s [\u003Cu\u003Ebest\npractice\u003C/u\u003E](https://medium.com/snowflake/supercharging-snowflake-pruning-using-new-account-usage-views-52530b24bf2e)\non how to analyze the TABLE_QUERY_PRUNING_HISTORY and\nCOLUMN_QUERY_PRUNING_HISTORY account usage views. Fundamentally,\nreducing the percentage of partitions in each table pruned to the\npercentage of rows returned in a query will lead to the most optimized\ncost and performance for any given workload.\n\n![Table Pruning Optimization](https://www.snowflake.com/content/dam/snowflake-site/developers/guides/well-architected-framework-cost-optimization-and-finops/image2.png?v=a498d772)\n\nA table’s Ideal pruning state is scanning the same % of rows matched as\npartitions read, minimizing unused read rows.\n\n**Warehouse optimization**\n\nWarehouse concurrency, type, and sizing can impact the execution\nperformance and cost of queries within Snowflake. Review the compute\noptimization section for more information into the tuning of the\nwarehouse and its effect on cost and performance.\n\n#### Improve continually\n\nOptimization is a continuous process that ensures all workloads not only\ndrive maximum business value but also do so in an optimal manner. By\nregularly reviewing, analyzing, and refining your Snowflake environment,\nyou can identify inefficiencies, implement improvements, and adapt your\nplatform to the ever-evolving business needs. The following set of steps\nwill help you continue to improve your environment as you grow:\n\n**Step 1: Identify & investigate workloads to improve**\n\nBegin by regularly reviewing (usually on a weekly, bi-weekly, or monthly\ncadence) workloads that could benefit from optimization, using\nSnowflake's [\u003Cu\u003ECost\nInsights\u003C/u\u003E](https://docs.snowflake.com/en/user-guide/cost-insights),\ndeviations in unit economics or health metrics (from the Visibility\nprinciple), or objects hitting control limits (e.g., queries hitting\nwarehouse timeouts from the Control principle). Once identified,\ninvestigate these findings through the Cost Management UI, Cost Anomaly\ndetection, Query History, or custom dashboards with Account Usage Views\nto pinpoint the root cause. Then, using the recommendations in the\nOptimize Pillar, make improvements to the workload or object.\n\n**Step 2: Estimate & test**\n\nBefore implementing changes, estimate the potential impact on cost and\nperformance. Estimation encompasses both the expected amount of time\nrequired to make a change (for instance, consolidating warehouses will\nnecessitate more coordination effort for teams using the resource than\naltering a configuration setting) as well as the hard cost of\nimplementation. Snowflake provides helpful cost estimation functions for\nserverless features, such as [\u003Cu\u003Eauto\nclustering\u003C/u\u003E](https://docs.snowflake.com/en/sql-reference/functions/system_estimate_automatic_clustering_costs)\nand [\u003Cu\u003Esearch optimization\nservice\u003C/u\u003E](https://docs.snowflake.com/en/sql-reference/functions/system_estimate_search_optimization_costs),\nto help make this a more data-driven process. If an estimation tool is\nnot available, making changes in a development or test environment on a\nsubset of the workload can provide an estimate and expected impact.\n\n**Step 3: Decide & implement**\n\nBased on your estimations and test results, decide whether to move\nforward with the change, ensuring the cost-benefit aligns with\nperformance or business needs. If approved, proceed to productionize the\nchange, integrating it into your live environment.\n\n**Step 4: Monitor & analyze**\n\nFinally, monitor and analyze the implemented changes to track and\nvalidate the change’s success over a period of time. This involves using\nthe same investigation methods, like utilizing the Cost Management UI\nand Account Usage Views, and comparing cost and performance metrics\nbefore and after the change to articulate the business impact. Translate\nthe technical improvements into tangible business benefits. For example,\n\"Optimizing this query reduced monthly warehouse costs by \\$X and\nimproved report generation time by Y minutes, allowing business users to\nmake faster decisions.\" This helps to both demonstrate the value of your\noptimization efforts to stakeholders and business value to the company.\nFinally, course-correct as needed depending on the results of the\nmonitoring\n\nThis continual improvement framework is the culmination of all subtopics\nwithin the Cost Optimization Pillar and provides a consistent way for\nyou to grow healthily on Snowflake.\n","title":"Quickstart Article Body","dataType":"string","multiValue":false,":type":"text/x-markdown"},"quickstartArticleLogoImage":{"title":"Quickstart Article Logo Image","dataType":"string","multiValue":false,":type":"text/plain"}},"elementsOrder":["quickstartArticleBody","quickstartArticleLogoImage"],"model":"snowflake-site/models/quickstart-article"},"flexible_column_cont":{"id":"flexible-column-container-bed8ed1f3e","type":"2-column-75-25","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"none","bottomPadding":"none","spaceBetween":"none","reverseOnMobile":false,"carouselOnMobile":false,"backgroundImageOption":"none","flexible_column_content_container_1":{"id":"container-7a01f460cc","layout":"SIMPLE",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"quickstart_last_modi":{"id":"quickstart-last-modified-0ffc647fa1","icon":{"id":"icon","icon":"calendar",":type":"snowflake-site/components/icon","appliedCssClassNames":"snowflake-icon-blue"},"lastModifiedDatePrefix":"Updated","lastModifiedDate":"2026-06-17",":type":"snowflake-site/components/quickstart/quickstart-last-modified","appliedCssClassNames":"snowflake-responsive-component-top-padding-small"},"text":{"id":"text-79ef482e2d","additionalClasses":"qs-disclaimer-text","text":"\u003Cp\u003E\u003Cspan style=\"color: #666;\"\u003EThis content is provided as is, and is not maintained on an ongoing basis. It may be out of date with current Snowflake instances\u003C/span\u003E\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"snowflake-responsive-component-top-padding-small"}},":itemsOrder":["quickstart_last_modi","text"]},"flexible_column_content_container_2":{"id":"container-d7c0de279b","layout":"SIMPLE",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{},":itemsOrder":[]},"isBlogPage":false,"isActiveTOC":false,":type":"snowflake-site/components/flexible-column-container"}},":itemsOrder":["contentfragment","flexible_column_cont"]},"flexible_column_content_container_2":{"id":"container-e4a548760b","layout":"SIMPLE",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"quickstart_table_of_":{"id":"container-0f322d8f3d","layout":"SIMPLE","isDeveloperGuidesPage":false,":type":"snowflake-site/components/quickstart/quickstart-table-of-content/quickstart-table-of-content-container",":items":{"quickstart_table_of_":{"id":"quickstart-table-of-content-2b242d26b5","fragmentPath":"/content/dam/snowflake-site/en/content-fragments/quickstarts/well-architected-framework-cost-optimization-and-finops",":type":"snowflake-site/components/quickstart/quickstart-table-of-content","headings":["\u003Ch2\u003EOverview\u003C/h2\u003E","\u003Ch2\u003EPrinciples\u003C/h2\u003E","\u003Ch2\u003ERecommendations\u003C/h2\u003E","\u003Ch2\u003EBusiness Impact\u003C/h2\u003E","\u003Ch2\u003EVisibility\u003C/h2\u003E","\u003Ch2\u003EControl\u003C/h2\u003E","\u003Ch2\u003EOptimize\u003C/h2\u003E"]},"quickstart_button":{"id":"quickstart-button-2d5693f831","fragmentPath":"/content/dam/snowflake-site/en/content-fragments/quickstarts/well-architected-framework-cost-optimization-and-finops",":type":"snowflake-site/components/quickstart/quickstart-button","appliedCssClassNames":"snowflake-responsive-component-top-padding-none"}},":itemsOrder":["quickstart_table_of_","quickstart_button"]}},":itemsOrder":["quickstart_table_of_"]},"isBlogPage":false,"isActiveTOC":false,":type":"snowflake-site/components/flexible-column-container"},"markup_editor":{"id":"markup-editor-44611355e7","title":"Page CSS","cssContent":"#quickstart-template-main-flexible-container{padding:24px}#quickstart-template-main-flexible-container \u003E .snowflake-flexible-column-container-items{grid-template-columns:1fr 0}.qs-disclaimer-text p \u003E span{font-size:15px !important}@media (min-width:768px){#quickstart-template-main-flexible-container{padding:24px 32px}#quickstart-template-main-flexible-container \u003E .snowflake-flexible-column-container-items{grid-template-columns:7fr 3fr;gap:48px}}@media (max-width:767px){#quickstart-template-main-flexible-container \u003E .snowflake-flexible-column-container-items{gap:0}}@media (min-width:1024px){#quickstart-template-main-flexible-container{padding:0 92px 48px 92px}#quickstart-template-main-flexible-container \u003E .snowflake-flexible-column-container-items{gap:117px}}","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"}},":itemsOrder":["quickstart_hero","flexible_column_cont","markup_editor"],":type":"wcm/foundation/components/responsivegrid"},"modal_container":{"id":"container-6313c885c7","layout":"SIMPLE",":type":"snowflake-site/components/modal/modal-container",":items":{},":itemsOrder":[]},"experiencefragment-footer":{"id":"experiencefragment-f010c12e57","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/footer/master/jcr:content","configured":true,":type":"snowflake-site/components/experiencefragment",":items":{"root":{"additionalClasses":"sf-footer","id":"container-3046162acb","layout":"SIMPLE",":type":"snowflake-site/components/container",":items":{"container_copy":{"additionalClasses":"sf-footer__inner","gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"flexible_column_cont":"aem-GridColumn aem-GridColumn--default--12"},"id":"container-af99e5f13a","layout":"RESPONSIVE_GRID","columnCount":12,":type":"snowflake-site/components/container","appliedCssClassNames":"snowflake-container snowflake-responsive-container-inner-padding-small",":items":{"flexible_column_cont":{"id":"flexible-column-container-f39f3bea29","type":"1-column","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"medium","bottomPadding":"extra-small","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"propertiesCSSClasses":"sf-footer-grid","backgroundImageOption":"none","flexible_column_content_container_1":{"id":"container-d5cffef57d","layout":"SIMPLE",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"container":{"additionalClasses":"sf-footer-grid__inner","gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"container":"aem-GridColumn aem-GridColumn--default--12","container_1622723482":"aem-GridColumn aem-GridColumn--default--12","container_copy_copy_":"aem-GridColumn aem-GridColumn--default--12","container_copy_copy":"aem-GridColumn aem-GridColumn--default--12","container_copy":"aem-GridColumn aem-GridColumn--default--12"},"id":"container-4f7f753ba3","layout":"RESPONSIVE_GRID","columnCount":12,":type":"snowflake-site/components/container","appliedCssClassNames":"snowflake-responsive-container-inner-padding-small",":items":{"container_1622723482":{"additionalClasses":"sf-footer__column","gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"container":"aem-GridColumn aem-GridColumn--default--12"},"id":"container-d07b393e30","layout":"RESPONSIVE_GRID","columnCount":12,":type":"snowflake-site/components/container","appliedCssClassNames":"snowflake-responsive-container-inner-padding-small",":items":{"container":{"additionalClasses":"sf-footer__newsletter-group","gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"text":"aem-GridColumn aem-GridColumn--default--12","marketo_v2":"aem-GridColumn aem-GridColumn--default--12"},"id":"container-bba7ff026b","layout":"RESPONSIVE_GRID","columnCount":12,":type":"snowflake-site/components/container","appliedCssClassNames":"snowflake-responsive-container-inner-padding-small",":items":{"text":{"id":"text-3e02e7e55b","additionalClasses":"sf-footer__newsletter-title","text":"\u003Cp\u003E\u003Cb\u003ESubscribe to our monthly newsletter\u003C/b\u003E\u003C/p\u003E\r\n\u003Cp\u003EStay up to date on Snowflake’s latest products, expert insights and resources—right in your inbox!\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-regular text-color-text-04"},"marketo_v2":{"id":"marketo-v2-6c4f25162d","marketoForm":{"edit":false,"successUrl":null,"formId":"45871","hidden":null,"script":null,"values":null},"munchkinId":"252-RFO-227","serverInstance":"252-RFO-227.mktoweb.com","marketoConfigured":true,"formConfigured":true,":type":"snowflake-site/components/form/marketo-v2"}},":itemsOrder":["text","marketo_v2"]}},":itemsOrder":["container"]},"container":{"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"text_copy":"aem-GridColumn aem-GridColumn--default--12","text":"aem-GridColumn aem-GridColumn--default--12"},"id":"container-8f1a0a8668","layout":"RESPONSIVE_GRID","columnCount":12,":type":"snowflake-site/components/container","appliedCssClassNames":"snowflake-responsive-container-inner-padding-medium",":items":{"text":{"id":"text-828518880a","additionalClasses":"sf-footer__link-group","text":"\u003Cp class=\"sf-footer__column-title\"\u003EProduct\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/product/platform/\"\u003EPlatform\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/product/snowflake-cowork/\"\u003ESnowflake CoWork\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/product/data-engineering/\"\u003EData Engineering\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/product/analytics/\"\u003EAnalytics\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/product/ai/\"\u003EAI\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/product/applications-and-collaboration/\"\u003EApplications &amp; Collaboration\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/pricing-options/\"\u003EPricing\u003C/a\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small text-color-text-04"},"text_copy":{"id":"text-72aae59ee2","additionalClasses":"sf-footer__link-group","text":"\u003Cp class=\"sf-footer__column-title\"\u003ESupport\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/support/\"\u003ESupport\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/legal/addenda/priority-support-services-description/\"\u003EPriority Support\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://status.snowflake.com/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003EStatus\u003C/a\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small text-color-text-04"}},":itemsOrder":["text","text_copy"]},"container_copy_copy":{"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"text":"aem-GridColumn aem-GridColumn--default--12"},"id":"container-2aea60a775","layout":"RESPONSIVE_GRID","columnCount":12,":type":"snowflake-site/components/container","appliedCssClassNames":"snowflake-responsive-container-inner-padding-small",":items":{"text":{"id":"text-f75075f947","additionalClasses":"sf-footer__link-group","text":"\u003Cp class=\"sf-footer__column-title\"\u003E\u003Ca href=\"/en/solutions/industries/\"\u003EIndustries\u003C/a\u003E\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/solutions/industries/advertising-media-entertainment/\"\u003EAdvertising, Media &amp; Entertainment\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/solutions/industries/financial-services/\"\u003EFinancial Services\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/solutions/industries/healthcare-and-life-sciences/\"\u003EHealthcare &amp; Life Sciences\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/solutions/industries/manufacturing/\"\u003EManufacturing\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/solutions/industries/public-sector/\"\u003EPublic Sector\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/solutions/industries/retail-consumer-goods/\"\u003ERetail &amp; Consumer Goods\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/solutions/industries/telecom/\"\u003ETelecom\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/solutions/industries/technology/\"\u003ETechnology\u003C/a\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small text-color-text-04"}},":itemsOrder":["text"]},"container_copy":{"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"text":"aem-GridColumn aem-GridColumn--default--12"},"id":"container-a762a6f58d","layout":"RESPONSIVE_GRID","columnCount":12,":type":"snowflake-site/components/container","appliedCssClassNames":"snowflake-responsive-container-inner-padding-small",":items":{"text":{"id":"text-6de603c3c6","additionalClasses":"sf-footer__link-group","text":"\u003Cp class=\"sf-footer__column-title\"\u003ECompany\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/company/overview/about-snowflake/\"\u003EAbout Snowflake\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/company/overview/leadership-and-board/\"\u003ELeadership &amp; Board\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://careers.snowflake.com/us/en\" target=\"_blank\" rel=\"noopener noreferrer\"\u003ECareers\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://investors.snowflake.com/overview/default.aspx\" target=\"_blank\" rel=\"noopener noreferrer\"\u003EInvestor Relations\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://trust.snowflake.com/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003ETrust Center\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/brand-guidelines/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003EBrand Guidelines\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/contact/\"\u003EContact\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/news/\"\u003ENewsroom\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/company/overview/esg/\"\u003EEnvironmental, Social &amp; Governance\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/company/overview/snowflake-ventures/\"\u003ESnowflake Ventures\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/company/overview/end-data-disparity/\"\u003EEnd Data Disparity\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/summit/\"\u003ESnowflake Summit 26\u003C/a\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small text-color-text-04"}},":itemsOrder":["text"]},"container_copy_copy_":{"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"text":"aem-GridColumn aem-GridColumn--default--12"},"id":"container-f029c82af6","layout":"RESPONSIVE_GRID","columnCount":12,":type":"snowflake-site/components/container","appliedCssClassNames":"snowflake-responsive-container-inner-padding-small",":items":{"text":{"id":"text-a8f76d1649","additionalClasses":"sf-footer__link-group","text":"\u003Cp class=\"sf-footer__column-title\"\u003ELearn\u003C/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://snowflake.com/en/resources/\"\u003EResource Library\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/webinars/demo/\"\u003ELive Demos\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/fundamentals/\"\u003EFundamentals\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/resources/learn/training/\"\u003ETraining\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/resources/learn/certifications/\"\u003ECertifications\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca rel=\"noopener noreferrer\" target=\"_blank\" href=\"https://learn.snowflake.com/en/\"\u003ESnowflake University\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/developers/guides\"\u003EDeveloper Guides\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca rel=\"noopener noreferrer\" target=\"_blank\" href=\"https://docs.snowflake.com/\"\u003EDocumentation\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"/en/data-governance/\"\u003EData Governance\u003C/a\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small text-color-text-04"}},":itemsOrder":["text"]}},":itemsOrder":["container_1622723482","container","container_copy_copy","container_copy","container_copy_copy_"]}},":itemsOrder":["container"]},"isBlogPage":false,"isActiveTOC":false,":type":"snowflake-site/components/flexible-column-container"}},":itemsOrder":["flexible_column_cont"]},"container_573483281_":{"additionalClasses":"sf-footer__bottom","gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"container_112062425":"aem-GridColumn aem-GridColumn--default--12"},"id":"container-e54031918c","layout":"RESPONSIVE_GRID","columnCount":12,":type":"snowflake-site/components/container","appliedCssClassNames":"snowflake-responsive-container-inner-padding-none",":items":{"container_112062425":{"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"flexible_column_cont":"aem-GridColumn aem-GridColumn--default--12"},"id":"container-3f63fa9af6","layout":"RESPONSIVE_GRID","columnCount":12,":type":"snowflake-site/components/container","appliedCssClassNames":"snowflake-container snowflake-responsive-container-inner-padding-small",":items":{"flexible_column_cont":{"id":"flexible-column-container-d5c2867a7a","type":"1-column","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"none","bottomPadding":"none","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"backgroundImageOption":"none","flexible_column_content_container_1":{"id":"container-97c5b8f703","layout":"SIMPLE",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"container":{"additionalClasses":"sf-footer__legal-container","gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"container":"aem-GridColumn aem-GridColumn--default--12","text_copy_copy_16360":"aem-GridColumn aem-GridColumn--default--12","markup_editor":"aem-GridColumn aem-GridColumn--default--12"},"id":"container-ea8ad2bcf6","layout":"RESPONSIVE_GRID","columnCount":12,":type":"snowflake-site/components/container","appliedCssClassNames":"snowflake-responsive-container-inner-padding-none",":items":{"container":{"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"image":"aem-GridColumn aem-GridColumn--default--12"},"id":"container-a00b087cff","layout":"RESPONSIVE_GRID","columnCount":12,":type":"snowflake-site/components/container","appliedCssClassNames":"snowflake-responsive-container-inner-padding-extra-small",":items":{"image":{"id":"image-d46e513be0","additionalClasses":"sf-footer__logo","src":"https://www.snowflake.com/content/experience-fragments/snowflake-site/language-masters/en/site/footer/master/_jcr_content/root/container_573483281_/container_112062425/flexible_column_cont/flexible_column_content_container_1/container/container/image.coreimg.svg/1747882370694/nav-icon-snowflake-bug.svg","alt":"Snowflake logo","imageLink":{"valid":true,"url":"/en/"},"lazyEnabled":true,":type":"snowflake-site/components/image"}},":itemsOrder":["image"]},"text_copy_copy_16360":{"id":"text-9bc34eefe0","additionalClasses":"sf-footer__legal-links","text":"\u003Cul\u003E\r\n\u003Cli\u003E© 2026 Snowflake Inc. All Rights Reserved\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/legal/privacy/privacy-policy/\"\u003EPrivacy Policy\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://snowflake.com/en/legal/snowflake-site-terms/\"\u003ESite Terms\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://info.snowflake.com/Preference-center.html\"\u003ECommunication Preferences\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Cbutton id=\"ot-sdk-btn\" class=\"ot-sdk-show-settings\"\u003ECookie Settings\u003C/button\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/legal/privacy/privacy-policy/#12\"\u003EDo Not Share My Personal Information\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/legal/\"\u003ELegal\u003C/a\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small text-color-text-04"},"markup_editor":{"id":"markup-editor-f755f21e40","title":" ","htmlContent":"\u003Cdiv class=\"sf-footer__social\"\u003E\r\n\u003Cdiv data-testid=\"snowflake-footer-twitter\" class=\"snowflake-button-icon snowflake-button-white snowflake-footer-social-item\"\u003E\u003Cdiv class=\"snowflake-button-icon \"\u003E\u003Ca href=\"https://x.com/Snowflake\" data-testid=\"button-external\" aria-label=\"X (Twitter)\" role=\"button\" class=\"snowflake-button-container\" title=\"X (Twitter)\" tabindex=\"0\" target=\"_blank\" rel=\"noreferrer\"\u003E\u003Cdiv data-testid=\"button-icon-wrapper\"\u003E\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 59 53\" class=\"button-icon\"\u003E\u003Cpath fill=\"currentColor\" d=\"M46.614 0h9.044L35.8 22.49 59 53H40.795L26.54 34.46 10.223 53H1.18l21.036-24.055L0 0h18.657l12.878 16.937zM43.45 47.72h5.013L16.023 5.085h-5.387z\"\u003E\u003C/path\u003E\u003C/svg\u003E\u003C/div\u003E\u003C/a\u003E\u003Cdiv\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003Cdiv data-testid=\"snowflake-footer-linkedin\" class=\"snowflake-button-icon snowflake-button-white snowflake-footer-social-item\"\u003E\u003Cdiv class=\"snowflake-button-icon \"\u003E\u003Ca href=\"https://www.linkedin.com/company/3653845\" data-testid=\"button-external\" aria-label=\"LinkedIn\" role=\"button\" class=\"snowflake-button-container\" title=\"LinkedIn\" tabindex=\"0\" target=\"_blank\" rel=\"noreferrer\"\u003E\u003Cdiv data-testid=\"button-icon-wrapper\"\u003E\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 24 24\" class=\"button-icon\"\u003E\u003Cpath d=\"M22.223 0H1.772C.792 0 0 .773 0 1.73v20.536C0 23.222.792 24 1.772 24h20.451c.98 0 1.777-.778 1.777-1.73V1.73C24 .773 23.203 0 22.223 0ZM7.12 20.452H3.558V8.995H7.12v11.457ZM5.34 7.434a2.064 2.064 0 1 1 0-4.125 2.063 2.063 0 0 1 0 4.125Zm15.112 13.018h-3.558v-5.57c0-1.326-.024-3.037-1.852-3.037-1.851 0-2.133 1.449-2.133 2.944v5.663H9.356V8.995h3.413v1.566h.047c.473-.9 1.636-1.852 3.365-1.852 3.605 0 4.27 2.372 4.27 5.457v6.286Z\"\u003E\u003C/path\u003E\u003C/svg\u003E\u003C/div\u003E\u003C/a\u003E\u003Cdiv\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003Cdiv data-testid=\"snowflake-footer-facebook\" class=\"snowflake-button-icon snowflake-button-white snowflake-footer-social-item\"\u003E\u003Cdiv class=\"snowflake-button-icon \"\u003E\u003Ca href=\"https://www.facebook.com/snowflakedb/\" data-testid=\"button-external\" aria-label=\"Facebook\" role=\"button\" class=\"snowflake-button-container\" title=\"Facebook\" tabindex=\"0\" target=\"_blank\" rel=\"noreferrer\"\u003E\u003Cdiv data-testid=\"button-icon-wrapper\"\u003E\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 24 24\" class=\"button-icon\"\u003E\u003Cpath d=\"M24 12c0-6.627-5.373-12-12-12S0 5.373 0 12c0 5.99 4.388 10.954 10.125 11.854V15.47H7.078V12h3.047V9.356c0-3.007 1.792-4.668 4.533-4.668 1.312 0 2.686.234 2.686.234v2.953H15.83c-1.491 0-1.956.925-1.956 1.875V12h3.328l-.532 3.469h-2.796v8.385C19.612 22.954 24 17.99 24 12Z\"\u003E\u003C/path\u003E\u003C/svg\u003E\u003C/div\u003E\u003C/a\u003E\u003Cdiv\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003Cdiv data-testid=\"snowflake-footer-youtube\" class=\"snowflake-button-icon snowflake-button-white snowflake-footer-social-item\"\u003E\u003Cdiv class=\"snowflake-button-icon \"\u003E\u003Ca href=\"https://www.youtube.com/user/snowflakecomputing\" data-testid=\"button-external\" aria-label=\"YouTube\" role=\"button\" class=\"snowflake-button-container\" title=\"YouTube\" tabindex=\"0\" target=\"_blank\" rel=\"noreferrer\"\u003E\u003Cdiv data-testid=\"button-icon-wrapper\"\u003E\u003Csvg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 24 24\" class=\"button-icon\"\u003E\u003Cpath d=\"M23.76 7.2s-.233-1.655-.955-2.381c-.914-.956-1.936-.961-2.405-1.017-3.356-.244-8.395-.244-8.395-.244h-.01s-5.039 0-8.395.244c-.469.056-1.49.06-2.405 1.017C.473 5.545.244 7.2.244 7.2S0 9.145 0 11.086v1.819c0 1.94.24 3.886.24 3.886s.233 1.654.95 2.38c.915.957 2.115.924 2.65 1.027 1.92.183 8.16.24 8.16.24s5.044-.01 8.4-.249c.469-.056 1.49-.06 2.405-1.017.722-.727.956-2.381.956-2.381S24 14.85 24 12.905v-1.819c0-1.94-.24-3.886-.24-3.886ZM9.52 15.113V8.367l6.483 3.385-6.483 3.36Z\"\u003E\u003C/path\u003E\u003C/svg\u003E\u003C/div\u003E\u003C/a\u003E\u003Cdiv\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\r\n\u003C/div\u003E","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"}},":itemsOrder":["container","text_copy_copy_16360","markup_editor"]}},":itemsOrder":["container"]},"isBlogPage":false,"isActiveTOC":false,":type":"snowflake-site/components/flexible-column-container"}},":itemsOrder":["flexible_column_cont"]}},":itemsOrder":["container_112062425"]},"markup_editor_copy":{"id":"markup-editor-0d46df6002","title":"New css","cssContent":".snowflake-image-container img{background-color:transparent}div.snowflake-person-chip-avatar{width:80px !important}#snowflake-blog-template-main-container .aem-GridColumn:has(.vertical-video){background-color:#000;border-radius:16px;overflow:hidden}#snowflake-blog-template-main-container .vertical-video{max-width:240px;margin-left:auto;margin-right:auto}@media screen and (min-width:1367px){.dynamic .heading-1-v2 .snowflake-title-v2-line{font-size:72px !important;line-height:60px !important}}.snowflake-flexible-column-container-items-alignment-match-height .download-card,.snowflake-flexible-column-container-items-alignment-match-height .download-card\u003E.container{height:100%}.download-card div.code-toolbar\u003E.toolbar .copy-to-clipboard-button{background-color:white;border:1px solid #a9e1f6;margin-right:4px;top:6px;border-radius:16px;height:26px;width:40px}.download-card .snowflake-code-snippet\u003Ediv.code-toolbar\u003E.toolbar\u003E.toolbar-item\u003Ebutton:before{content:'';background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='13' height='13' rx='2' ry='2' style='stroke:%23249EDC;'%3E%3C/rect%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1' style='stroke:%23249EDC;'%3E%3C/path%3E%3C/svg%3E\");background-size:auto 65%;background-position:center;background-repeat:no-repeat;top:0;left:0;width:100%;height:100%}.download-card .snowflake-code-snippet\u003Ediv.code-toolbar\u003E.toolbar\u003E.toolbar-item\u003Ebutton:hover:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='13' height='13' rx='2' ry='2' style='stroke:%23fff;'%3E%3C/rect%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1' style='stroke:%23fff;'%3E%3C/path%3E%3C/svg%3E\")}.download-card\u003Ediv{background-color:#fff;border:1px solid #ccc;border-radius:8px;padding:24px}.download-chip__headline{border-bottom:1px solid #ccc;padding-bottom:16px;margin-bottom:16px}.download-chip{padding:8px 12px !important;border-radius:4px;transition:300ms ease background-color}.download-chip .black-blue-text-color .snowflake-title-v2-line{color:#000 !important;padding-right:24px;font-family:'Lato',sans-serif;font-size:14px !important;font-weight:500 !important}.download-chip .black-blue-text-color .snowflake-title-v2-line:not(:first-child){opacity:.6;font-style:italic !important}.download-chip .snowflake-content-chip-button{display:none}.download-chip.is-external-link{background-size:16px 16px;background-image:url(\"data:image/svg+xml,%3Csvg width='15' height='15' viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.06055 13.0607L11.8605 2.26067M13.0605 10.6607V1.06067H3.46055' stroke='%23249EDC' stroke-width='2.12132' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A\")}.download-chip{background-image:url(\"data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_883_7979)'%3E%3Cpath d='M3.375 16.875H14.625' stroke='%23249EDC' stroke-width='1.40625' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M9 1.125V11.25' stroke='%23249EDC' stroke-width='1.40625' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.5 7.875L9 12.375L13.5 7.875' stroke='%23249EDC' stroke-width='1.40625' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_883_7979'%3E%3Crect width='18' height='18' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\");background-size:24px auto;background-repeat:no-repeat;background-position:calc(100% - 12px) center}.download-chip__headline{display:flex;gap:16px;flex-direction:row !important;flex-wrap:nowrap}.download-chip__headline::before{content:'';display:inline-block;width:24px;height:24px;background-position:center;background-image:url(\"data:image/svg+xml,%3Csvg width='21' height='21' viewBox='0 0 21 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.50005 9.89999C8.13657 9.89999 8.74702 9.64713 9.19711 9.19704C9.64719 8.74696 9.90005 8.13651 9.90005 7.49999V2.69999C9.90005 2.06347 9.64719 1.45302 9.19711 1.00293C8.74702 .552844 8.13657 .299988 7.50005 .299988H2.70005C2.06353 .299988 1.45308 .552844 1.00299 1.00293C.552905 1.45302 .300049 2.06347 .300049 2.69999V7.49999C.300049 8.13651 .552905 8.74696 1.00299 9.19704C1.45308 9.64713 2.06353 9.89999 2.70005 9.89999H7.50005ZM7.50005 7.49999H2.70005V2.69999H7.50005V7.49999Z' fill='%23249EDC' stroke='white' stroke-width='.6'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.50005 20.3C8.13657 20.3 8.74702 20.0472 9.19711 19.5971C9.64719 19.147 9.90005 18.5365 9.90005 17.9V13.1C9.90005 12.4635 9.64719 11.853 9.19711 11.403C8.74702 10.9529 8.13657 10.7 7.50005 10.7H2.70005C2.06353 10.7 1.45308 10.9529 1.00299 11.403C.552905 11.853 .300049 12.4635 .300049 13.1V17.9C.300049 18.5365 .552905 19.147 1.00299 19.5971C1.45308 20.0472 2.06353 20.3 2.70005 20.3H7.50005ZM7.50005 17.9H2.70005V13.1H7.50005V17.9Z' fill='%23249EDC' stroke='white' stroke-width='.6'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M17.9001 9.89999C18.5366 9.89999 19.147 9.64713 19.5971 9.19704C20.0472 8.74696 20.3001 8.13651 20.3001 7.49999V2.69999C20.3001 2.06347 20.0472 1.45302 19.5971 1.00293C19.147 .552844 18.5366 .299988 17.9001 .299988H13.1001C12.4636 .299988 11.8531 .552844 11.403 1.00293C10.9529 1.45302 10.7001 2.06347 10.7001 2.69999V7.49999C10.7001 8.13651 10.9529 8.74696 11.403 9.19704C11.8531 9.64713 12.4636 9.89999 13.1001 9.89999H17.9001ZM17.9001 7.49999H13.1001V2.69999H17.9001V7.49999Z' fill='%23249EDC' stroke='white' stroke-width='.6'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M17.9001 20.3C18.5366 20.3 19.147 20.0472 19.5971 19.5971C20.0472 19.147 20.3001 18.5365 20.3001 17.9V13.1C20.3001 12.4635 20.0472 11.853 19.5971 11.403C19.147 10.9529 18.5366 10.7 17.9001 10.7H13.1001C12.4636 10.7 11.8531 10.9529 11.403 11.403C10.9529 11.853 10.7001 12.4635 10.7001 13.1V17.9C10.7001 18.5365 10.9529 19.147 11.403 19.5971C11.8531 20.0472 12.4636 20.3 13.1001 20.3H17.9001ZM17.9001 17.9H13.1001V13.1H17.9001V17.9Z' fill='%23249EDC' stroke='white' stroke-width='.6'/%3E%3C/svg%3E%0A\");background-size:contain;background-repeat:no-repeat}.download-chip__headline.is-cli::before{background-image:url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 17L10 11L4 5' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 19H20' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A\")}.download-card pre[class*=language-]{padding:8px 12px;background-color:var(--ui-background-05);overflow:hidden}.download-chip__headline.is-windows,.download-chip__headline.is-mac{gap:12px}.download-chip__headline.is-windows::before{width:16px;height:20px;background-image:url(\"data:image/svg+xml,%3Csvg width='4875' height='4875' viewBox='0 0 4875 4875' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_122_201)'%3E%3Cpath d='M0 0H2311V2310H0V0ZM2564 0H4875V2310H2564V0ZM0 2564H2311V4875H0V2564ZM2564 2564H4875V4875H2564' fill='%23000'/%3E%3C/g%3E%3C/svg%3E\")}.download-chip__headline.is-mac::before{width:16px;height:20px;background-image:url(\"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns:x='ns_extend;' xmlns:i='ns_ai;' xmlns:graph='ns_graphs;' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0' y='0' viewBox='0 0 41.5 51' style='enable-background:new 0 0 41.5 51;' xml:space='preserve'%3E%3Cmetadata%3E%3Csfw xmlns='ns_sfw;'%3E%3Cslices%3E%3C/slices%3E%3CsliceSourceBounds bottomLeftOrigin='true' height='51' width='41.5' x='166.1' y='-208.1'%3E%3C/sliceSourceBounds%3E%3C/sfw%3E%3C/metadata%3E%3Cg%3E%3Cpath d='M40.2,17.4c-3.4,2.1-5.5,5.7-5.5,9.7c0,4.5,2.7,8.6,6.8,10.3c-.8,2.6-2,5-3.5,7.2c-2.2,3.1-4.5,6.3-7.9,6.3s-4.4-2-8.4-2 c-3.9,0-5.3,2.1-8.5,2.1s-5.4-2.9-7.9-6.5C2,39.5,.1,33.7,0,27.6c0-9.9,6.4-15.2,12.8-15.2c3.4,0,6.2,2.2,8.3,2.2 c2,0,5.2-2.3,9-2.3C34.1,12.2,37.9,14.1,40.2,17.4z M28.3,8.1C30,6.1,30.9,3.6,31,1c0-.3,0-.7-.1-1c-2.9,.3-5.6,1.7-7.5,3.9 c-1.7,1.9-2.7,4.3-2.8,6.9c0,.3,0,.6,.1,.9c.2,0,.5,.1,.7,.1C24.1,11.6,26.6,10.2,28.3,8.1z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\")}.download-chip__headline.is-desktop::before{background-image:url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='.8'%3E%3Cpath d='M1.5 21H22.5V18H1.5V21Z' fill='%23000' stroke='white' stroke-width='.75'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M19.5 15C20.2956 15 21.0587 14.6839 21.6213 14.1213C22.1839 13.5587 22.5 12.7956 22.5 12V6C22.5 5.20435 22.1839 4.44129 21.6213 3.87868C21.0587 3.31607 20.2956 3 19.5 3H4.5C3.70435 3 2.94129 3.31607 2.37868 3.87868C1.81607 4.44129 1.5 5.20435 1.5 6V12C1.5 12.7956 1.81607 13.5587 2.37868 14.1213C2.94129 14.6839 3.70435 15 4.5 15H19.5ZM19.5 12H4.5V6H19.5V12Z' fill='%23000' stroke='white' stroke-width='.75'/%3E%3C/g%3E%3C/svg%3E%0A\")}.download-card .snowflake-code-snippet,.download-card .snowflake-code-snippet code,.download-card .snowflake-code-snippet pre{font-size:14px;color:#000;text-shadow:none !important}.download-chip:hover{background-color:var(--ui-background-05) !important;transition:300ms ease background-color}body:has(.snowflake-skip-to-content[style]) #subNav,.pushdown-banner-dismissed #subNav{top:var(--scroll-padding-top) !important;transition:300ms ease top}body:has(.snowflake-skip-to-content[style*=\"58\"]) #subNav{top:34px !important}body:has(.snowflake-skip-to-content[style*=\"82\"]) #subNav{top:58px !important}body:has(.snowflake-skip-to-content[style*=\"130\"]) #subNav{top:106px !important}body:has(.snowflake-skip-to-content[style*=\"138\"]) #subNav{top:114px !important}body:has(.snowflake-skip-to-content[style*=\"146\"]) #subNav{top:122px !important}.is-hidden .snowflake-person-chip-avatar{display:none}.is-small .snowflake-person-chip-avatar{width:56px;height:56px}.ai-summary ul{margin:16px 0 0 0 !important;padding:0 !important;list-style-type:none}.ai-summary li{margin:0;padding:0 0 0 32px;position:relative}.ai-summary li::before{content:\"\";display:block;border-radius:100%;background:#29b5e8;width:18px;height:18px;position:absolute;top:4px;left:0;border:5px solid #e5f2f7;box-sizing:border-box}.ai-summary li:not(:last-child){margin-bottom:1rem}.snowflake-content-chip-image__image{aspect-ratio:5 / 3 !important}.content-chip-new .snowflake-content-chip-image__image{height:100% !important;aspect-ratio:unset !important}.snapshot-card .snowflake-text p:not(:first-child){margin-top:var(--spacing-01)}.snapshot-card\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:nth-child(2) p:has(b){font-family:'Texta',sans-serif;margin-top:24px}.snapshot-card\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:nth-child(2) p b{font-weight:700 !important}.snapshot-card\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:nth-child(2){border-bottom:1px solid #ccc;padding-bottom:24px}.snapshot-card\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:nth-child(3) p:first-child:has(b){font-family:'Texta',sans-serif;font-size:20px !important;margin-bottom:1rem !important}.snapshot-card\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:nth-child(3) li{display:inline-block}.snapshot-card\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:nth-child(3) li a{display:inline-block;text-decoration:none;padding:4px 16px !important;border:1px solid #ccc;border-radius:24px;color:#666 !important}.snapshot-card\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:nth-child(3) ul{list-style-type:none;display:flex;padding:0 !important;margin:0 !important;gap:12px}.snapshot-card\u003E.container\u003E.cmp-container\u003E.aem-container img{width:90%;max-width:240px;margin:0 auto}.snapshot-card\u003E.container\u003E.cmp-container\u003E.aem-container{padding:40px;max-width:450px;margin:0 0 0 auto;background-color:#fff;box-shadow:0 2px 6px 0 rgba(152,162,179,.25),0 10px 20px 0 rgba(152,162,179,.10);border-radius:8px;border-top:4px solid var(--ui-01)}.ai-summary{background-color:#f3fbfe;border-left:2px solid var(--ui-01);padding:40px}.ai-summary\u003Espan p:last-child:has(i){color:#666;font-size:14px !important}.ai-summary\u003Espan p:last-child:has(i) a{color:#666 !important;text-decoration:underline !important}.ai-summary\u003Espan p:last-child:has(i) a:hover{color:var(--ui-01) !Important}.ai-summary\u003Espan p:first-child:has(b)::after{content:'';display:inline-block;width:20px;height:20px;background-image:url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.3158 3.15226C8.6475 6.2258 6.22698 8.64545 3.15232 9.31587C2.94923 9.36072 2.94923 9.63928 3.15232 9.68413C6.22698 10.3522 8.6475 12.7742 9.3158 15.8477C9.36067 16.0508 9.63933 16.0508 9.6842 15.8477C10.3525 12.7742 12.773 10.3545 15.8477 9.68413C16.0508 9.63928 16.0508 9.36072 15.8477 9.31587C12.773 8.64781 10.3525 6.2258 9.6842 3.15226C9.63933 2.94925 9.36067 2.94925 9.3158 3.15226Z' fill='%23249EDC'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M17.3725 11.5461C16.9098 13.6739 15.2341 15.3491 13.1054 15.8132C12.9649 15.8443 12.9649 16.0371 13.1054 16.0681C15.2341 16.5307 16.9098 18.2074 17.3725 20.3353C17.4035 20.4758 17.5965 20.4758 17.6275 20.3353C18.0902 18.2074 19.7659 16.5323 21.8946 16.0681C22.0352 16.0371 22.0352 15.8443 21.8946 15.8132C19.7659 15.3507 18.0902 13.6739 17.6275 11.5461C17.5965 11.4055 17.4035 11.4055 17.3725 11.5461Z' fill='%23249EDC'/%3E%3C/svg%3E%0A\");background-repeat:no-repeat;background-size:contain;background-position:center;vertical-align:middle;margin-left:8px}.ai-summary\u003Espan p:first-child:has(b){color:var(--ui-01) !important;text-transform:uppercase}.border-top{border-top:1px solid rgba(0,0,0,.2)}.border-top\u003Espan{display:block;padding-top:32px}body .snowflake-card-v2-advanced-image__image{aspect-ratio:16 / 9 !important}.content-chip-new .snowflake-content-chip-image__image{border-radius:0;object-fit:cover;height:100%}.sf-footer #ot-sdk-btn.ot-sdk-show-settings,.sf-footer #ot-sdk-btn.optanon-show-settings{color:rgba(255,255,255,.7) !important;text-underline-offset:4px;border-top:none;border-left:none;border-right:none;border-bottom:1px dotted transparent;background-color:transparent !important;background-image:none !important;transition:300ms ease text-decoration-color;padding:0 !important;font-size:12px;font-family:'Lato',sans-serif}.sf-footer #ot-sdk-btn.ot-sdk-show-settings:hover,.sf-footer #ot-sdk-btn.optanon-show-settings:hover{color:rgba(255,255,255,1) !important;border-bottom:1px dotted var(--ui-01);transition:300ms ease text-decoration-color}.sf-footer__legal-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:last-child{flex-shrink:0}.sf-footer__disclaimers{background-color:#042130}.sf-footer__disclaimers .snowflake-simple-stat-disclaimer p a{color:inherit;text-decoration:none !important}.sf-footer__disclaimers .snowflake-simple-stat-disclaimer p sup{margin-right:2px}.sf-footer__disclaimers .snowflake-simple-stat-disclaimer p{text-indent:-5px;padding-left:5px}.sf-footer__disclaimers-inner{border-top:1px solid rgba(255,255,255,.25);padding:40px 0}.sf-footer__disclaimers .snowflake-simple-stat{align-items:flex-start;text-align:left;color:rgba(255,255,255,.7);margin-bottom:10px}.sf-footer__social{display:flex;justify-content:center;gap:12px}.sf-footer .snowflake-footer-social-item{margin:0 !important}.sf-footer .snowflake-footer-social-item a{line-height:0;background-color:rgba(3,24,35,.8);display:inline-block;width:48px !important;height:48px;border-radius:8px;display:inline-flex;justify-content:center;align-items:center;transition:300ms ease background-color}.sf-footer .snowflake-footer-social-item a:hover{background-color:var(--ui-01) !important;transition:300ms ease background-color}.sf-footer__bottom{padding-bottom:40px}.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoError .mktoErrorMsg{max-width:100%;color:#fff}.sf-footer .mktoForm .mktoError .mktoErrorMsg .mktoErrorDetail{display:inline-block}.sf-footer .mktoFormRow:has(.mktoHtmlText:empty){display:none}.sf-footer .mktoFormRow .mktoHtmlText span{color:#fff !important}.sf-footer{background-color:#042130}.sf-footer .optanon-toggle-display:hover{text-decoration-color:var(--ui-01) !important;cursor:pointer !important;text-underline-offset:4px;text-decoration-style:dotted !important;text-decoration-color:var(--ui-01);color:#fff !important;transition:300ms ease text-decoration-color;text-decoration:underline;opacity:1}.sf-footer__logo{width:40px}.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container{row-gap:32px}.sf-footer__legal-container\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;justify-content:space-between;align-items:center;text-align:center;row-gap:16px}.sf-footer__legal-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:nth-child(2){text-align:center;flex-grow:1}.sf-footer__legal-links li button,.sf-footer__legal-links li a,.sf-footer__legal-links li{margin:0;color:rgba(255,255,255,.7) !important;font-weight:500}.sf-footer__legal-links li a:hover{color:rgba(255,255,255,1) !important}.sf-footer div.sf-footer__copyright p,.sf-footer div.sf-footer__legal-links li,.sf-footer div.sf-footer__legal-links a,.sf-footer div.sf-footer__legal-links p{font-size:12px !important}.sf-footer__legal-links ul{list-style-type:none;margin:0;padding:0;display:flex;gap:20px;row-gap:4px;justify-content:center;flex-wrap:wrap;text-align:center}.sf-footer__legal-links li:last-child{width:100%}.sf-footer .mktoFormRow:has(.mktoPlaceholder),.sf-footer .mktoFormRow:has(input[type=\"hidden\"]){display:none !important}.sf-footer .mktoFormCol{margin-bottom:0 !important}.sf-footer label[for=\"adhoc1\"]{width:auto !important;flex-grow:1;margin-left:16px}.sf-footer .mktoFieldWrap:has(label[for=\"adhoc1\"]){display:flex;flex-direction:row-reverse;margin-top:22px}.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoCheckboxList input[type=checkbox]{background-color:transparent !important;border:1px solid rgba(255,255,255,.4) !important;border-radius:4px !important}.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoEmailField,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoTelField,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoTextField,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap select{background-color:transparent !important;color:#fff !important;height:auto !important;border:1px solid rgba(255,255,255,.4) !important;border-radius:4px !important;padding:12px 18px !important}.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoEmailField:focus,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoTelField:focus,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoTextField:focus,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap select:focus{border-color:var(--ui-01) !important}.sf-footer .mktoForm *{padding:0 !important}.sf-footer .mktoForm,.sf-footer .snowflake-marketo-form-container{padding:0 !important;background:transparent;margin-bottom:0;box-shadow:none}.sf-footer .mktoHtmlText.mktoHasWidth{width:100% !important;margin:24px 0}.sf-footer .mktoFormRow{flex-direction:column}.sf-footer .mktoForm .mktoButtonWrap{margin:0 !important}.sf-footer select{background-image:url(\"data:image/svg+xml,%3Csvg width='14' height='8' viewBox='0 0 14 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.981445 1.43496L6.90897 7.32496L12.9314 1.33496' stroke='white' stroke-width='1.33333' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A\") !important}.sf-footer .snowflake-marketo-form .mktoButtonWrap.mktoNative{justify-content:flex-start}.sf-footer *::placeholder{color:#fff !important;opacity:.8}.sf-footer .mktoForm .mktoButtonWrap.mktoSimple .mktoButton{background-color:var(--ui-01) !important;color:#fff !important;width:100% !important;padding:12px 16px !important;border:1px solid var(--ui-01) !important;background-image:none !important;border-radius:48px;text-transform:uppercase;font-weight:800 !important;font-family:'Texta',sans-serif !important;font-size:16px !important;line-height:1.2}.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoHtmlText\u003Espan,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap .mktoLabel\u003Espan,.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap label.mktoLabel{color:#fff !important}.sf-footer__newsletter-title p:not(:first-child){margin-top:8px !important}.sf-footer__newsletter-title p b{font-weight:800 !important;font-family:'Texta',sans-serif !important;font-size:22px !important;line-height:1.2}.sf-footer__newsletter-title p:last-child{font-size:14px !important;opacity:.8}.sf-footer__link-group li a[target=\"_blank\"]::after{content:'';display:inline-block;width:10px;height:10px;margin-left:5px;background-image:url(\"data:image/svg+xml,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.72222 1.22222C6.38471 1.22222 6.11111 .948616 6.11111 .611111C6.11111 .273607 6.38471 0 6.72222 0H10.3889C10.551 0 10.7064 .0643867 10.821 .178988C10.9356 .293596 11 .449032 11 .611111V4.27778C11 4.61529 10.7264 4.88889 10.3889 4.88889C10.0514 4.88889 9.77778 4.61529 9.77778 4.27778V2.08647L4.09879 7.76545C3.86013 8.00409 3.4732 8.00409 3.23454 7.76545C2.99589 7.52681 2.99589 7.13986 3.23454 6.90122L8.91355 1.22222H6.72222ZM0 2.44444C0 1.76943 .547207 1.22222 1.22222 1.22222H4.27778C4.61529 1.22222 4.88889 1.49583 4.88889 1.83333C4.88889 2.17084 4.61529 2.44444 4.27778 2.44444H1.22222V9.77778H8.55556V6.72222C8.55556 6.38471 8.82915 6.11111 9.16667 6.11111C9.50418 6.11111 9.77778 6.38471 9.77778 6.72222V9.77778C9.77778 10.4528 9.23059 11 8.55556 11H1.22222C.547207 11 0 10.4528 0 9.77778V2.44444Z' fill='white'/%3E%3C/svg%3E%0A\");background-size:contain;background-repeat:no-repeat;background-position:center}.sf-footer__link-group ul,.sf-footer__link-group li{margin:0;padding:0;list-style-type:none}.sf-footer__link-group ul{margin-top:20px !important}.sf-footer__link-group li{margin-top:15px}.sf-footer div.sf-footer__link-group\u003Espan\u003Ep\u003Ea,.sf-footer div.sf-footer__link-group\u003Espan\u003Ep{color:var(--ui-01) !important;font-weight:800 !important;font-family:'Texta',sans-serif !important;font-size:20px !important;line-height:1.2}.sf-footer__link-group li a{opacity:.9;color:#fff !important;font-weight:500 !important;font-size:15px !important;line-height:1.3}.sf-footer__link-group li a:hover{opacity:1}.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container::before,.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container::after{display:none}.sf-footer__column{flex-grow:1}.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:not(:first-child){width:50%}@media (min-width:800px){.sf-footer__legal-links ul{justify-content:flex-start;text-align:left}.sf-footer__social{justify-content:flex-end}.sf-footer__legal-links ul{padding-left:24px}.sf-footer__legal-container\u003E.container\u003E.cmp-container\u003E.aem-container{text-align:right;flex-wrap:nowrap}.sf-footer__legal-links.align-left ul{justify-content:flex-start}.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;justify-content:space-between;flex-direction:row}.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:auto !important;max-width:200px}.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:first-child{flex-grow:1;order:2;width:100% !important;max-width:none}.sf-footer__legal-container\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:auto}}@media screen and (min-width:1380px){.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container{flex-wrap:nowrap}.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:first-child{padding-right:48px;max-width:380px;background-color:rgba(3,24,35,.4);padding:32px;margin-left:48px;border-radius:16px}.sf-footer__link-group li,.sf-footer__link-group li a{font-size:14px !important;line-height:1.3}}@media screen and (max-width:991px){.sf-footer-grid__inner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv:first-child{order:2;margin-top:24px !important}}@media screen and (max-width:420px){.is-reduced-mobile .heading-1-v2,.is-reduced-mobile .heading-1-v2-sm{font-size:32px;line-height:28px}}.quote-content-chip{background-color:var(--ui-background-05);padding:24px;border-radius:12px;position:relative}.quote-content-chip .black-blue-text-color .snowflake-title-v2-line\u003Espan{color:rgba(0,0,0,.8) !important;font-size:15px !important;line-height:1.5 !important;font-family:'Lato',sans-serif;font-weight:400 !important}.quote-content-chip .black-blue-text-color .snowflake-title-v2-line\u003Espan:not(:first-child){max-width:calc(100% - 200px)}.quote-content-chip .black-blue-text-color .snowflake-title-v2-line\u003Espan:nth-child(2){font-family:'Texta',sans-serif;color:#000 !important;font-size:20px !important;font-weight:800 !important;margin-top:24px}.quote-content-chip .snowflake-content-chip-image{width:140px !important}@media screen and (min-width:992px){.quote-content-chip .snowflake-content-chip-image{position:absolute !important;bottom:24px;right:16px}}@media screen and (max-width:991px){.quote-content-chip .snowflake-content-chip-image{margin-bottom:40px}.quote-content-chip{flex-direction:column}}#spa-root{background-color:#fff}.lowercase .snowflake-title-v2-line{text-transform:none !important}.centered .snowflake-logo-content-container-inner{justify-content:center}div.snowflake-linklist-dropdown-menu{max-height:380px}.first-line-blue .snowflake-typographyv2 .snowflake-title-v2-line:first-child{color:var(--ui-01) !important}.is-front{position:relative;z-index:2}.use-case-body .snowflake-text h1,.use-case-body .snowflake-text h2,.use-case-body .snowflake-text h3,.use-case-body .snowflake-text h4,.use-case-body .snowflake-text h5,.use-case-body .snowflake-text h6{font-family:'Texta',sans-serif;color:#000;margin:.25rem 0 0 0}.pc-hero .button-group\u003E.container\u003E.cmp-container\u003E.aem-container{justify-content:flex-start}.sf-footer .mktoFormRow .mktoHtmlText span{font-family:'Lato',sans-serif !important}.snowflake-button-primary.snowflake-button-blue .snowflake-button-container{justify-content:center}.related-chip-25{background-color:#fff;border:1px solid rgba(204,204,204,.5);border-radius:8px;padding:20px;position:relative}.related-chip-25:hover{box-shadow:rgba(152,162,179,.1) 0 10px 20px 0}.related-chip-25:hover::after{right:24px;transition:300ms ease right}.related-chip-25::after{content:'';display:block;transition:300ms ease right;background-image:url(\"data:image/svg+xml,%3Csvg width='8' height='14' viewBox='0 0 8 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.66699 7C7.66699 6.6571 7.53559 6.32825 7.30169 6.08578L2.34446 .947072C1.84529 .429617 1.0164 .429617 .517219 .947072C.0427878 1.43887 .042788 2.21798 .517219 2.70978L4.65591 7L.51722 11.2902C.0427889 11.782 .0427887 12.5611 .51722 13.0529C1.0164 13.5704 1.84529 13.5704 2.34447 13.0529L7.30169 7.91421C7.53559 7.67175 7.66699 7.34289 7.66699 7Z' fill='%2329B5E8'/%3E%3C/svg%3E%0A\");width:8px;height:14px;display:block;position:absolute;right:30px;top:50%;transform:translateY(-50%);background-size:contain;background-position:center;background-repeat:no-repeat}.related-chip-25 .heading-5-v2{font-size:22px;line-height:1.1}.related-chip-25 .snowflake-content-chip-image{width:48px;flex-shrink:0}.related-chip-25 .snowflake-content-chip-image__image{aspect-ratio:1;height:auto;object-fit:contain}.related-chip-25 .snowflake-content-chip-button{display:none}.related-chip-25 .snowflake-content-chip-content-without-tag{flex-grow:1;padding-right:24px}.case-study-25.small-logo .snowflake-case-study-card-logo img{width:60px !important}.swiper-slide .case-study-25{width:95%;margin-left:auto;margin-right:auto}.case-study-25 .snowflake-case-study-card-logo img{width:140px !important;height:auto !important;transform:none !important;margin:24px 0 8px 0}.case-study-25 .snowflake-case-study-card-image__image{object-position:left center}.case-study-25 .snowflake-case-study-card-information-container{padding-right:24px}.case-study-25 ul{list-style-type:none;padding:0;margin:8px 0 0 0}.case-study-25 li{font-size:15px !important;line-height:1.3 !important;display:flex;flex-direction:column;border-left:4px solid var(--ui-01);padding-left:24px;margin-top:24px;color:#535862;gap:4px}.case-study-25 li b{display:block;font-family:'Texta',sans-serif;font-weight:900 !important;font-size:48px !important;line-height:.9 !important;color:var(--ui-01)}.case-study-25 .snowflake-case-study-card-description p{color:#535862}.case-study-25 .snowflake-case-study-card-description p:nth-child(2):not(:has(a)){color:#000;font-family:Texta;font-size:30px !important;line-height:1 !important;font-style:normal;font-weight:700;text-indent:-8px}.case-study-25.is-story .snowflake-case-study-card-description p:nth-child(2):not(:has(a)){text-indent:0}.case-study-25 .snowflake-case-study-card-key-card{background-color:transparent}.case-study-25 .snowflake-case-study-card-button{display:none}.case-study-25{border-radius:24px;overflow:hidden}@media screen and (min-width:1024px){.case-study-25 .snowflake-case-study-card-left-container{position:static;width:60%;min-height:0}.case-study-25 .snowflake-case-study-card-right-container::after{content:'';display:block;width:60%;max-width:340px;padding-bottom:50%;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 22 16' class='snowflake-pushdown-banner-placeholder-arrow'%3E%3Cpath fill='%2329B5E8' fill-rule='evenodd' d='M17.865 8.756c.088-.274.124-.555.118-.834a2.551 2.551 0 0 0-1.3-2.142L7.887.76C6.645.055 5.063.475 4.35 1.7a2.535 2.535 0 0 0 .947 3.494l4.916 2.809-4.916 2.801a2.543 2.543 0 0 0-.947 3.502c.713 1.222 2.295 1.64 3.537.934l8.796-5.024a2.541 2.541 0 0 0 1.182-1.46Z' clip-rule='evenodd'%3E%3C/path%3E%3C/svg%3E\");background-size:contain;background-repeat:no-repeat;position:absolute;top:-10%;left:-20%}.case-study-25 .snowflake-case-study-card-right-container{max-width:none;width:40%;position:absolute;top:-5%;right:-5%;z-index:0;height:110%}}@media screen and (min-width:768px){.case-study-25 li{max-width:50%}.case-study-25 ul{display:flex;gap:48px}}.snowflake-text.section-eyebrow p{margin-left:auto;margin-right:auto;margin-bottom:16px !important}.snowflake-text.section-eyebrow p,.snowflake-text.eyebrow-text p{text-transform:uppercase;font-family:'Texta',sans-serif !important;font-weight:800 !important;letter-spacing:.025em;margin-bottom:12px;line-height:1.1 !important}.snowflake-title-v2.dynamic .heading-2-v2 span.snowflake-title-v2-line{font-size:clamp(2.5rem,4.5vw,4rem) !important;line-height:.82 !important}.checklist ul{padding:0;margin:0}.checklist ul li{list-style-type:none;padding-left:32px;position:relative}.checklist ul li:not(:last-child){margin-bottom:1em}.checklist ul li::before{content:'';display:inline-block;width:20px;height:20px;background-image:url(\"data:image/svg+xml,%3Csvg width='24' height='25' viewBox='0 0 24 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect y='.985352' width='24' height='24' rx='12' fill='%23D4F0FA'/%3E%3Cpath d='M7.28613 13.2967L10.7147 16.7253L17.5718 9.86816' stroke='%2329B5E8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A\");background-size:contain;background-repeat:no-repeat;position:absolute;top:3px;left:0}.last-line-blue .snowflake-typographyv2 .snowflake-title-v2-line:last-child{color:var(--ui-01)}.snowflake-text p sup{line-height:0}.snowflake-title-v2.lowercase .heading-3-v2{font-size:28px;line-height:1;text-transform:none;font-weight:700}.snowflake-title-v2.lowercase .heading-2-v2{font-size:32px;line-height:1;text-transform:none;font-weight:700}.content-chip-new{border:1px solid rgba(204,204,204,.5);border-radius:16px;overflow:hidden}.content-chip-new .snowflake-image-container{border-radius:0;display:none}.content-chip-new .snowflake-content-chip-image{margin-right:0;max-width:180px;flex-shrink:0}.content-chip-new .snowflake-content-chip-content{padding:24px}.content-chip-new .black-blue-text-color .snowflake-title-v2-line:first-child{font-size:24px;line-height:1.1}.content-chip-new .black-blue-text-color .snowflake-title-v2-line:not(:first-child){font-family:'Lato',sans-serif;font-size:17px;color:#535862 !important;font-weight:500;line-height:1.45;margin-top:8px;display:none}div.snowflake-text a{font-weight:normal;color:var(--ui-01);text-decoration:underline;text-underline-offset:4px;text-decoration-style:dotted !important;text-decoration-color:transparent;transition:300ms ease text-decoration-color}div.snowflake-text a:hover{text-decoration-color:var(--ui-01);transition:300ms ease text-decoration-color}.footer-nav__link-group .snowflake-button-container,.subnav__item--button,.snowflake-card-v2-advanced-button .snowflake-button-container{justify-content:flex-start}.button-container\u003E.container\u003E.cmp-container\u003E.aem-container{align-items:center}.button-container\u003E.container\u003E.cmp-container\u003E.aem-container .snowflake-button-primary+.snowflake-button-link{margin-left:12px !important}.snowflake-button-regular.snowflake-button-link .snowflake-button-container{font-size:18px !important;text-align:left;justify-content:flex-start;line-height:1.4 !important}body .snowflake-card-v2-advanced{border:1px solid rgba(204,204,204,.5);border-radius:var(--spacing-02);transition:300ms ease all}body .snowflake-card-v2-advanced:hover{transform:translateY(-10px);box-shadow:rgba(152,162,179,.1) 0 10px 20px 0;transition:300ms ease all}body .snowflake-card-v2-advanced-inner{border-bottom:none}body .snowflake-card-v2-advanced-image{line-height:0}body .snowflake-card-v2-advanced-image__image{aspect-ratio:16 / 9}body .snowflake-card-v2-advanced-content{position:relative}body .snowflake-card-v2-advanced-content::after{content:'';display:block;position:absolute;bottom:0;left:0;transition:300ms ease all;width:20%;height:4px;background-color:var(--ui-01);opacity:0}body .snowflake-card-v2-advanced:hover .snowflake-card-v2-advanced-content::after{width:100%;opacity:1;transition:300ms ease all}body .snowflake-card-v2-advanced .snowflake-button-link.snowflake-button-blue .snowflake-button-container\u003E.link-icon{transition:300ms ease transform}body .snowflake-card-v2-advanced:hover .snowflake-button-link.snowflake-button-blue .snowflake-button-container\u003E.link-icon{transform:translateX(4px);transition:300ms ease transform}.six-columns\u003E.container\u003E.cmp-container\u003E.aem-container,.three-columns\u003E.container\u003E.cmp-container\u003E.aem-container,.four-columns\u003E.container\u003E.cmp-container\u003E.aem-container,.five-columns\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;flex-wrap:wrap;gap:24px}.six-columns.align-center\u003E.container\u003E.cmp-container\u003E.aem-container,.three-columns.align-center\u003E.container\u003E.cmp-container\u003E.aem-container,.four-columns.align-center\u003E.container\u003E.cmp-container\u003E.aem-container,.five-columns.align-center\u003E.container\u003E.cmp-container\u003E.aem-container{justify-content:center}.three-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:100%;margin:0 !important}.six-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv,.four-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv,.five-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(50% - 12px);margin:0 !important}@media screen and (min-width:768px){.three-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(50% - 12px)}.six-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv,.four-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv,.five-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(33.333% - 16px)}}@media screen and (min-width:1024px){.snowflake-title-v2.lowercase .heading-3-v2{font-size:34px}.snowflake-title-v2.lowercase.larger .heading-2-v2{font-size:44px;line-height:.95}.three-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(33.333% - 16px)}.four-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(25% - 18px)}.five-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(20% - 19.2px)}.six-columns\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(16.6666% - 20px)}.snowflake-title-v2.lowercase .heading-3-v2{font-size:28px !important}}@media screen and (min-width:1200px){.snowflake-title-v2.lowercase .heading-2-v2{font-size:40px}.content-chip-new .snowflake-content-chip-content{padding:32px}.content-chip-new .snowflake-image-container,.content-chip-new .black-blue-text-color .snowflake-title-v2-line:not(:first-child){display:block}}.promo-banner-25{border-radius:16px;overflow:hidden}.promo-banner-25 .snowflake-premium-content-banner-image-container{position:relative;max-width:380px}.promo-banner-25 .snowflake-text{color:#535862}.promo-banner-25 .snowflake-premium-content-banner-image__image{transform:translateY(8px);transition:300ms ease transform;border-radius:0;width:85%;margin:0 auto;display:block;position:relative;z-index:1}.promo-banner-25 .snowflake-premium-content-banner-image__link:hover .snowflake-premium-content-banner-image__image{transform:translateY(0);transition:300ms ease transform}.promo-banner-25 .snowflake-premium-content-banner-image__inner{height:auto;padding-top:24px}.promo-banner-25 .snowflake-premium-content-banner-image__link{position:relative;z-index:1;height:auto}.promo-banner-25 .snowflake-premium-content-banner-image__link::after{content:'';display:block;position:absolute;clip-path:polygon(0 0,66% 0,100% 100%,0 100%);bottom:0;left:0;width:100%;height:100%;background:var(--ui-01);transition:300ms ease width}.promo-banner-25 .snowflake-premium-content-banner-image__link:hover::after{width:110%;transition:300ms ease width}.sf-footer .snowflake-marketo-form .mktoFormRow .mktoFieldWrap select{background-position:95% 50%}.sf-footer__disclaimers .text-size-small .snowflake-text p{color:#fff !important;font-size:10px !important;opacity:.8}@media screen and (min-width:768px){.sf-footer__disclaimers .text-size-small .snowflake-text p{font-size:12px !important}}@media screen and (max-width:1023px){.mobile-top-padding{padding-top:64px}}@media (max-width:799px){.sf-footer .snowflake-marketo-form .mktoButtonWrap.mktoNative .mktoButton{width:100% !important}.sf-footer__logo{text-align:center;display:block;margin:0 auto}}.customer-card .snowflake-card-v2-advanced-image{aspect-ratio:4.35 / 1}.customer-card .snowflake-card-v2-advanced-image__image{width:100%;height:100%;padding-left:8px;object-fit:contain;object-position:left center;margin:0 !important;aspect-ratio:initial}.customer-card .snowflake-card-v2-advanced-image__inner{height:110px}.customer-card .snowflake-card-v2-advanced-tag-indicator{display:none}.pc-hero .snowflake-container-arrow-small-gray-image{top:-34% !important;width:18% !important}.pc-hero .snowflake-container-arrow-small-gray-image path{fill:var(--ui-01);opacity:1}@media screen and (max-width:767px){.mobile-padding-top{padding-top:64px}.hide-mobile{display:none !important}.pc-hero{padding-top:52px}.pc-hero .snowflake-text p,.pc-hero .left-alignment .snowflake-title-v2-line,.pc-hero h1 span{text-align:center !important}}div.snowflake-pushdown-banner-button{margin-top:0}.button-group.align-center\u003E.container\u003E.cmp-container\u003E.aem-container{align-items:center;justify-content:center !important}.text-center .snowflake-breadcrumb-swiper .swiper-wrapper{justify-content:center}div.snowflake-breadcrumb a.snowflake-breadcrumb-item,.snowflake-breadcrumb div.snowflake-breadcrumb-item{text-transform:none;font-weight:500}.snowflake-breadcrumb svg{display:none !important}.snowflake-breadcrumb a:has(svg)::after{content:'/';margin:0 12px;color:#666}.hide-filters .snowflake-filterable-and-searchable-grid-top-part{display:none !important}.page-section{padding-left:24px;padding-right:24px}@media screen and (min-width:768px){.page-section{padding-left:48px;padding-right:48px}}.download-card pre[class*=language-]{overflow-x:scroll !important}","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"}},":itemsOrder":["container_copy","container_573483281_","markup_editor_copy"]}},":itemsOrder":["root"],"classNames":"aem-xf"},"markup_editor":{"id":"markup-editor-85e94a9dfb","title":"Quickstarts Overrides","cssContent":".snowflake-markdown blockquote{padding:24px 32px;background:#f6f9fa;border:1px solid #29b5e8;border-radius:16px}.snowflake-markdown .snowflake-image-container img{width:auto !important;max-width:100%}.snowflake-markdown .snowflake-text ol{padding-left:20px !important}.snowflake-markdown .snowflake-text li{margin:0 0 12px 0 !important}.snowflake-markdown h3.snowflake-markdown-h3{font-size:20px !important;font-family:Texta,sans-serif !important}@media (min-width:768px){.snowflake-markdown h3.snowflake-markdown-h3{font-size:28px !important}}","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"}},":itemsOrder":["experiencefragment-banner","experiencefragment-header","markup_editor_1950346551","responsivegrid","modal_container","experiencefragment-footer","markup_editor"],":type":"wcm/foundation/components/responsivegrid"}},":itemsOrder":["root"],":mappedPath":"/en/developers/guides/well-architected-framework-cost-optimization-and-finops/","locale":"en"}
  