使用自己的云环境代替Snowflake管理的s3存储数据



我们知道Snowflake是基于云的分析数据仓库,以Saas的形式提供,它可以在这些云环境(AWS, Azure, GCP)上使用。我们可以选择像AWS这样的云环境,将数据存储在snowflake托管的S3桶中。是否可以使用我们的AWS云环境而不是snowflake管理的存储?有其他选择吗?

使用您自己的公共云管理环境的唯一方法是作为外部平台,您可以:

  • 加载到雪花前的阶段数据
  • 雪花卸载后的阶段数据
  • 阶段数据,并使用外部表
  • 在snowflake中查询它们

是的,您可以使用自己的基于云的存储,但从性能和特性的角度来看,这将是次优的。要做到这一点,你需要使用外部舞台。外部表存储有关数据文件的文件级元数据,例如文件名、版本标识符和相关属性。这样就可以在外部阶段查询存储在文件中的数据,就像在数据库中一样。外部表可以访问COPY INTO <table>语句支持的任何格式的数据。

外部表是只读的,因此不能对其执行DML操作;但是,外部表可以用于查询和连接操作。可以针对外部表创建视图。

查询存储在数据库外部的数据可能比查询本地数据库表慢;但是,基于外部表的物化视图可以提高查询性能。

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

最新更新