jsrathnayake
jsrathnayake

Reputation: 159

Use own cloud environment instead of Snowflake managed s3 for storing data

We know that Snowflake is cloud based analytical data warehouse provided as Saas its available on these cloud environment(AWS, Azure, GCP). We can choose the cloud environment like AWS and the data will be stored in snowflake managed S3 bucket. Is it possible to use our AWS cloud environment instead of snowflake managed for the storage? are there any options?

Upvotes: 1

Views: 197

Answers (2)

Robert Long
Robert Long

Reputation: 6802

Yes, you can use your own cloud-based storage, but this will be sub-optimal from a performance and features perspective. To do this you would use an external stage. External tables store file-level metadata about the data files, such as the filename, a version identifier and related properties. This enables querying data stored in files in an external stage as if it were inside a database. External tables can access data stored in any format supported by COPY INTO <table> statements.

External tables are read-only, therefore no DML operations can be performed on them; however, external tables can be used for query and join operations. Views can be created against external tables.

Querying data stored external to the database is likely to be slower than querying native database tables; however, materialized views based on external tables can improve query performance.

https://docs.snowflake.com/en/user-guide/tables-external-intro.html

Upvotes: 1

CMe
CMe

Reputation: 692

The only way to use your own public cloud managed environment is as an external stage where you can :

  • stage data before loading into snwoflake
  • stage data after unloading from snowflake
  • stage data and query them in snowflake using external tables

Upvotes: 2

Related Questions