0% found this document useful (0 votes)
13 views25 pages

Environment & Deployment Options

Snowflake - Environment & Deployment Options

Uploaded by

Jayesh Patel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views25 pages

Environment & Deployment Options

Snowflake - Environment & Deployment Options

Uploaded by

Jayesh Patel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

ENVIRONMENT

MANAGEMENT

© 2020 Snowflake Inc. All Rights Reserved


TRADITIONAL ON-PREMISE DEPLOYMENT

PROD Database Server


DEV Database Server

Table Table
Table Table
Table Table
Table Table

Schema : Main Schema : Working


Schema : Main Schema : Working

Database: DWH_PROD
Database: DWH_DEV

Server 🡪 Database 🡪 Schema


IMPLIED SECURITY DOMAINS
PROD Domain DEV Domain

PROD Database Server


DEV Database Server

Table Table
Table Table
Table Table
Table Table

Schema : Main Schema : Working


Schema : Main Schema : Working

Database: DWH_PROD
Database: DWH_DEV

Separate Security Domains


SNOWFLAKE
DEPLOYMENT
OPTIONS

© 2020 Snowflake Inc. All Rights Reserved


1: SEPARATE ACCOUNT FOR EACH ENVIRONMENT
PROD Account TEST Account DEV Account

XXX: Database XXX: Database XXX: Database

Staging Schema Staging Schema Staging Schema

Table Table Table


Table Table Table

Presentation Schema Presentation Schema Presentation Schema

Table Table Table


Table Table Table
SEPARATE ACCOUNTS FEATURES

Features:
• Each Environment isolated & secure.
Advantages:
• Mirrors the on-premise deployment
• Isolation: Good for sensitive data
• Supports different editions PROD/DEV
Disadvantages:
• Cannot clone across accounts. Agile data
management a challenge.
• Need to keep isolated environments in step
• Access and Security setup for each account
(Okta, PrivateLink, Tri-secret, RBAC)

© 2020 Snowflake Inc. All Rights Reserved


2: ISOLATE PROD ACCOUNT
PROD Account NON_PROD Account

PROD_XXX: Database TEST_XXX: Database DEV_XXX: Database

Staging Schema Staging Schema Staging Schema

Table Table Table


Table Table Table

Presentation Schema Presentation Schema Presentation Schema

Table Table Table


Table Table Table
ISOLATE PROD ACCOUNT FEATURES

Features:
• PROD Account for security
• NON_PROD Account for flexibility.
Advantages:
• Isolates PROD. Good for sensitive data
• Supports different editions PROD / NON
• Agile Data Management on NON_PROD
Disadvantages:
• Data management between accounts is
challenging. Cannot clone.

© 2020 Snowflake Inc. All Rights Reserved


3: SINGLE ACCOUNT
Customer Account

PROD_XXX: Database TEST_XXX: Database DEV_XXX: Database

Staging Schema Staging Schema Staging Schema

Table Table Table


Table Table Table

Presentation Schema Presentation Schema Presentation Schema

Table Table Table


Table Table Table
SINGLE ACCOUNT FEATURES
Features:
• All Databases on a Single Account
Advantages:
• Easy agile data management (Cloning)
• Simple/Centralized User Admin
Disadvantages:
• Perceived security risk. Easier to grant
access to PROD data.
• Potentially sensitive data on Customer
Account. Not completely isolated.

© 2020 Snowflake Inc. All Rights Reserved


DATA MANAGEMENT
OPTIONS

© 2020 Snowflake Inc. All Rights Reserved


1: DATA MANAGEMENT: SEPARATE ACCOUNTS
PROD Account TEST Account

XXX: Database XXX: Database

Staging Schema Staging Schema


• Data Sharing Only.
• Cannot clone.
Table Table • Read Only.
Table Table
• Local table copies needed.

Data Share
Presentation Schema Presentation Schema

Table Table
Table Table
2: DATA MANAGEMENT: ISOLATE PROD ACCOUNT
PROD Account

PROD_XXX: Database

Staging Schema

Table
Table

Presentation Schema

Table
Table

1/4
2: DATA MANAGEMENT: ISOLATE PROD ACCOUNT
PROD Account TEST Account

PROD_XXX: Database

Staging Schema

Table
Table

TEST_SHARE: Database
Presentation Schema

Table
Table
Data Share

2/4
2: DATA MANAGEMENT: ISOLATE PROD ACCOUNT
PROD Account TEST Account

