Почему у снежинки есть внутренние и внешние этапы, когда все данные хранятся в облачном хранилище (скажем, AWS)? В чем разница в принципе?
Разница в том, что если у вас нет собственной учетной записи хранения ни у одного облачного провайдера, вы все равно можете использовать масштабируемость и мощность облачного хранилища с внутренней сценой. На внутреннем этапе Snowflake выставит вам счет за хранение. Если у вас есть собственная учетная запись AWS, вы можете использовать внешнюю стадию, здесь стоимость хранилища выставляется вам вашим облачным провайдером.
На внешней стадии у вас больше контроля над данными с помощью политик и т. д. Это действительно зависит от варианта использования и от того, как вы хотите использовать хранилище. Вы можете узнать больше об этой сторонней статье: https://cloudyard.in/2022/01/снежинка-внутренняя-сцена-и-внешняя-сцена/
Обзор загрузки данных говорит об этом очень хорошо:
Snowflake refers to the location of data files in cloud storage as a stage. The COPY INTO command used for both bulk and continuous data loads (i.e. Snowpipe) supports cloud storage accounts managed by your business entity (i.e. external stages) as well as cloud storage contained in your Snowflake account (i.e. internal stages).
Некоторые из базовых страниц документа действительно стоит прочитать.