Curso Snowflake Database Structures and DML

  • DevOps | CI | CD | Kubernetes | Web3

Curso Snowflake Database Structures and DML

24 horas
Visão Geral

Este Curso Snowflake Database Structures and DML é ideal para analistas de dados, engenheiros de dados, desenvolvedores de ETL/ELT, DBAs e qualquer profissional que busca dominar as funcionalidades de estruturas de dados e manipulação de dados no Snowflake, o Data Cloud moderno. Do ponto de vista técnico, você aprenderá a criar e gerenciar bancos de dados, schemas, tabelas (incluindo variedades como tabelas temporárias, transientes e externas), views, e a aplicar as operações DML (Data Manipulation Language) essenciais para carregar, inserir, atualizar, deletar e mesclar dados. O curso focará nas particularidades e otimizações que o Snowflake oferece para lidar com grandes volumes de dados e diversos formatos (estruturados e semi-estruturados), garantindo que os participantes possam construir e manter pipelines de dados robustos e eficientes.

Curso Snowflake Database Structures and DML, o domínio das estruturas de dados e DML no Snowflake é uma habilidade crítica para empresas que utilizam esta plataforma para suas estratégias de dados e analytics. Ele permite que as organizações extraiam o máximo valor de seus dados, garantindo que as informações estejam organizadas, acessíveis e atualizadas para tomada de decisões. A proficiência nessas operações básicas, porém fundamentais, otimiza o desempenho de consultas, reduz custos de armazenamento e processamento e acelera o ciclo de vida dos dados, resultando em maior agilidade nos negócios e vantagem competitiva. Profissionais com essa expertise são indispensáveis para construir e manter uma fundação de dados sólida e escalável no ambiente cloud.

Objetivo

Ao final do Curso Snowflake: Database Structures and DML, você será capaz de:

  • Compreender a arquitetura de armazenamento do Snowflake e seus conceitos fundamentais.
  • Criar e gerenciar bancos de dados e schemas no Snowflake.
  • Projetar e criar diferentes tipos de tabelas (padrão, temporária, transiente, externa) e compreender suas aplicações.
  • Definir constraints (restrições) e compreender seu comportamento no Snowflake.
  • Criar e gerenciar views (visões) para simplificar consultas e controlar acesso.
  • Utilizar os comandos DML (INSERT, UPDATE, DELETE, MERGE) para manipular dados.
  • Realizar carga de dados eficientemente para tabelas Snowflake usando COPY INTO.
  • Trabalhar com dados semi-estruturados (JSON, XML, Avro, Parquet) e o tipo de dados VARIANT.
  • Entender e aplicar conceitos de Time Travel e Fail-safe para recuperação de dados.
  • Aplicar as melhores práticas para organização e manipulação de dados no Snowflake.
Publico Alvo
  • Analistas de Dados: Que precisam interagir e manipular dados diretamente no Snowflake.
  • Engenheiros de Dados: Envolvidos na criação de pipelines ETL/ELT e no gerenciamento de dados no Snowflake.
  • Desenvolvedores de BI/SQL: Que migrarão ou já trabalham com bases de dados no Snowflake.
  • DBAs (Administradores de Banco de Dados): Que buscam entender as particularidades do Snowflake em relação a bancos de dados tradicionais.
  • Qualquer profissional que precise compreender como os dados são armazenados e manipulados no Snowflake.
Pre-Requisitos
  • Conhecimento fundamental de SQL (SELECT, WHERE, GROUP BY, JOINs).
  • Noções básicas de conceitos de banco de dados (tabelas, colunas, chaves primárias/estrangeiras).
  • Familiaridade com conceitos de Cloud Computing é um diferencial, mas não obrigatório.
  • Acesso a uma conta Snowflake (pode ser uma conta trial gratuita) para a realização dos laboratórios.
Materiais
Inglês/Português/Lab Prático
Conteúdo Programatico

Módulo 1: Introdução ao Snowflake e Arquitetura de Armazenamento (4 horas)

  • 1.1. O Data Cloud Snowflake:
    • Visão geral da arquitetura multi-cluster, compartilhamento de dados e elasticidade.
    • Camadas da arquitetura: Cloud Services, Query Processing (Virtual Warehouses), Database Storage.
    • Conceitos de computação (Warehouses Virtuais) e armazenamento (micro-partições).
  • 1.2. Primeiros Passos com a Interface Snowflake (Snowsight):
    • Navegação na interface web do Snowsight.
    • Criação e gerenciamento de Worksheets (folhas de trabalho).
    • Contexto de sessão: USE DATABASE, USE SCHEMA, USE WAREHOUSE.
  • 1.3. Hierarquia de Objetos no Snowflake:
    • ACCOUNT -> DATABASE -> SCHEMA -> TABLE/VIEW/STAGE/etc.
    • Criação e gerenciamento de bancos de dados (CREATE DATABASE, ALTER DATABASE, DROP DATABASE).
    • Criação e gerenciamento de schemas (CREATE SCHEMA, ALTER SCHEMA, DROP SCHEMA).
    • Tipos de schemas: padrão e managed access.
  • Prática: Criar uma conta trial Snowflake. Explorar o Snowsight. Criar um novo banco de dados e múltiplos schemas, e configurar o contexto da sessão.