PROD_XXX: Database TEST_REFERENCE: Database

Staging Schema

Table
Table

Insert
TEST_SHARE: Database
Presentation Schema

Table
Table
Data Share

3/4
2: DATA MANAGEMENT: ISOLATE PROD ACCOUNT
PROD Account TEST Account

PROD_XXX: Database TEST_REFERENCE: Database


TEST_UAT: Database

Staging Schema

Clone
Table
Table

Cl

Insert
on
TEST_SHARE: Database
e
TEST_PERFORMANCE: Database
Presentation Schema

Table
Table Read Access
Data Share

4/4
3: DATA MANAGEMENT: SINGLE ACCOUNT
Customer Account

PROD_XXX: Database TEST_XXX: Database DEV_XXX: Database

Staging Schema Staging Schema Staging Schema

Table Table Table


Table Table Table

Clone
Presentation Schema Presentation Schema Presentation Schema

Table Table Table


Table Table Table

Clone
ENVIRONMENT
DEPLOYMENT

© 2020 Snowflake Inc. All Rights Reserved


SEPARATION OF ENVIRONMENTS

Marketing
Environment Production UAT Development Data
Scientists

Role Based Role


Role Role Role
Access Control

Virtual
Warehouses

Databases

© 2020 Snowflake Inc. All Rights Reserved


POTENTIAL NAMING

Marketing
Environment Production UAT Development Data
Scientists
PROD_ANALYST UAT_ANALYST DEV_ANALYST MKT_DS
Role Based Role
Role Role Role
Access Control

UAT_BI_VWH DEV_BI_VWH MKT_DS_VWH


PROD_BI_VWH

Virtual
Warehouses

PROD_DB UAT_DB DEV_DB MKT_DS_DB

Databases

© 2020 Snowflake Inc. All Rights Reserved


NAMING CONVENTION CONSIDERATIONS

Component Examples

Environment DEV, QA, UAT, PROD

Business Unit Enterprise, Marketing, Finance, etc.

Team Service Account, Analysts, Data Science, etc.

Function ELT (load/transformation), Reporting, Ad Hoc, etc.

Object Warehouse, Database.Schema, etc.

Privileges Set of privileges represented by an access role

Note: See the QuickStart Naming Conventions Document for details.

© 2020 Snowflake Inc. All Rights Reserved


ENVIRONMENT &
DATABASE OPTIONS

© 2020 Snowflake Inc. All Rights Reserved


ENVIRONMENT:
SINGLE SNOWFLAKE DATABASE

PROD Database Features


CUSTOMER LANDING INT schema
Account Schema
• Environment deployed in a
single database.
Insert into INT.x • Code never refers to database.
Select *
• Use default DATABASE for user.
From LANDING.x
• Supports multiple environments
within a single Account.
• Zero code changes when code
TEST Database moved between environments.
• Must use correct naming prefix
LANDING INT schema
Schema for PROD, TEST and DEV.
Key
Insert into INT.x
File Stage Select *
Account From LANDING.x
Database

Schema
ONE ENVIRONMENT:
PER ACCOUNT

Features
LANDING INT REF Schema
PROD Database Database
• Each environment deployed to a
Account SRC1 Schema
separate Snowflake Account.
• Zero code changes when code
Insert into INT.REF.x moved between environments.
Select * • Database names don’t include
From LANDING.SRC1.x the environment prefix.
• Can organize tables within both
database and schema.
TEST LANDING INT REF Schema
Account Database Database Drawbacks
Key SRC1 Schema
• Data Management: cloning
File Stage
Insert into INT.REF.x between accounts not possible.
Account
Select * • Needs code changes to host
Database From LANDING.SRC1.x multiple environments.
Schema
ENVIRONMENT:
MULTIPLE SNOWFLAKE DATABASES

Features
PROD_LANDING PROD_INT REF Schema
CUSTOMER Database Database
Account • Each environment deployed to a
SRC1 Schema
separate Snowflake Account.
• Can organize tables within both
Insert into PROD_INT.REF.x database and schema.
Select *
From PROD_LANDING.SRC1.x Drawbacks

• Needs large code changes when


TEST_LANDING TEST_INT REF Schema
Database
code moved between
Database
environments.
Key
SRC1 Schema • For example when migrating
from TEST to PROD we need to
File Stage
Insert into TEST_INT.REF.x change database names. This
Account Select * might create a data and
Database From TEST_LANDING.SRC1.x metadata sync issue between
Schema the two environments

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy