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

Time:10-22

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?

CodePudding user response:

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

CodePudding user response:

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
  • Related