Plataforma de data cloud com arquitetura única e escalabilidade automática
Snowflake é uma plataforma de data cloud construída especificamente para a nuvem, oferecendo data warehousing, data lakes, data engineering, data science e desenvolvimento de aplicações de dados em uma única plataforma. Com arquitetura única que separa armazenamento, computação e serviços, Snowflake oferece escalabilidade automática e performance superior.
Fundada em 2012 por ex-executivos da Oracle, Snowflake foi projetada desde o início para ser uma solução cloud-native. A empresa foi pioneira na arquitetura de separação de armazenamento e computação, revolucionando o mercado de data warehousing e se tornando uma das empresas de tecnologia de crescimento mais rápido.
Snowflake utiliza uma arquitetura multi-cluster shared data:
Escalabilidade automática baseada na demanda
Acesso a dados históricos até 90 dias
Compartilhamento seguro de dados em tempo real
Suporte nativo para JSON, Avro, Parquet
Snowpipe | Ingestão contínua de dados |
Streams & Tasks | Change data capture e automação |
Secure Views | Proteção de dados sensíveis |
Multi-Cluster Warehouses | Concorrência automática |
Data Marketplace | Acesso a dados de terceiros |
Data warehouse empresarial com escalabilidade automática.
Análise de dados estruturados e semi-estruturados em data lakes.
Pipelines de dados modernos com Snowpipe e Tasks.
Compartilhamento seguro de dados entre organizações.
Plataforma para ciência de dados e machine learning.
-- Criar virtual warehouse
CREATE WAREHOUSE analytics_wh
WITH WAREHOUSE_SIZE = 'MEDIUM'
AUTO_SUSPEND = 300
AUTO_RESUME = TRUE
INITIALLY_SUSPENDED = TRUE;
-- Usar warehouse
USE WAREHOUSE analytics_wh;
-- Criar tabela com dados JSON
CREATE TABLE events (
id NUMBER,
event_data VARIANT,
timestamp TIMESTAMP_NTZ
);
-- Inserir dados JSON
INSERT INTO events VALUES
(1, PARSE_JSON('{"user_id": 123, "action": "click", "page": "/home"}'), CURRENT_TIMESTAMP());
-- Consultar dados JSON
SELECT
id,
event_data:user_id::NUMBER as user_id,
event_data:action::STRING as action,
event_data:page::STRING as page
FROM events;
-- Consultar dados de 1 hora atrás
SELECT * FROM sales AT(OFFSET => -3600);
-- Consultar dados de uma data específica
SELECT * FROM sales AT(TIMESTAMP => '2024-01-15 10:00:00');
-- Restaurar tabela deletada
UNDROP TABLE sales;
-- Criar stage para arquivos
CREATE STAGE my_stage
URL = 's3://my-bucket/data/'
CREDENTIALS = (AWS_KEY_ID = 'xxx' AWS_SECRET_KEY = 'yyy');
-- Criar pipe para ingestão automática
CREATE PIPE my_pipe AS
COPY INTO events
FROM @my_stage
FILE_FORMAT = (TYPE = 'JSON');
-- Verificar status do pipe
SELECT SYSTEM$PIPE_STATUS('my_pipe');
Aspecto | Snowflake | BigQuery | Redshift | Databricks |
---|---|---|---|---|
Facilidade de Uso | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ |
Performance | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
Escalabilidade | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
Multi-Cloud | ✅ AWS, Azure, GCP | ❌ Apenas GCP | ❌ Apenas AWS | ✅ AWS, Azure, GCP |
Custo | Alto | Médio-Alto | Médio | Alto |