Versões do Snowflake¶
A Snowflake tem o compromisso de proporcionar uma experiência contínua e sempre atualizada para nossos usuários, ao mesmo tempo em que oferece um valor cada vez maior através de rápido desenvolvimento e inovação contínua.
Para cumprir este compromisso, implantamos novas versões a cada semana. Isto nos permite oferecer regularmente melhorias de serviço sob a forma de novos recursos, melhorias e correções. As implantações acontecem de forma transparente em segundo plano; os usuários não experimentam nenhuma inatividade ou interrupção do serviço, e têm sempre a garantia de usar a versão mais recente, com acesso aos últimos recursos.
Este tópico descreve o processo que seguimos para versões semanais, incluindo a opção de solicitar acesso antecipado em 12 horas para contas Enterprise Edition e Business Critical Edition e 24 horas de acesso antecipado para contas Virtual Private Snowflake (VPS) para permitir testes de versão adicionais (se desejado).
Neste tópico:
Tipos de versão (semanal)¶
A cada semana, o Snowflake implanta duas versões planejadas/agendadas:
- Versão completa:
Uma versão completa pode incluir qualquer uma das seguintes opções:
Novos recursos
Melhorias ou atualizações de recursos
Correções
Mudanças de comportamento (consulte a próxima seção neste tópico)
Além disso, uma versão completa inclui documentação atualizada das notas de versão do Snowflake por ciclo semanal. Consulte O que há de novo.
Versões completas podem ser implantadas em qualquer dia da semana, exceto que normalmente não planejamos lançamentos completos na sexta-feira para mitigar os problemas que podem ser encontrados durante as horas de folga.
- Versão de patch:
Uma versão de patch inclui apenas correções. Note que a versão de patch para uma determinada semana pode ser cancelada se a versão completa para a semana estiver atrasada ou for prolongada.
Além disso, as versões de patch são implementadas (conforme necessário) durante ou após a conclusão da versão completa para resolver quaisquer problemas que sejam encontrados.
Mudanças de comportamento (mensal)¶
A cada mês (exceto em novembro e dezembro), Snowflake seleciona uma das versões semanais completas para o mês para lançar mudanças de comportamento. A versão semanal selecionada para as mudanças de comportamento pode variar, mas normalmente é a terceira ou quarta versão do mês.
Uma mudança de comportamento é definida como qualquer mudança no comportamento existente que retorna resultados diferentes de antes e pode ter impacto no código do cliente ou nas cargas de trabalho. As mudanças de comportamento são fornecidas em pacotes que utilizam a seguinte convenção de nomenclatura:
YYYY_NN
Onde YYYY
é o ano e NN
é o número ordinal da versão dentro do ano. Por exemplo, 2022_06
seria o sexto pacote de mudança de comportamento lançado em 2022.
Para obter mais detalhes, consulte Gerenciamento de mudanças de comportamento.
Ciclo de vida do pacote¶
O ciclo de vida do pacote de mudança de comportamento consiste nos dois períodos seguintes:
- Período de teste (primeiro mês):
O pacote é introduzido “Desativado por padrão”. Durante este período, você pode optar por ativar o pacote em uma ou mais contas. Normalmente, você escolheria contas designadas para o desenvolvimento ou QA (garantia de qualidade) para que você possa testar as mudanças sem impactar suas contas de produção.
- Período de recusa (segundo mês):
O pacote passa de “Desativado por padrão” para “Ativado por padrão”. Durante este período, você pode optar por desativar o pacote em suas contas. Isto permite adiar as mudanças no pacote, normalmente para contas de produção, enquanto faz os ajustes necessários para mitigar o impacto das mudanças.
Durante esses dois períodos, o Snowflake não substitui a configuração para um determinado pacote. Por exemplo, se você desativar um pacote durante o período de teste, não o habilitamos no início do período de recusa.
No fim do período de recusa, o Snowflake ativa as mudanças de comportamento no pacote em todas as contas, momento no qual o pacote é considerado “Habilitado de forma geral”. A partir desse momento, você não poderá ativar ou desativar o pacote. No entanto, você ainda pode solicitar a desativação temporária de mudanças de comportamento individuais no pacote entrando em contato com suporte Snowflake.
Documentação de mudança de comportamento¶
Uma versão que contém pacotes de mudanças de comportamento inclui a seguinte documentação (além das Notas de lançamento para a versão):
Uma lista de alterações agrupadas futuras e implementadas recentemente. Consulte Log de mudança de comportamento.
Uma descrição de cada mudança de comportamento. As mudanças de comportamento estão listadas na página inicial de cada pacote.
Uma lista de mudanças fora de pacote futuras e implementadas recentemente. Consulte Mudanças de comportamento fora de pacote.
Teste/validação de pré-lançamento¶
No Snowflake, a qualidade da versão é uma prioridade máxima. Antes de cada versão ser lançada, ela passa por um conjunto completo de testes de validação que incluem:
Testes regulares de construção.
Testes contínuos de carga de trabalho e desempenho.
Além disso, antes de qualquer conta de cliente ser movida para um lançamento, a seguinte validação é realizada:
Rodada completa de testes de regressão em contas internas em todas as plataformas de nuvem com suporte.
Simulação da execução de cargas de trabalho selecionadas dos clientes impactados (por exemplo, consultas em dados de clientes), com foco nas cargas de trabalho que são mais provavelmente impactadas por alterações na versão.
Processo de versão em estágios¶
Uma vez que uma versão completa tenha sido implantada, o Snowflake não move todas as contas para a versão ao mesmo tempo. As contas são movidas para a versão utilizando uma abordagem em três estágios ao longo de vários dias. As contas são movidas para a versão completa na seguinte ordem, com base em sua edição do Snowflake:
- Dia 1:
Estágio 1 (acesso antecipado) para contas Enterprise designadas (ou superior).
- Dia 1 ou 2:
Estágio 2 (acesso regular) para contas Standard.
- Dia 2:
Estágio 3 (final) para contas Enterprise (ou superior).
Normalmente, a quantidade mínima de tempo decorrido entre o acesso inicial e os estágios finais é de 12 a 24 horas dependendo da sua edição do Snowflake, mas esse tempo pode ser maior ou menor. Esta abordagem por estágios permite que o Snowflake monitore a atividade à medida que as contas são movidas e que responda a quaisquer problemas que possam ocorrer. Ele também permite designar contas Enterprise para testes de acesso antecipado (consulte a próxima seção neste tópico).
Nota
Esta abordagem por estágios só se aplica a versões completas. Para versões de patch, todas as contas são movidas no mesmo dia.
Além disso, se forem descobertos problemas durante a alteração de contas para uma versão completa ou versão de patch, a versão pode ser interrompida ou revertida. Na maioria dos casos, o acompanhamento de uma versão interrompida/revertida é concluído dentro de 24-48 horas.
Acesso antecipado a versões completas¶
Se você tiver várias contas Enterprise Edition (ou superior), você pode designar uma ou mais dessas contas como acesso antecipado inicial para aproveitar o período entre o acesso antecipado e os estágios finais para versões completas. Isto pode ser particularmente útil se você mantém contas separadas para desenvolvimento/teste e produção.
Para designar uma conta para acesso antecipado, entre em contato com seu representante da conta Snowflake.
Uma vez que tenha designado uma conta para acesso antecipado, você pode implementar uma estrutura de teste semelhante à seguinte:
Use CURRENT_VERSION (ou uma UDF que retorna resultados similares) para verificar quando sua conta de acesso antecipado está na versão completa.
Use suas contas de acesso antecipado para testar suas cargas de trabalho de produção contra a versão completa.
Se houver algum problema, notifique o suporte Snowflake, que pode trabalhar com você para evitar que os problemas afetem suas outras contas.
Dica
O acesso antecipado não é obrigatório nem recomendado para todas as organizações com contas Enterprise Edition. Os rigorosos testes de lançamento e monitoramento do Snowflake durante as implantações geralmente são suficientes para evitar a maioria dos problemas. O acesso antecipado é destinado principalmente às organizações que desejam ter mais certeza de que suas contas de produção não serão afetadas por versões completas.