Snowflake: descubra o potencial de uma arquitetura inovadora
O Snowflake é mais que uma plataforma de data cloud, ele combina arquitetura nativa híbrida com as vantagens de arquiteturas de banco de dados tradicionais.
Sabemos que, com a velocidade crescente do surgimento de novas tecnologias, fica cada vez mais difícil acompanhar as plataformas de dados que vão surgindo, como o Snowflake, e ainda mais complicado escolher a melhor opção.
Por isso, é de suma importância conhecer ferramentas novas e mais modernas para se atualizar junto ao mercado e conseguir obter as melhores soluções baseadas em dados.
E a Indicium vai ajudar você neste processo!
Esta edição é sobre uma ferramenta que vem recebendo grande atenção: o Snowflake.
Vamos analisar como essa plataforma de dados redefine o conceito de armazenamento e análise de dados, trazendo as vantagens das arquiteturas tradicionais e elevando-as a um novo patamar de eficiência e inovação.
Boa leitura!
Qual é a base da arquitetura do Snowflake?
Antes de olhar para a arquitetura do Snowflake, é importante entender alguns conceitos.
Sua arquitetura é basicamente um híbrido de arquiteturas de computação distribuída, sendo uma combinação entre arquitetura de banco de dados com disco compartilhado, o Shared Disk, e sem compartilhamento, o Shared Nothing.
Quando você tem uma estrutura de disco compartilhado, partilha o mesmo disco ou o mesmo dispositivo de armazenamento.
Sendo assim, apesar de cada nó possuir sua própria memória, eles possuem acesso aos mesmos dados a partir da réplica desses que estão presentes em cada um dos nós.
Devido ao acesso compartilhado, é necessário monitorar e controlar o processamento dos dados a partir de um software de controle de cluster.
Ao pensar em uma estrutura de banco de dados sem compartilhamento, imagine que cada nó tem sua própria memória e é independente.
Ou seja, eles não compartilham armazenamento ou espaço em disco, e são interconectados por meio de uma rede.
Para entender qual arquitetura atenderia melhor às necessidades, é necessário analisar as vantagens e as desvantagens de cada tipo de arquitetura distribuída.
A seguir, temos listados alguns dos prós e contras de cada tipo.
Snowflake: o melhor dos dois mundos com uma arquitetura multi-cluster
A maioria dos sistemas tradicionais de armazenamento e análise de dados organizam seu hardware em uma das duas arquiteturas de computação distribuída, Shared Disk ou Shared Nothing.
O Snowflake consiste em uma arquitetura orientada a serviços composta de três camadas fisicamente separadas, mas logicamente integradas.
Observe a imagem a seguir:
A primeira camada, Cloud Services, é um conjunto de serviços que gerenciam as atividades no Snowflake, como processamento das solicitações dos usuários.
Os serviços que estão inclusos são:
- autenticação;
- gestão de infraestrutura;
- gerenciamento de metadados;
- análise e otimização de consultas;
- e controle de acesso.
A camada Query Processing, a segunda, é composta por clusters de computação separados chamados de virtual warehouses e são responsáveis por executar a computação necessária para processar uma consulta.
Eles usam comandos SQL para criar os warehouses que são gerenciados pelo Snowflake.
E é aqui onde os clusters trabalham de forma semelhante à arquitetura Shared Nothing.
A última é o Database Storage, uma camada centralizada de armazenamento em nuvem que possui todos os dados disponibilizados em bancos de dados, similar à arquitetura Shared Disk.
Arquitetura Snowflake x warehouses padrões
A arquitetura multi-cluster do Snowflake possui vantagens quando comparada com warehouses padrões.
Por exemplo, não é necessário aumentar o tamanho do warehouse, nem iniciar outros ou reduzir manualmente o tamanho dele.
Com as duas modalidades que essa arquitetura possui, maximizado e dimensionamento automático, é possível ter conexão de um número maior de usuários ao mesmo tamanho de warehouse.
Quando usamos a modalidade maximizado podemos controlar a capacidade do multi-cluster, fazendo upgrade ou downgrade do número de clusters conforme necessário.
Por outro lado, no dimensionamento automático, o próprio Snowflake inicia e interrompe automaticamente os clusters adicionais conforme necessário.
E faz isso sem a necessidade de redimensionar, pausar ou iniciar o warehouse ou parar os adicionais para lidar com variações de cargas de trabalho.
Como o Snowflake pode ajudar a sua empresa?
O Snowflake é mais que uma plataforma de data cloud, ele combina arquitetura nativa híbrida com as vantagens de arquiteturas de banco de dados tradicionais.
Ele também é uma plataforma performática por separar o escalonamento de recursos de computação dos de armazenamento. Além disso, pode ajudar a sua empresa:
- dimensionando os recursos computacionais de forma automática;
- provisionando transparente de recursos;
- gerenciando automaticamente os metadados;
- personalizando o mecanismo de computação para cada carga de trabalho;
- consultando dados semi estruturados de forma relacional;
- e compartilhando dados dentro e fora da sua organização de forma segura.
Desse modo, utilizar a arquitetura multi-cluster do Snowflake melhora o escalonamento de recursos de uso simultâneo de usuários e consultas, proporcionando mais autonomia no gerenciamento dos projetos.
Quer saber mais sobre as possibilidades que o Snowflake tem a oferecer para a sua empresa ou a que você trabalha?
Entre em contato com a Indicium.
Somos a única empresa brasileira parceira Select Snowflake.
Isso significa que somos certificados, parceiros da plataforma e já a implementamos em diversas empresas no Brasil e no mundo.
Clique aqui para falar com a nossa equipe.
Emy Kuroiwa
Engenheira de analytics