Dav*_*542 2 data-warehouse snowflake-cloud-data-platform
我正在使用 Snowflake,我很惊讶它如何能够进行即时调整大小。这是一个非常10 秒的视频,展示了它如何立即调整大小,并且查询在下次运行时仍然是“热的”(注意我CURRENT_TIMESTAMP在查询中有一个,因此它永远不会从缓存中返回):
Snowflake 如何能够即时调整大小(与 Redshift 之类的完全不同)?这是否意味着它只有一组始终运行的服务器,而调整大小只是用于运行该任务的内存/cpu 的虚拟分配?底层数据是存储在共享磁盘还是内存中?
简短地回答您关于调整大小的问题:是的,您是绝对正确的。
据我所知,Snowflake 在后台管理着一个正在运行的服务器池。可以从这里为所有客户分配一些东西。结果:为您调整大小从 S 到 XS 是从该池重新分配服务器。
很可能 Virtual Private Snowflake-Edition 的行为有所不同,因为这些帐户不与其他帐户(在该 VPS 之外)共享资源(例如虚拟仓库)。更多信息:https : //docs.snowflake.com/en/user-guide/intro-editions.html#virtual-private-snowflake-vps
关于您的存储问题:Snowflake 的存储层基本上是一种存储服务,例如 Amazon S3。这里Snowflake以列格式保存数据,在微分区中更加精确。有关微分区的更多信息,请访问:https : //docs.snowflake.com/en/user-guide/tables-clustering-micropartitions.html
您的虚拟仓库访问此存储层(远程磁盘)或 - 如果查询之前运行过 - 缓存。有一个本地磁盘缓存(这是您使用 SSD 存储的虚拟仓库)和一个结果缓存(可在过去 24 小时内跨虚拟仓库查询):https : //community.snowflake.com/s/article/Caching -in-Snowflake-Data-Warehouse