Módulo 2: Tabelas e Visões no Snowflake (4 horas)

  • 2.1. Criação e Propriedades de Tabelas Padrão:
    • Sintaxe CREATE TABLE: tipos de dados suportados no Snowflake (incluindo VARIANT, ARRAY, OBJECT).
    • Propriedades de tabela (COMMENT, DATA_RETENTION_TIME_IN_DAYS).
    • DEFAULT valores para colunas.
    • COLLATE para strings.
    • Compreendendo e aplicando constraints (PK, FK, UNIQUE, NOT NULL) e sua natureza não-enforced no Snowflake.
  • 2.2. Tipos Especiais de Tabelas:
    • Tabelas Temporárias (TEMPORARY TABLE): Uso e ciclo de vida.
    • Tabelas Transientes (TRANSIENT TABLE): Retenção de dados e custos.
    • Quando usar cada tipo de tabela.
  • 2.3. Tabelas Externas (EXTERNAL TABLE):
    • Conectando o Snowflake a dados em Object Storage (S3, Azure Blob, GCS).
    • Sintaxe CREATE EXTERNAL TABLE e opções de formato.
    • Refresh de tabelas externas.
  • 2.4. Views (Visões):
    • Criação de VIEWS para abstração de dados e segurança.
    • Secure Views: Protegendo a lógica da consulta e o acesso aos dados subjacentes.
    • Materialized Views: Conceito, benefícios (performance), limitações e gerenciamento.
  • Prática: Criar tabelas padrão com diferentes tipos de dados e constraints. Criar tabelas temporárias e transientes. Configurar uma tabela externa para um bucket de dados simulado. Criar views e secure views.

Módulo 3: Manipulação de Dados (DML) e Carregamento (4 horas)

  • 3.1. Operações DML Fundamentais:
    • INSERT INTO: Inserindo linhas de dados em tabelas.
    • UPDATE: Atualizando registros existentes.
    • DELETE: Excluindo registros de tabelas.
    • TRUNCATE TABLE: Limpeza rápida de tabelas.
  • 3.2. Comando MERGE:
    • Uso do MERGE para operações UPSERT (UPDATE ou INSERT).
    • Sincronizando dados de tabelas staging para tabelas de destino.
  • 3.3. Carregamento de Dados com COPY INTO:
    • O papel dos STAGES (estágios) internos e externos.
    • Sintaxe COPY INTO @<stage> e COPY INTO <table>.
    • Opções de formato de arquivo (CSV, JSON, Parquet, etc.).
    • Gerenciamento de erros no carregamento (ON_ERROR).
    • Carregamento incremental e idempotência.
  • 3.4. Trabalhando com Dados Semi-Estruturados:
    • O tipo de dados VARIANT.
    • Funções para parsing de JSON: PARSE_JSON, GET, GET_PATH, FLATTEN.
    • Consultando e manipulando dados dentro de colunas VARIANT.
  • Prática: Realizar operações INSERT, UPDATE, DELETE. Utilizar o MERGE para sincronizar dados. Carregar dados de arquivos para tabelas usando COPY INTO. Consultar e extrair dados de colunas VARIANT.

Módulo 4: Time Travel, Fail-safe e Boas Práticas (4 horas)

  • 4.1. Time Travel e Undrop:
    • Conceito de Time Travel no Snowflake: consultas a dados históricos.
    • Sintaxe AT e BEFORE para consultas pontuais no tempo.
    • Restaurando objetos (UNDROP DATABASE, UNDROP SCHEMA, UNDROP TABLE).
    • Configuração do DATA_RETENTION_TIME_IN_DAYS.
  • 4.2. Fail-safe:
    • Visão geral do Fail-safe do Snowflake para recuperação de desastres (além do Time Travel).
    • Como o Fail-safe garante a durabilidade dos dados.
  • 4.3. Clones Zero-Copy:
    • O que são clones zero-copy e seus benefícios (custo e velocidade).
    • Sintaxe CREATE ... CLONE.
    • Casos de uso para clones (desenvolvimento, teste, análise ad-hoc).
  • 4.4. Otimização e Boas Práticas em DML:
    • Considerações de performance para INSERT, UPDATE, DELETE em grandes volumes.
    • Uso eficiente de MERGE.
    • Organização de dados para otimização de consultas (clustering keys - conceitual).
    • Padrões de nomenclatura e documentação.
  • Prática: Utilizar o Time Travel para consultar dados em um ponto específico no tempo. Realizar um UNDROP de uma tabela. Criar um clone zero-copy de uma tabela para um ambiente de teste.
TENHO INTERESSE

Cursos Relacionados

Curso Ansible Red Hat Basics Automation Technical Foundation

16 horas

Curso Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Curso Ansible Linux Automation with Ansible

24 horas

Ansible Overview of Ansible architecture

16h

Advanced Automation: Ansible Best Practices

32h