Translate

quarta-feira, 29 de julho de 2020

ETL Clássico vs. ELT Moderno sem Mistérios

 

Bellacosa Mainframe e o ETL Sem misterios conheca o classico versus o moderno


☕ Um Café no Bellacosa Mainframe

ETL Clássico vs. ELT Moderno sem Mistérios

Da fita magnética ao Data Lakehouse: o guia definitivo do programador COBOL Padawan para entender como os dados aprenderam a viajar no tempo

Imagine a seguinte cena.

São duas horas da manhã em um grande centro de processamento de dados. As luzes da sala estão apagadas, mas centenas de pequenos indicadores piscam silenciosamente. No console do operador, uma fila de jobs atravessa o JES2. Um programa COBOL lê milhões de registros de um arquivo VSAM, consulta tabelas no Db2, gera um arquivo sequencial e o entrega para outro processo.

Depois, um job de transformação organiza os dados.

Outro job elimina duplicidades.

Outro converte datas.

Outro calcula totais.

Finalmente, já perto do amanhecer, as informações chegam ao Data Warehouse, prontas para alimentar os relatórios que os gestores abrirão durante o café da manhã.

Essa cena resume muito bem a era do ETL clássico.

Agora avance algumas décadas.

Os dados continuam vindo do mainframe, do ERP, do CRM, das APIs, das planilhas e de dezenas de sistemas. Porém, em vez de esperar uma longa janela batch noturna, as alterações podem ser capturadas quase em tempo real. Os dados brutos são carregados em uma plataforma de nuvem ou em um Lakehouse e somente depois são organizados, testados e modelados.

Essa segunda cena representa o ELT moderno.

À primeira vista, a diferença parece pequena. Afinal, ETL e ELT possuem as mesmas três letras:

  • E de Extract, extração;

  • T de Transform, transformação;

  • L de Load, carga.

O que muda é a ordem.

Mas, como diria o Sr. Spock ao examinar um fluxo de dados corporativo:

“Uma pequena alteração na sequência pode produzir consequências altamente ilógicas em todo o sistema.”

Trocar a posição do T e do L não é apenas reorganizar três letras. É alterar toda a filosofia da arquitetura de dados.

Prepare o café, ajuste o terminal 3270 e embarque conosco. Nesta missão, o programador COBOL Padawan descobrirá como os dados saíram dos arquivos sequenciais, atravessaram Data Warehouses gigantescos e chegaram aos modernos Data Lakes, Lakehouses, pipelines de CDC, dbt, dashboards e modelos de inteligência artificial.


1. Antes de tudo: o que é um pipeline de dados?

Um pipeline de dados é uma sequência organizada de etapas responsável por transportar informações de um lugar para outro.

Podemos compará-lo a uma linha de produção.

A matéria-prima chega, passa por máquinas, é inspecionada, transformada, embalada e enviada ao destino final.

No mundo dos dados, a matéria-prima pode ser:

  • uma tabela Db2;

  • um arquivo VSAM;

  • um banco Oracle;

  • uma aplicação SAP;

  • um arquivo CSV;

  • uma planilha;

  • uma mensagem MQ;

  • uma API;

  • um tópico Kafka;

  • um log de servidor;

  • uma transação CICS;

  • um registro IMS;

  • um arquivo gerado por um programa COBOL.

O pipeline captura essas informações, movimenta os registros, corrige formatos, aplica regras de negócio e entrega os dados para relatórios, análises, auditorias ou inteligência artificial.

Um pipeline simplificado pode ser representado assim:

Sistema de origem
       ↓
Extração
       ↓
Transformação
       ↓
Carga
       ↓
Banco analítico
       ↓
Relatórios e dashboards

No modelo moderno, a ordem normalmente muda:

Sistema de origem
       ↓
Extração
       ↓
Carga dos dados brutos
       ↓
Transformação dentro da plataforma
       ↓
Modelos analíticos
       ↓
Relatórios, ciência de dados e IA

É exatamente aí que começa a diferença entre ETL e ELT.


2. O nascimento do ETL clássico

O ETL tornou-se extremamente popular durante os anos 1990 e 2000.

Naquela época, os recursos computacionais eram muito mais caros e limitados.

Armazenamento custava caro.

Memória custava caro.

Processamento custava caro.

Licenças de bancos de dados custavam caro.

Manter grandes volumes de dados sem uso aparente era visto como desperdício.

A filosofia dominante era:

“Não carregue tudo. Carregue somente o que estiver limpo, organizado e pronto para ser usado.”

Assim surgiu o processo clássico:

Extract → Transform → Load

Ou seja:

  1. extrair os dados da origem;

  2. transformar os dados fora do Data Warehouse;

  3. carregar apenas os dados prontos.

Essa abordagem combinava muito bem com a cultura dos grandes ambientes corporativos, especialmente aqueles baseados em processamento batch.


3. ETL explicado para um programador COBOL iniciante

Vamos imaginar um cenário bancário.

Um programa COBOL processa diariamente um arquivo de movimentos financeiros.

O arquivo contém informações como:

NUMERO-CONTA
DATA-MOVIMENTO
TIPO-MOVIMENTO
VALOR-MOVIMENTO
CODIGO-AGENCIA

Esses dados precisam alimentar um Data Warehouse para que a área de negócios analise o total de depósitos, saques e transferências.

No ETL clássico, o fluxo seria parecido com este:

Db2 / VSAM / Arquivo
        ↓
Extração
        ↓
Área de staging
        ↓
Transformação
        ↓
Carga no Data Warehouse

Vamos analisar cada etapa.


4. Etapa 1 — Extract: extraindo os dados

A extração é o momento em que os dados são retirados do sistema de origem.

No mainframe, isso pode acontecer por meio de:

  • programas COBOL batch;

  • unload do Db2;

  • IDCAMS REPRO;

  • DFSORT;

  • utilitários de IMS;

  • arquivos sequenciais;

  • mensagens MQ;

  • APIs do z/OS Connect;

  • ferramentas de replicação;

  • soluções de Change Data Capture.

Um programa COBOL poderia, por exemplo, ler uma tabela Db2 e gravar um arquivo sequencial:

SELECT
    ACCOUNT_ID,
    CUSTOMER_ID,
    BALANCE,
    LAST_UPDATE
FROM ACCOUNT
WHERE LAST_UPDATE >= :DATA-ANTERIOR

O resultado seria gravado em um arquivo como:

HLQ.EXTRACAO.CONTAS.D20260716

Esse arquivo seria então enviado para a plataforma de ETL.

O ponto importante é que a extração não deveria aplicar regras complexas. Sua principal função seria capturar os dados da origem.

Contudo, na prática, muitos ambientes antigos misturavam extração e transformação no mesmo programa.

O COBOL lia a tabela, validava registros, convertia datas, alterava códigos e gravava o resultado final.

Funcionava, mas criava forte acoplamento.


5. Etapa 2 — Staging: a sala de espera dos dados

Depois da extração, os dados costumavam ser enviados para uma área temporária chamada staging.

Staging significa algo como área de preparação.

Pense nela como a doca de carga da USS Enterprise.

As caixas chegam de diferentes planetas, mas ainda não foram inspecionadas, classificadas ou distribuídas pelos compartimentos da nave.

A staging poderia conter tabelas como:

STG_CLIENTE
STG_CONTA
STG_MOVIMENTO
STG_AGENCIA
STG_PRODUTO

Os dados nessa área ainda poderiam apresentar:

  • duplicidades;

  • campos vazios;

  • datas inválidas;

  • caracteres inesperados;

  • moedas diferentes;

  • códigos de sistemas antigos;

  • informações inconsistentes.

A staging oferecia um espaço seguro para trabalhar antes de carregar o Data Warehouse oficial.

Em ambientes mainframe, o conceito de staging também podia aparecer na forma de datasets temporários:

//STAGE01 DD DSN=&&STAGING,
//            DISP=(NEW,PASS),
//            SPACE=(CYL,(100,50)),
//            DCB=(RECFM=FB,LRECL=300)

O dataset temporário era criado, utilizado por outros steps e eliminado ao final do job.

Nada muito diferente de uma tabela temporária em um pipeline moderno.

A tecnologia muda. O princípio permanece.


6. Etapa 3 — Transform: onde as regras de negócio vivem

A transformação é o coração do ETL.

É nessa etapa que os dados brutos são convertidos em informações confiáveis.

Algumas transformações comuns incluem:

Padronização de datas

A origem pode trazer:

16/07/2026

O Data Warehouse pode exigir:

2026-07-16

Padronização de valores

Uma origem pode usar vírgula decimal:

1234,56

Outra pode usar ponto:

1234.56

O pipeline precisa escolher um padrão.

Tratamento de códigos

O sistema antigo pode armazenar:

A = Ativo
I = Inativo
B = Bloqueado

O modelo analítico pode exigir:

ATIVO
INATIVO
BLOQUEADO

Eliminação de duplicidades

Dois sistemas podem possuir registros do mesmo cliente.

O processo precisa decidir:

  • qual registro é o principal;

  • qual endereço é o mais recente;

  • qual telefone deve ser preservado;

  • como consolidar os dados.

Criação de métricas

O pipeline pode calcular:

  • saldo médio;

  • faturamento mensal;

  • tempo de relacionamento;

  • quantidade de transações;

  • valor acumulado;

  • risco de crédito;

  • indicador de inadimplência.

Em um programa COBOL, uma transformação poderia parecer assim:

IF WS-TIPO-MOVIMENTO = 'C'
    ADD WS-VALOR TO WS-TOTAL-CREDITOS
ELSE
    IF WS-TIPO-MOVIMENTO = 'D'
        ADD WS-VALOR TO WS-TOTAL-DEBITOS
    END-IF
END-IF

Em uma ferramenta de ETL, a mesma lógica poderia ser implementada visualmente.

Em SQL:

CASE
    WHEN TIPO_MOVIMENTO = 'C' THEN VALOR_MOVIMENTO
    ELSE 0
END AS VALOR_CREDITO

A regra é a mesma.

O que muda é a linguagem e o lugar onde ela é executada.


7. Etapa 4 — Load: carregando o Data Warehouse

Depois que os dados fossem transformados, finalmente seriam carregados no Data Warehouse.

O Data Warehouse era cuidadosamente modelado antes da carga.

Frequentemente utilizava modelos dimensionais compostos por:

  • tabelas fato;

  • tabelas dimensão;

  • chaves substitutas;

  • históricos;

  • agregações;

  • hierarquias.

Uma tabela fato poderia conter:

FATO_VENDAS

Enquanto as dimensões poderiam ser:

DIM_CLIENTE
DIM_PRODUTO
DIM_LOJA
DIM_TEMPO
DIM_VENDEDOR

A tabela fato armazenava medidas:

  • quantidade;

  • valor;

  • desconto;

  • imposto;

  • margem.

As dimensões armazenavam contexto:

  • quem comprou;

  • o que comprou;

  • onde comprou;

  • quando comprou.

Esse modelo facilitava relatórios e análises.

Porém, exigia que a estrutura fosse definida antes da chegada dos dados.

Daí nasce a famosa lógica:

Primeiro modela. Depois carrega.


8. Por que o ETL era tão rígido?

Porque cada alteração precisava atravessar toda a cadeia.

Imagine que uma tabela de clientes receba um novo campo:

CANAL_PREFERENCIAL

Agora seria necessário alterar:

  1. o sistema de origem;

  2. o programa de extração;

  3. o arquivo intermediário;

  4. o layout;

  5. a tabela de staging;

  6. a transformação;

  7. a tabela destino;

  8. a documentação;

  9. os relatórios;

  10. os testes;

  11. o processo de implantação;

  12. os controles de reconciliação.

Para um programador COBOL, isso lembra a alteração de um copybook compartilhado por dezenas de programas.

Você muda um campo.

De repente, vinte módulos precisam ser recompilados.

Três interfaces quebram.

Um arquivo fica com LRECL incorreto.

Um job termina com S013.

Outro apresenta dados deslocados.

O operador liga às três horas da manhã.

A equipe inteira pergunta:

“Quem alterou o copybook?”

No ETL clássico, o mesmo fenômeno acontecia com pipelines de dados.


9. Ferramentas pesadas e lógica espalhada

Outro problema comum era a dispersão das regras.

Uma parte da lógica podia estar em:

  • um programa COBOL;

  • uma procedure SQL;

  • um job SSIS;

  • uma transformação PowerCenter;

  • um script Shell;

  • uma rotina Java;

  • um job Control-M;

  • uma stored procedure Oracle;

  • uma planilha mantida manualmente.

O resultado era uma arquitetura difícil de compreender.

Para descobrir como determinado campo era calculado, o analista precisava investigar cinco sistemas.

A regra podia começar em um programa COBOL, ser alterada em uma procedure e finalmente ser arredondada no relatório.

Era uma verdadeira investigação digna de Sherlock Holmes, Spock e do operador de produção mais experiente da empresa.


10. Então o que mudou?

Três transformações foram fundamentais.

10.1 O armazenamento ficou mais barato

Guardar grandes volumes de dados tornou-se economicamente viável.

Antes, armazenar tudo era um luxo.

Hoje, em muitas arquiteturas, preservar dados brutos é considerado uma vantagem.

10.2 O processamento tornou-se elástico

Plataformas modernas permitem aumentar ou reduzir capacidade conforme a necessidade.

Em vez de comprar uma máquina para o pico máximo, a empresa pode consumir recursos sob demanda.

10.3 O volume e a variedade dos dados explodiram

As organizações passaram a produzir:

  • logs;

  • eventos;

  • cliques;

  • imagens;

  • JSON;

  • XML;

  • telemetria;

  • dados de sensores;

  • mensagens;

  • documentos;

  • dados de redes sociais;

  • informações de aplicações móveis.

Transformar tudo antes da carga tornou-se lento e caro.

Assim nasceu a filosofia do ELT.


11. ELT: primeiro carrega, depois transforma

O ELT segue este fluxo:

Extract → Load → Transform

Primeiro, o dado é extraído.

Depois, é carregado praticamente como veio da origem.

Somente dentro da plataforma moderna ele é transformado.

A nova filosofia pode ser resumida assim:

“Preserve os dados primeiro. Decida depois como utilizá-los.”

Em vez de obrigar o dado a se adaptar imediatamente a um modelo rígido, o ELT preserva a informação original.

Isso aumenta a flexibilidade.


12. A camada Raw ou Bronze

Em arquiteturas modernas, os dados brutos costumam ser armazenados em uma camada chamada:

  • Raw;

  • Bronze;

  • Landing;

  • Ingestion;

  • Source.

Essa camada preserva o dado original.

Imagine que o mainframe envie um arquivo contendo:

00012320260716125000C0000000015000

O registro pode ser armazenado exatamente como chegou.

Depois, outras camadas interpretam os campos.

Uma arquitetura em camadas pode ser:

Bronze → Silver → Gold

Bronze

Dados brutos.

Pouco ou nenhum tratamento.

Silver

Dados limpos, padronizados e reconciliados.

Gold

Dados preparados para negócio, relatórios e indicadores.

Uma analogia mainframe seria:

Arquivo de entrada
       ↓
Arquivo validado
       ↓
Arquivo consolidado
       ↓
Relatório final

O conceito não é totalmente novo.

A novidade está na escala, nas ferramentas e na velocidade.


13. O que é um Data Lake?

Um Data Lake é um repositório capaz de armazenar grandes volumes de dados em diversos formatos.

Ele pode guardar:

  • arquivos CSV;

  • JSON;

  • Parquet;

  • imagens;

  • vídeos;

  • logs;

  • arquivos de áudio;

  • dados estruturados;

  • dados semiestruturados;

  • dados não estruturados.

A principal vantagem é a flexibilidade.

Porém, existe um risco.

Sem organização, governança e catálogo, o Data Lake pode virar um Data Swamp, ou pântano de dados.

Os arquivos estão lá, mas ninguém sabe:

  • quem criou;

  • qual versão é válida;

  • o que cada coluna significa;

  • se os dados estão completos;

  • se há informações sensíveis;

  • quem pode utilizá-los.

Curiosidade importante: guardar tudo não significa compreender tudo.

Um Data Lake sem governança pode ser apenas um gigantesco diretório de arquivos com nomes misteriosos.

Algo como:

FINAL.CSV
FINAL2.CSV
FINAL_CORRETO.CSV
FINAL_CORRETO_AGORA_VAI.CSV
FINAL_DEFINITIVO_V7.CSV

Todo profissional de tecnologia já encontrou uma pasta assim em algum momento da vida.


14. O que é um Data Lakehouse?

O Data Lakehouse tenta unir as vantagens do Data Lake e do Data Warehouse.

Do Data Lake, ele herda:

  • armazenamento flexível;

  • suporte a grandes volumes;

  • formatos variados;

  • custo reduzido.

Do Data Warehouse, ele herda:

  • organização;

  • consultas SQL;

  • desempenho;

  • governança;

  • controle de qualidade;

  • suporte a transações;

  • modelagem analítica.

Em termos simples:

Data Lake + Data Warehouse = Data Lakehouse

Não é uma soma perfeita, mas ajuda o COBOL Padawan a compreender o conceito.

O Lakehouse busca permitir que os mesmos dados sirvam para:

  • dashboards;

  • relatórios;

  • ciência de dados;

  • machine learning;

  • inteligência artificial;

  • auditoria;

  • análises exploratórias.


15. Change Data Capture: capturando apenas o que mudou

Um dos elementos mais importantes do ELT moderno é o CDC, ou Change Data Capture.

No processamento tradicional, uma tabela inteira podia ser extraída diariamente.

Imagine uma tabela com 500 milhões de registros.

Mesmo que apenas 10 mil registros tivessem mudado, o processo poderia copiar tudo novamente.

Isso consome:

  • CPU;

  • disco;

  • rede;

  • tempo;

  • janela batch;

  • paciência do operador.

O CDC captura apenas alterações:

  • INSERT;

  • UPDATE;

  • DELETE.

Exemplo:

Registro 1001 foi incluído
Registro 2050 foi alterado
Registro 3100 foi excluído

Essas mudanças são enviadas para a plataforma analítica.

No ecossistema mainframe, o CDC pode observar alterações em:

  • Db2;

  • IMS;

  • VSAM;

  • logs transacionais;

  • filas;

  • streams de eventos.

Isso permite integrar sistemas centrais com plataformas modernas sem executar extrações completas o tempo todo.


16. Batch não morreu

Existe uma ideia equivocada de que arquiteturas modernas eliminaram o batch.

Não eliminaram.

O batch continua extremamente importante.

Folhas de pagamento, fechamentos contábeis, consolidações financeiras, faturamento e processamento de grandes volumes ainda utilizam jobs em lote.

O que mudou foi a coexistência entre diferentes velocidades.

Hoje, uma arquitetura pode possuir:

  • batch diário;

  • microbatch a cada cinco minutos;

  • eventos em tempo real;

  • CDC quase imediato;

  • consultas sob demanda.

O mainframe também participa dessa arquitetura híbrida.

Um programa COBOL pode continuar processando arquivos à noite, enquanto alterações críticas são enviadas por CDC durante o dia.

Não é uma guerra entre antigo e moderno.

É uma federação de tecnologias.

E, como toda boa federação, cada membro possui sua função.


17. O papel do dbt na transformação moderna

O dbt, conhecido como data build tool, ajudou a transformar a maneira como as equipes escrevem SQL.

Antes, o SQL podia ficar espalhado por:

  • procedures;

  • scripts;

  • jobs;

  • ferramentas visuais;

  • notebooks;

  • arquivos locais.

O dbt trouxe práticas de engenharia de software para a transformação de dados.

Entre elas:

  • versionamento em Git;

  • testes;

  • documentação;

  • dependências;

  • modularização;

  • revisão de código;

  • integração contínua;

  • implantação automatizada.

Um modelo dbt pode ser semelhante a:

SELECT
    CUSTOMER_ID,
    SUM(AMOUNT) AS TOTAL_AMOUNT
FROM {{ ref('stg_transactions') }}
GROUP BY CUSTOMER_ID

A função ref declara que esse modelo depende de outro.

Assim, a ferramenta entende a ordem de execução.

Em vez de manter uma sequência escondida em dez agendadores diferentes, o pipeline passa a possuir um grafo claro de dependências.

Para o programador COBOL, isso pode ser comparado a mapear todos os programas chamados por um módulo principal.

PGMMAIN
 ├── CALL PGMCLI
 ├── CALL PGMCON
 └── CALL PGMREL

No dbt, a lógica é parecida:

RAW_CUSTOMER
      ↓
STG_CUSTOMER
      ↓
DIM_CUSTOMER
      ↓
REPORT_CUSTOMER

A diferença é que o grafo pode ser documentado e executado automaticamente.


18. O dbt resolve tudo?

Não.

O dbt resolve muito bem a parte de transformação SQL dentro de uma plataforma de dados.

Mas ele não é responsável por tudo.

Ele não substitui necessariamente:

  • ferramentas de ingestão;

  • mensageria;

  • CDC;

  • segurança;

  • governança;

  • catálogo;

  • monitoramento;

  • qualidade completa;

  • gestão de custos;

  • orquestração de toda a empresa.

É importante evitar a síndrome da ferramenta mágica.

Nenhuma ferramenta resolve sozinha arquitetura, processo, pessoas, governança e qualidade.

O dbt organiza muito bem o “T”.

Mas o restante da missão ainda precisa de uma tripulação.


19. Orquestração: o maestro do pipeline

A orquestração define:

  • o que executa primeiro;

  • o que depende de quê;

  • o que fazer em caso de falha;

  • quantas tentativas realizar;

  • quando disparar alertas;

  • quais prazos devem ser cumpridos.

No mainframe, JCL, JES2 e schedulers já exercem esse papel há décadas.

Considere:

//STEP01 EXEC PGM=EXTRATOR
//STEP02 EXEC PGM=TRANSFOR,COND=(0,NE,STEP01)
//STEP03 EXEC PGM=CARREGA,COND=(0,NE,STEP02)

O fluxo está claro:

  1. extrair;

  2. transformar;

  3. carregar.

Se o STEP01 falhar, os próximos podem não executar.

Ferramentas modernas fazem algo semelhante por meio de DAGs, grafos acíclicos direcionados.

O conceito parece novo, mas o veterano do mainframe olha para ele e pensa:

“Isso é uma cadeia de jobs com um nome mais elegante.”

E ele não está totalmente errado.


20. ETL versus ELT em uma tabela prática

CaracterísticaETL clássicoELT moderno
OrdemExtrai, transforma, carregaExtrai, carrega, transforma
Local da transformaçãoFora do destino analíticoDentro do Warehouse ou Lakehouse
Dados brutosFrequentemente descartadosNormalmente preservados
ModelagemAntes da cargaPode evoluir após a carga
FlexibilidadeMenorMaior
StorageTratado como recurso caroGeralmente mais acessível
ProcessamentoServidor ETL dedicadoPlataforma analítica
Mudança de schemaPode quebrar o pipelinePode ser absorvida com mais flexibilidade
Uso típicoDW tradicionalCloud Warehouse e Lakehouse
GovernançaForte antes da cargaDeve existir em múltiplas camadas

21. ETL ainda é útil?

Sim, e muito.

O ELT não matou o ETL.

Existem situações em que transformar antes de carregar é obrigatório.

Por exemplo:

  • dados pessoais que precisam ser mascarados;

  • informações médicas;

  • dados bancários;

  • números de documentos;

  • segredos comerciais;

  • restrições regulatórias;

  • limites de residência de dados;

  • necessidade de reduzir volumes;

  • destino com capacidade limitada.

Imagine um arquivo contendo CPF, salário e informações de saúde.

Carregar tudo em uma plataforma sem proteção e decidir depois o que mascarar seria perigoso.

Nesse caso, parte da transformação precisa ocorrer antes da carga.

Portanto, muitas arquiteturas modernas usam uma abordagem híbrida:

Extração
   ↓
Mascaramento e validação
   ↓
Carga na camada bruta protegida
   ↓
Transformações analíticas

É uma combinação de ETL e ELT.


22. O mainframe dentro da arquitetura moderna

O IBM Z não está fora dessa evolução.

Na verdade, ele frequentemente é a origem dos dados mais importantes da empresa.

Sistemas mainframe podem armazenar:

  • contas bancárias;

  • apólices;

  • cartões;

  • pedidos;

  • estoques;

  • reservas;

  • folhas de pagamento;

  • transações governamentais;

  • informações fiscais;

  • cadastros de clientes.

Uma arquitetura moderna pode ser:

CICS / IMS / COBOL
          ↓
Db2 / VSAM / IMS DB
          ↓
CDC / MQ / API / Arquivo
          ↓
Data Lakehouse
          ↓
dbt
          ↓
Modelo analítico
          ↓
Power BI / Tableau / Qlik
          ↓
IA e Machine Learning

Observe que o programa COBOL não desapareceu.

Ele continua processando a transação central.

O que mudou foi a forma de distribuir e explorar os dados produzidos por ele.


23. Exemplo completo: dados de cartão de crédito

Vamos construir um exemplo.

Um sistema COBOL processa compras de cartão.

Cada transação contém:

NUMERO-CARTAO
DATA-HORA
ESTABELECIMENTO
VALOR
PAIS
CODIGO-RESPOSTA

No ETL clássico

  1. O COBOL gera um arquivo ao final do dia.

  2. O arquivo é enviado ao servidor de ETL.

  3. A ferramenta valida os registros.

  4. Os dados são enriquecidos.

  5. As moedas são convertidas.

  6. Transações inválidas são separadas.

  7. Os dados prontos são carregados no DW.

  8. O relatório é atualizado pela manhã.

No ELT moderno

  1. As transações são capturadas por CDC ou streaming.

  2. Os dados brutos são carregados no Lakehouse.

  3. Uma camada Silver padroniza moedas e datas.

  4. Uma camada Gold calcula indicadores.

  5. O dashboard é atualizado em intervalos menores.

  6. Um modelo de fraude analisa padrões quase em tempo real.

O sistema COBOL continua sendo a fonte confiável.

O ELT amplia as formas de consumir seus dados.


24. Qualidade de dados continua sendo obrigatória

Um dos maiores perigos do ELT é interpretar “carregar tudo” como “aceitar qualquer coisa sem controle”.

Isso seria um erro.

Dados brutos podem ser preservados, mas precisam de:

  • catálogo;

  • segurança;

  • linhagem;

  • classificação;

  • testes;

  • monitoramento;

  • regras de retenção;

  • controle de acesso.

Testes comuns incluem:

Teste de unicidade

CUSTOMER_ID não pode se repetir.

Teste de nulidade

ACCOUNT_ID não pode ser nulo.

Teste de integridade

Todo CUSTOMER_ID de ACCOUNT deve existir em CUSTOMER.

Teste de domínio

STATUS deve ser A, I ou B.

Teste de volume

A carga diária não pode cair 90% sem gerar alerta.

Qualidade de dados não desaparece no ELT.

Ela apenas muda de lugar e se torna mais automatizada.


25. Schema-on-write e schema-on-read

Uma diferença conceitual importante é a relação entre dados e esquema.

Schema-on-write

O esquema é definido antes da gravação.

Isso é comum no Data Warehouse clássico.

Definir tabela
      ↓
Validar formato
      ↓
Carregar dados

Schema-on-read

O dado é armazenado primeiro.

O esquema é aplicado quando ele é lido.

Armazenar dado bruto
      ↓
Interpretar conforme a necessidade

O ETL tradicional está mais próximo do schema-on-write.

O Data Lake está mais próximo do schema-on-read.

O Lakehouse tenta equilibrar os dois.


26. Curiosidades para o COBOL Padawan

Curiosidade 1 — O batch já fazia pipelines

Muito antes de “pipeline de dados” virar expressão de moda, equipes mainframe já encadeavam jobs com JCL e schedulers.

Curiosidade 2 — Staging não é invenção recente

Datasets temporários, arquivos intermediários e tabelas de trabalho existem há décadas.

Curiosidade 3 — CDC também não nasceu ontem

A captura de alterações em logs transacionais possui uma longa história em bancos corporativos.

Curiosidade 4 — SQL virou código de engenharia

Ferramentas modernas aproximaram SQL de práticas já comuns em linguagens como COBOL, Java e Python: versionamento, testes e revisão.

Curiosidade 5 — ELT pode gerar custos enormes

Carregar tudo é fácil. Processar tudo repetidamente pode ser caro.

Uma query mal escrita em uma plataforma elástica pode escalar muito bem — inclusive a conta.


27. Dicas práticas para o programador COBOL iniciante

Dica 1 — Aprenda SQL de verdade

Entenda:

  • JOIN;

  • GROUP BY;

  • funções de janela;

  • CTE;

  • agregações;

  • tratamento de nulos;

  • datas;

  • performance.

O SQL é uma ponte entre o mainframe e a engenharia de dados moderna.

Dica 2 — Entenda arquivos

Continue dominando:

  • FB;

  • VB;

  • LRECL;

  • EBCDIC;

  • ASCII;

  • delimitadores;

  • copybooks;

  • packed decimal;

  • zoned decimal.

Grande parte dos problemas de integração nasce no formato dos dados.

Dica 3 — Aprenda JSON e APIs

Sistemas modernos frequentemente trocam dados em JSON.

Compreender APIs REST e z/OS Connect amplia muito o horizonte do programador COBOL.

Dica 4 — Estude Git

Versionamento não é exclusivo do código Java.

SQL, JCL, scripts, modelos dbt e documentação também devem ser versionados.

Dica 5 — Aprenda conceitos, não apenas ferramentas

Ferramentas mudam.

Os conceitos permanecem:

  • extração;

  • transformação;

  • carga;

  • dependência;

  • qualidade;

  • reconciliação;

  • governança;

  • observabilidade.

Dica 6 — Nunca ignore reconciliação

Sempre compare:

Registros extraídos
Registros transformados
Registros rejeitados
Registros carregados

A equação precisa fechar.

Extraídos = Carregados + Rejeitados

Quando não fecha, existe um fantasma no pipeline.


28. Passo a passo para compreender uma arquitetura de dados

Quando encontrar um pipeline, faça estas perguntas.

Passo 1 — Qual é a origem?

Db2?

VSAM?

IMS?

API?

Arquivo?

ERP?

Passo 2 — Como os dados são extraídos?

Batch?

CDC?

Streaming?

API?

Unload?

Passo 3 — Onde os dados brutos ficam?

Staging?

Data Lake?

Tabela temporária?

Dataset?

Passo 4 — Onde ocorre a transformação?

Programa COBOL?

Ferramenta ETL?

SQL?

dbt?

Spark?

Passo 5 — Quem orquestra?

JES2?

Control-M?

Airflow?

Scheduler de nuvem?

Passo 6 — Como a qualidade é validada?

Contagens?

Testes automáticos?

Regras de integridade?

Passo 7 — Quem consome?

Power BI?

Relatório batch?

Aplicação?

IA?

Auditoria?

Passo 8 — Como falhas são tratadas?

Restart?

Retry?

Checkpoint?

Reprocessamento?

Rollback?

Essas perguntas revelam a arquitetura real, independentemente das ferramentas utilizadas.


29. Easter egg: a diretiva secreta do ETL

Nos arquivos perdidos da Federação, existe uma suposta diretiva de engenharia de dados conhecida como Diretiva ETL-1701:

“Nenhum dado deverá entrar no computador central da nave antes de ser validado, padronizado e aprovado pelo oficial de ciência.”

Essa era a filosofia do ETL clássico.

Anos depois, durante uma missão em um quadrante desconhecido, a tripulação percebeu que descartar dados considerados inúteis poderia eliminar pistas valiosas.

Nasceu então a Diretiva ELT-1701-D:

“Preserve o dado original. A informação aparentemente irrelevante de hoje pode ser a chave lógica da missão de amanhã.”

A letra D, naturalmente, é uma homenagem à Enterprise-D.

Coincidência?

Talvez.

Mas no Bellacosa Mainframe, coincidências tecnológicas costumam esconder um dataset catalogado.


30. ETL ou ELT: qual é melhor?

A resposta lógica é:

Depende.

Use ETL quando:

  • dados precisam ser protegidos antes da carga;

  • o volume deve ser reduzido;

  • o destino possui limitações;

  • regras precisam ser aplicadas previamente;

  • a governança exige forte controle antecipado.

Use ELT quando:

  • deseja preservar dados brutos;

  • precisa de flexibilidade;

  • utiliza uma plataforma analítica poderosa;

  • pretende criar múltiplos modelos;

  • trabalha com ciência de dados e IA;

  • precisa reprocessar históricos.

Use uma arquitetura híbrida quando:

  • segurança e flexibilidade são igualmente importantes;

  • existem sistemas legados e modernos;

  • parte das regras deve ocorrer antes da carga;

  • outras transformações podem acontecer depois.

Na maioria das grandes empresas, essa última opção é a mais realista.


Conclusão: o T apenas mudou de cabine

A evolução do ETL para o ELT representa muito mais do que a inversão de duas letras.

O ETL nasceu em um mundo no qual armazenamento e processamento eram caros. Por isso, os dados precisavam ser limpos, filtrados e modelados antes de entrar no Data Warehouse.

O ELT ganhou força em um mundo de armazenamento abundante, plataformas elásticas, nuvem, grandes volumes, inteligência artificial e necessidades analíticas que mudam rapidamente.

No ETL, o modelo decide o que entra.

No ELT, o dado entra primeiro e o modelo pode nascer depois.

Entretanto, isso não significa que o ETL esteja ultrapassado, que o batch tenha morrido ou que o mainframe tenha ficado para trás.

Muito pelo contrário.

Os sistemas COBOL, Db2, IMS, VSAM e CICS continuam gerando os dados mais críticos de inúmeras empresas. A diferença é que agora esses dados podem viajar por CDC, APIs, MQ, arquivos e eventos até plataformas modernas, nas quais são transformados, testados, modelados e utilizados em dashboards, algoritmos e aplicações de inteligência artificial.

O programador COBOL Padawan que compreende ETL e ELT deixa de enxergar apenas o programa e começa a enxergar a jornada completa do dado.

Ele entende de onde o registro nasceu.

Como foi extraído.

Onde foi armazenado.

Que regras foram aplicadas.

Quem consumiu a informação.

E o que acontece quando alguma etapa falha.

Essa visão transforma um simples programador em um verdadeiro engenheiro de sistemas corporativos.

No fim, o “T” não desapareceu.

Ele apenas mudou de posição.

Mudou de servidor.

Mudou de ferramenta.

Mudou de cabine na Enterprise.

Mas continua sendo responsável por uma das tarefas mais importantes de toda a engenharia de dados: transformar registros isolados em informação confiável.

E, como diria o Sr. Spock diante de um pipeline perfeitamente reconciliado:

“Dados sem contexto são apenas registros. Dados transformados com lógica tornam-se conhecimento.”

Vida longa ao COBOL.

Vida longa ao SQL.

E vida longa aos pipelines que conectam o IBM Z ao futuro.

terça-feira, 28 de julho de 2020

☕🔥 Suporte à Produção Mainframe — engenharia operacional em estado bruto

 

Bellacosa Mainframe apresenta Suporte a Produção

☕🔥 Suporte à Produção Mainframe — engenharia operacional em estado bruto

Se você já deu CANCEL com o coração na mão, já leu dump em hexadecimal, já decorou mensagem $HASP melhor que CPF, então este texto não é para iniciantes.
Aqui falamos de Produção de verdade. Sem romantização. Sem power-point bonito.


🧠 Suporte à Produção Mainframe ≠ Operação

É engenharia operacional sob carga real.

Produção não é:

  • Rodar job

  • Reiniciar STC

  • Abrir chamado

Produção é:

  • Análise de impacto

  • Decisão em ambiente crítico

  • Entendimento sistêmico do z/OS

  • Correlação entre eventos aparentemente desconexos

Produção é onde o design encontra a realidade — e geralmente perde.


🕰️ Raiz Histórica (para quem veio do MVS, não do YouTube)

O Suporte à Produção nasce quando:

  • O batch deixou de ser “linear”

  • O online passou a ser 24x7

  • O negócio começou a depender de janela de processamento

  • O erro deixou de ser aceitável

A evolução foi clara:

  • Operador de console

  • Analista de Produção

  • Especialista em estabilidade operacional

Hoje, Produção é a última linha de defesa entre o z/OS e o prejuízo financeiro.


🎯 Objetivo Real do Suporte à Produção (versão sem marketing)

  • Garantir throughput, não apenas execução

  • Controlar contenção, não apenas erro

  • Preservar integridade transacional

  • Manter SLA, RTO e RPO

  • Atuar antes do incidente virar crise

Veterano sabe:

Produção não corrige código — corrige efeito colateral.


🧩 Arquitetura de Conhecimento (o que separa júnior de veterano)

🖥️ z/OS — domínio do núcleo

  • JES2/JES3, initiators, classes, priorities

  • Spool contention

  • ENQ/DEQ, RESERVE, latch

  • WTOR, automation hooks

  • Dumps SVC vs SYSMDUMP

🔥 Apimentado:
Quem não entende JES não entende produção.


🧠 CICS — transação é sagrada

  • Task Control

  • Storage violation

  • Transaction isolation

  • Deadlock silencioso

  • Dumps DSNAP / CEEDUMP

El Jefe truth:

CICS não cai — ele sangra em silêncio.


📬 MQ — quando o assíncrono vira gargalo

  • Depth x High/Low Threshold

  • Channels retrying

  • Poison message

  • Commit vs rollback

  • Impacto no batch e no online

🔥 Easter egg:
Fila cheia é sintoma, não causa.


🔌 Integration Bus (Broker)

  • Flow degradation

  • Message backlog

  • XML/JSON parsing cost

  • CPU vs I/O trade-off

  • Propagação de erro invisível

Fofoquice técnica:
Quando o Broker falha, todo mundo aponta para o mainframe.


🧪 REXX — automação tática

  • Monitoramento ativo

  • Ações condicionais

  • Coleta de evidência

  • Resposta automática a eventos

  • Integração com SDSF, consoles e logs

🔥 Produção sem REXX é operação cega.


🗄️ DB2 Utilities — o campo minado

  • REORG mal planejado

  • RUNSTATS atrasado

  • Lock escalation

  • Deadlock intermitente

  • Log pressure

Frase clássica:

“Não mexe agora… deixa rodar.”


🌐 WebSphere / Acesso Remoto

  • JVM pressure

  • Thread starvation

  • Timeout mascarado

  • Latência invisível

  • Cascata de falhas

🔥 Curiosidade:
O Web cai rápido. O mainframe aguenta a culpa.


🔍 Funcionamento Real em Produção (sem filtro)

  1. Sintoma aparece longe da causa

  2. Métrica parece normal

  3. SLA corre

  4. Dump gerado

  5. Análise cruzada (JES + CICS + DB2 + MQ)

  6. Decisão com risco calculado

  7. Execução mínima, impacto máximo

  8. Ambiente estabiliza

  9. Post-mortem técnico

  10. Documentação (que ninguém lê… até precisar)


🧠 Mentalidade do Veterano

✔️ Não confia em “achismo”
✔️ Não executa comando sem rollback mental
✔️ Pensa em efeito dominó
✔️ Prefere degradar a parar
✔️ Sabe quando não agir

☕🔥 Regra de ouro:

Em Produção, o comando mais perigoso é o que “sempre funcionou”.


🥚 Easter Eggs de Produção

  • Todo ambiente tem um job que “ninguém encosta”

  • Sempre existe um dataset com DISP=SHR que não deveria

  • Todo incidente grave começa com:

    “Isso nunca aconteceu antes…”

  • O melhor analista é o que não aparece no incidente report


🧨 Conclusão — El Jefe Midnight Lunch Manifesto

Suporte à Produção Mainframe é:

  • Arquitetura viva

  • Engenharia sob estresse

  • Decisão sem margem de erro

  • Responsabilidade sem aplauso

Não é glamour.
Não é palco.
É confiança operacional.

☕🔥 Se você já sobreviveu a uma madrugada de produção,
você sabe:

Produção não ensina — ela seleciona.

 

segunda-feira, 27 de julho de 2020

Viagem a Portugal. Conheça algumas das cidades que visitei há 15 anos


Conheça um pouco mais de Portugal através de videos em nosso blog/canal.


Mergulhe no mundo lusitano, veja as maravilhas da terra de Camões, ouça historias de piratas, princesas mouras, castelos conquistados, turras entre Romanos e Cartagineses, gregos bizantinos e celtibéricos. Visite um país onde a lenda se mistura com a historia, homens intrépidos a bordos de casquinhas de madeira que dominaram o mundo, aviadores pioneiros que ajudaram a escrever a historia da aviação, monumentos da idade da pedra até hoje. Tudo isso em Portugal, videos de cidades de Norte a Sul. Aqui em nosso canal.




#Portugal #Turismo #viagem #lisboa #setubal #porto #algarve #alentejo #beja #guimaraes #barcelos #braga

domingo, 26 de julho de 2020

🌏 Bellacosa Otaku Blog — Parte 18: Expressões de Viagem, Aventura e Exploração nos Animes 🌏



🌏 Bellacosa Otaku Blog — Parte 18: Expressões de Viagem, Aventura e Exploração nos Animes 🌏


O idioma da aventura e da descoberta nos animes

(Versão Bellacosa: mochilas, mapas, passos pelo desconhecido e coração acelerado.)

Nos animes de aventura, viagem ou fantasia, os personagens usam expressões japonesas que transmitem curiosidade, empolgação e coragem.
Cada palavra ajuda a criar imersão e emoção em jornadas épicas.
Vamos explorar as mais icônicas! 🗺️


🏔️ 1. 旅 (tabi)

Tradução: “Viagem / jornada.”
👉 Palavra clássica para aventuras e explorações, simbolizando movimento e descoberta.

📺 Anime vibe: One Piece, Made in Abyss.
💬 Exemplo: “Nossa tabi pelo mundo começa agora!” 🚢


🗺️ 2. 冒険 (boukensuru / bouken)

Tradução: “Aventura / aventurar-se.”
👉 Termo usado para descrever desafios, exploração e momentos de coragem.

📺 Anime vibe: One Piece, Hunter x Hunter.
💬 Exemplo: “Bouken nos aguarda além do horizonte!” 🏞️


🧭 3. 道 (michi)

Tradução: “Caminho / estrada.”
👉 Palavra simples mas simbólica, indicando direção física e escolhas durante a aventura.

📺 Anime vibe: Made in Abyss, One Piece.
💬 Exemplo: “Qual michi devemos seguir?” 🗺️


😮 4. 見つけた! (mitsuketa!)

Tradução: “Encontrei! / Achei!”
👉 Exclamação de descoberta, usada em exploração ou caça a tesouros.

📺 Anime vibe: One Piece, Hunter x Hunter.
💬 Exemplo: “Mitsuketa! O tesouro está aqui!” 💎


🌌 5. すごい (sugoi)

Tradução: “Incrível! / Impressionante!”
👉 Palavra usada ao observar paisagens, cidades ou criaturas fantásticas.

📺 Anime vibe: Made in Abyss, One Piece.
💬 Exemplo: “Sugoi! Nunca vi algo assim antes!” ✨


⚡ 6. 気をつけて (ki wo tsukete)

Tradução: “Cuidado / tome cuidado.”
👉 Frase de alerta durante perigos ou terrenos desconhecidos.

📺 Anime vibe: Hunter x Hunter, Made in Abyss.
💬 Exemplo: “Ki wo tsukete! Esse caminho é perigoso!” ⚠️


🚢 7. 出発 (shuppatsu)

Tradução: “Partida / sair em viagem.”
👉 Palavra clássica antes de iniciar qualquer jornada ou missão.

📺 Anime vibe: One Piece, Mushishi.
💬 Exemplo: “Shuppatsu! Vamos em busca de aventuras!” ⛵


🏞️ 8. 絶景 (zekkei)

Tradução: “Paisagem espetacular / vista deslumbrante.”
👉 Usada para momentos de contemplação de lugares incríveis ou fantásticos.

📺 Anime vibe: Made in Abyss, Mushishi.
💬 Exemplo: “Zekkei! Que lugar maravilhoso!” 🌄


🗡️ 9. 危険 (kiken)

Tradução: “Perigo / risco.”
👉 Palavra essencial em aventuras, alertando para inimigos ou desafios.

📺 Anime vibe: Hunter x Hunter, One Piece.
💬 Exemplo: “Kiken à frente! Preparem-se!” ⚔️


🌟 10. 行こう! (ikou!)

Tradução: “Vamos! / Vamos embora!”
👉 Frase motivacional para iniciar ou continuar a exploração.

📺 Anime vibe: One Piece, Made in Abyss.
💬 Exemplo: “Ikou! A aventura nos espera!” 🌏


🏮 Curiosidades Bellacosa:

  • Expressões como boukensuru, tabi e ikou! transmitem energia e espírito explorador, fundamentais para animes de aventura.

  • Palavras de alerta (kiken, ki wo tsukete) aumentam a tensão, equilibrando diversão e perigo.

  • Interjeições como sugoi! e mitsuketa! ajudam a criar momentos de empolgação, imersão e surpresa. ✨


🌟 Dica Bellacosa:

  • Preste atenção à combinação de palavras com animação: exclamações e pausas criam suspense e impacto.

  • Expressões curtas como ikou! ou mitsuketa! funcionam como gatilhos de emoção.

  • Aprender essas frases é ótimo para entender a cultura de exploração, coragem e descoberta japonesa. 🗺️


🌸 Conclusão Bellacosa:

As expressões de viagem e aventura nos animes transmitem emoção, coragem e descoberta.
Cada palavra é uma fagulha de curiosidade, conduzindo o espectador por caminhos desconhecidos e paisagens fantásticas.
No universo anime, o japonês é o idioma da jornada e da exploração. 🌏✨

“Ikou! Bouken nos aguarda — que o caminho nos leve a novas descobertas!” 🏔️

segunda-feira, 20 de julho de 2020

Animes : Os Heróis Que Não São Heróis

 

Bellacosa Mainframe e os herois que não são herois

☕ Um Café no Bellacosa Mainframe

Os Heróis Que Não São Heróis

O Que Todo Padawan dos Animes Precisa Saber Sobre Protagonistas Moralmente Ambíguos e Adaptações Que Respeitaram a Obra Original

Introdução

Durante décadas, o anime conquistou o mundo por oferecer protagonistas muito diferentes dos heróis tradicionais do cinema ocidental. Em vez de personagens movidos apenas pela justiça, coragem ou altruísmo, inúmeras obras japonesas colocaram no centro da narrativa indivíduos egoístas, vingativos, manipuladores, traumatizados ou simplesmente incapazes de distinguir claramente o certo do errado. São personagens que obrigam o espectador a refletir sobre ética, poder, sobrevivência, responsabilidade e consequências.

Nos últimos anos, muitos fãs veteranos passaram a sentir falta desse tipo de narrativa. Embora ainda existam excelentes produções, boa parte do mercado atual busca histórias mais acessíveis ao público global, favorecendo protagonistas mais simpáticos, jornadas previsíveis e conflitos menos desconfortáveis. Felizmente, diversas adaptações permaneceram extremamente fiéis aos mangás ou light novels, preservando o desenvolvimento psicológico, os dilemas morais e a complexidade dos personagens.

Este artigo reúne obras reconhecidas justamente por esse equilíbrio. Não são necessariamente histórias violentas ou sombrias apenas para chocar. São narrativas em que o protagonista toma decisões discutíveis, enfrenta consequências reais e frequentemente obriga o público a questionar suas próprias convicções. Em muitos casos, não existe um "lado certo", apenas pessoas tentando sobreviver em circunstâncias extremas.

Outro critério adotado foi a fidelidade da adaptação. Todas as obras listadas preservam a essência do material original, com poucos cortes relevantes ou adaptações consideradas de alta qualidade pela comunidade. Algumas condensam pequenos trechos, outras ainda aguardam temporadas futuras, mas nenhuma altera significativamente o núcleo da história.

Se você procura animes que desafiam o espectador em vez de apenas entretê-lo, esta lista representa alguns dos melhores exemplos produzidos nas últimas décadas. São obras que permanecem atuais justamente porque tratam pessoas como pessoas: imperfeitas, contraditórias e profundamente humanas.


Obras Recomendadas

AnimeTítulo OriginalEstreiaEpisódios*Fidelidade
MonsterMONSTER200474Quase integral ao mangá
Vinland Sagaヴィンランド・サガ201948Muito alta
Death Noteデスノート200637Muito alta
Psycho-Pass (S1)PSYCHO-PASS201222Original para anime
Made in Abyssメイドインアビス201725 + filmesMuito alta
Berserk (1997)剣風伝奇ベルセルク199725Boa, cobre apenas parte do mangá
Dorohedoroドロヘドロ202012Muito fiel
Parasyte: The Maxim寄生獣 セイの格率201424Muito fiel
Heavenly Delusion天国大魔境202313Muito alta
Code Geassコードギアス200650Original para anime
Attack on Titan進撃の巨人201394Extremamente fiel
Black LagoonBLACK LAGOON200629Muito fiel
91 Days91 Days201612Original para anime
Kaiji賭博黙示録カイジ200752Muito fiel
TexhnolyzeTEXHNOLYZE200322Original para anime

*Quantidade aproximada considerando temporadas principais concluídas.


Destaques

Monster

Kenzo Tenma salva uma criança que mais tarde se torna um dos maiores serial killers da ficção. A série questiona se uma boa ação pode desencadear um grande mal e acompanha a culpa do protagonista de maneira extraordinária.

Vinland Saga

Thorfinn inicia a história consumido pela vingança. Sua evolução transforma completamente a percepção do espectador sobre violência, honra e redenção.

Death Note

Light Yagami talvez seja o protagonista moralmente ambíguo mais famoso da animação japonesa. A adaptação preserva praticamente toda a inteligência estratégica do mangá.

Made in Abyss

Apesar da aparência infantil, apresenta um dos mundos mais cruéis da animação moderna. A adaptação mantém praticamente intacto o impacto emocional da obra original.

Dorohedoro

Violência, humor negro, magia e personagens impossíveis de classificar como heróis ou vilões convivem em perfeita harmonia.

Attack on Titan

Ao longo da narrativa, o conceito de herói é constantemente desconstruído. Quase todos os personagens cometem atos justificáveis sob um ponto de vista e condenáveis sob outro.

Black Lagoon

Revy, Rock e a cidade de Roanapur mostram um universo onde a sobrevivência frequentemente vale mais que princípios.

Kaiji

Poucos protagonistas são tão humanos. Kaiji é fraco, falha, mente, se desespera e toma decisões moralmente questionáveis para continuar vivo.

Texhnolyze

Uma obra lenta, filosófica e extremamente pessimista, considerada um clássico cult da animação japonesa.


Conclusão

Esses animes demonstram que protagonistas memoráveis não precisam ser exemplos de virtude. Pelo contrário, muitas das melhores histórias surgem justamente quando personagens falham, manipulam, hesitam ou escolhem caminhos moralmente desconfortáveis. Ao preservar a essência do material original, essas adaptações permitem que o público experimente praticamente a mesma profundidade encontrada nos mangás e light novels.

Assistir a essas obras é muito mais do que acompanhar batalhas ou reviravoltas. É observar como diferentes autores exploram natureza humana, poder, culpa, vingança, compaixão e sobrevivência sem oferecer respostas fáceis. Em uma indústria frequentemente pressionada por fórmulas comerciais, esses títulos continuam sendo excelentes exemplos de que animação também pode ser literatura visual, filosofia e reflexão. Se você procura histórias que permaneçam na memória muito depois do último episódio, esta seleção é um excelente ponto de partida.


domingo, 19 de julho de 2020

🍣 Bellacosa Otaku Blog — Parte 17: Expressões de Culinária, Comida e Refeições nos Animes 🍣

 


🍣 Bellacosa Otaku Blog — Parte 17: Expressões de Culinária, Comida e Refeições nos Animes 🍣


🍜 O idioma saboroso do mundo culinário nos animes

(Versão Bellacosa: comida deliciosa, caretas exageradas e gritos de satisfação.)

Nos animes, comida não é só sustento — é emoção, diversão e cultura.
Cada expressão japonesa relacionada à comida transmite sabor, alegria e momentos inesquecíveis.
Vamos explorar as mais icônicas! 🍙


😋 1. いただきます (itadakimasu)

Tradução: “Eu recebo” (expressão de gratidão antes da refeição).
👉 Ritual que demonstra respeito pela comida e por quem a preparou.

📺 Anime vibe: Shokugeki no Soma, K-On!.
💬 Exemplo: “Itadakimasu! Que delícia, mal posso esperar!” 🙏


😍 2. ごちそうさまでした (gochisousama deshita)

Tradução: “Obrigado pela refeição” (após comer).
👉 Forma de agradecer pelo alimento, finalizando a refeição com educação.

📺 Anime vibe: Shokugeki no Soma, K-On!.
💬 Exemplo: “Gochisousama deshita! Estava incrível!” 🍱


🤤 3. おいしい (oishii)

Tradução: “Delicioso / gostoso.”
👉 Palavra clássica usada ao saborear comida, muitas vezes com expressões exageradas.

📺 Anime vibe: Shokugeki no Soma, Toriko.
💬 Exemplo: “Oishii! Nunca comi nada tão bom!” 😋


🤪 4. うまい (umai)

Tradução: “Saboroso / excelente.”
👉 Mais casual que oishii, frequentemente usada por personagens masculinos ou de forma engraçada.

📺 Anime vibe: Toriko, One Piece.
💬 Exemplo: “Umai! Essa carne é perfeita!” 🍖


😱 5. からい! (karai!)

Tradução: “Picante!”
👉 Usada quando a comida tem sabor intenso ou inesperado, gerando caretas engraçadas.

📺 Anime vibe: Shokugeki no Soma, Dragon Ball.
💬 Exemplo: “Karai! Socorro, está pegando fogo na boca!” 🌶️


🤭 6. あまい (amai)

Tradução: “Doce.”
👉 Palavra para sobremesas ou pratos doces, geralmente acompanhada de expressões de prazer.

📺 Anime vibe: Yumeiro Patissiere, K-On!.
💬 Exemplo: “Amai! Esse bolo é divino!” 🍰


😮 7. におい (nioi)

Tradução: “Cheiro / aroma.”
👉 Expressão usada para comentar aroma apetitoso, despertando fome ou curiosidade.

📺 Anime vibe: Shokugeki no Soma, Toriko.
💬 Exemplo: “Nioi! Que cheiro maravilhoso de comida!” 👃


🤤 8. 食べすぎた (tabesugita)

Tradução: “Comi demais.”
👉 Usada com exagero após se empanturrar, frequentemente cômica.

📺 Anime vibe: Toriko, K-On!.
💬 Exemplo: “Tabesugita… não consigo me mexer!” 😵


😆 9. おかわり (okawari)

Tradução: “Mais uma porção / repetir.”
👉 Pedido para servir novamente, geralmente comida deliciosa ou divertida.

📺 Anime vibe: Shokugeki no Soma, K-On!.
💬 Exemplo: “Okawari! Quero mais daquele arroz!” 🍚


🥢 10. 最高! (saikou!)

Tradução: “O melhor / incrível!”
👉 Exclamação usada para comidas que impressionam pelo sabor ou apresentação.

📺 Anime vibe: Shokugeki no Soma, Toriko.
💬 Exemplo: “Saikou! Nunca comi algo tão delicioso na vida!” 🌟


🏮 Curiosidades Bellacosa:

  • Em animes de culinária, expressões são exageradas, com sons, caretas e movimentos para transmitir prazer máximo.

  • Palavras simples como oishii ou umai são acompanhadas de close-ups e efeitos visuais para dramatizar sabor.

  • Ritual de agradecimento (itadakimasu e gochisousama) reflete cultura japonesa, sendo presente mesmo em comédias e shounen. 🍙


🌟 Dica Bellacosa:

  • Preste atenção às onomatopeias que aparecem comendo: “mogu mogu”, “paku paku” aumentam a sensação de sabor.

  • Experimente repetir expressões como oishii! quando provar comida nova — é divertido e autêntico!

  • Memorizar essas palavras ajuda a entender emoção, cultura e humor nos animes culinários. 🍰


🌸 Conclusão Bellacosa:

As expressões de comida nos animes tornam cada refeição um espetáculo de sabor, emoção e exagero visual.
O japonês consegue transmitir prazer, surpresa e alegria em apenas uma palavra, fazendo o espectador sentir o gosto sem nem tocar na comida.

“Itadakimasu! Oishii! Saikou!” 😋🍣

sábado, 18 de julho de 2020

O Holocron do Chaos Monkey – O Dia em que a Netflix Soltou um Macaco no Datacenter e Descobriu Algo que os Sysprogs do IBM Z Já Sabiam Há Décadas - Parte I

 

Bellacosa Mainframe e o chaos monkey parte i

☕ Um Café no Bellacosa Mainframe

O Holocron do Chaos Monkey – Parte I

O Dia em que a Netflix Soltou um Macaco no Datacenter e Descobriu Algo que os Sysprogs do IBM Z Já Sabiam Há Décadas

"Existem duas categorias de administradores de sistemas: os que já perderam servidores em produção e os que ainda não descobriram que já perderam."

— Provérbio não oficial dos Sysprogs que já passaram por uma IPL às três da manhã.


O Café, o Padawan e a Pergunta Incômoda

Era quase meia-noite.

O jovem Padawan COBOL observava sua tela ISPF iluminada enquanto uma caneca de café começava lentamente a esfriar.

No SDSF, milhares de jobs terminavam normalmente.

No RMF, os gráficos permaneciam estáveis.

No Db2 Data Sharing, todos os membros estavam ativos.

MQ respondia.

CICS aceitava transações.

WLM parecia satisfeito.

RACF não reclamava.

Tudo parecia perfeito.

Foi então que o velho Sysprog do Bellacosa Mainframe fez uma pergunta aparentemente simples.

— E se eu desligar uma LPAR agora?

O Padawan arregalou os olhos.

— Em produção?

— Não.

— Em homologação?

— Talvez.

— Em laboratório?

— Definitivamente.

— Mas... por quê?

O velho Sysprog sorriu.

— Porque sistemas que nunca foram testados sob falha não são sistemas resilientes.

São apenas sistemas que tiveram sorte.

E foi exatamente essa pergunta que levou uma empresa de streaming de vídeos a criar um dos conceitos mais influentes da engenharia moderna de software.

Um pequeno macaco digital.

Travesso.

Imprevisível.

E absolutamente genial.

Seu nome era Chaos Monkey.


Antes do Macaco Existia o Trauma

Para compreender a origem do Chaos Monkey precisamos voltar alguns anos.

Mais especificamente para 2008.

Naquela época a Netflix ainda não era a gigante que conhecemos.

Ela era uma empresa em transição.

Durante muito tempo seu negócio principal havia sido enviar DVDs pelo correio.

Milhões de DVDs.

Milhões de envelopes vermelhos.

Milhões de assinantes.

Mas o streaming começava a crescer.

E isso trouxe um problema monumental.


O Datacenter que Quase Matou a Netflix

Em agosto de 2008 ocorreu um incidente importante.

A base de dados principal da Netflix sofreu corrupção.

Diversos serviços ficaram indisponíveis.

A recuperação foi lenta.

Custosa.

Dolorosa.

A empresa percebeu algo desconfortável.

Seu sistema era robusto.

Mas não era antifrágil.

Era eficiente.

Mas dependia demais de componentes específicos.

A pergunta passou a assombrar os arquitetos:

O que acontece se um servidor morrer?

E se um rack inteiro desaparecer?

E se perdermos uma zona de disponibilidade?

E se um datacenter simplesmente sumir?

E se tudo isso acontecer numa sexta-feira às 18h?

Perguntas semelhantes já eram familiares para administradores IBM Z.

Um Sysprog veterano talvez reformulasse:

  • E se perdermos um CF?

  • E se uma região CICS cair?

  • E se um membro Db2 sair do grupo?

  • E se um CHPID apresentar erro?

  • E se uma LPAR inteira desaparecer?

A Netflix precisava responder a perguntas equivalentes.


Conhecendo Adrian Cockcroft

Uma das figuras centrais dessa história é Adrian Cockcroft.

Na época ele era arquiteto de cloud da Netflix.

Cockcroft possuía uma visão bastante pragmática.

Ele defendia uma ideia simples.

Falhas não são exceções.

Falhas são eventos normais.

Portanto:

Se você sabe que algo vai falhar, por que esperar que aconteça sozinho?

Por que não provocar a falha?

Em ambiente controlado.

Sob observação.

Durante o horário comercial.

Com engenheiros atentos.

Antes que a natureza faça isso às três horas da manhã.

Essa filosofia mudaria para sempre a maneira como sistemas distribuídos seriam projetados.


O Nascimento do Simian Army

Em 2011 surgiu um conjunto de ferramentas chamado:

Simian Army

A tradução seria algo como:

Exército dos Símios

Cada "macaco" tinha uma função específica.


Chaos Monkey

Mata instâncias aleatoriamente.


Janitor Monkey

Remove recursos abandonados.


Conformity Monkey

Verifica aderência às políticas.


Security Monkey

Audita vulnerabilidades.


Doctor Monkey

Detecta máquinas defeituosas.


Chaos Gorilla

Simula perda de uma zona inteira.


Chaos Kong

Simula perda de uma região completa.

Era uma abordagem brilhante.

Em vez de esperar desastres...

Eles ensaiavam desastres.

Como bombeiros.

Como pilotos.

Como astronautas.

Como equipes de recuperação de desastres em grandes bancos.

Algo bastante familiar para profissionais IBM Z.


O Macaco que Derruba Servidores

O Chaos Monkey original era relativamente simples.

Seu trabalho consistia basicamente em:

Selecionar uma instância.

Escolher aleatoriamente.

Desligá-la.

E observar.

Nada mais.

Nada menos.

Mas por trás dessa simplicidade existia uma filosofia extremamente sofisticada.


O Conceito de Steady State

Primeira pergunta:

Como sabemos que o sistema está saudável?

Precisamos definir métricas.

Exemplos:

Tempo médio de resposta.

Número de transações.

Erros HTTP.

Latência.

TPS.

CPU.

Consumo de memória.

No IBM Z poderíamos medir:

SMF 30

SMF 72

RMF

OMEGAMON

CICS Monitoring

Db2 Accounting

MQ Statistics

WLM Service Classes


A Hipótese

Exemplo.

Hipótese:

Posso perder um servidor API sem impacto ao cliente.

Hipótese IBM Z:

Posso perder uma região TOR sem indisponibilidade.

Hipótese Db2:

Posso perder um membro Data Sharing.

Hipótese MQ:

Posso perder um Queue Manager.


O Experimento

Agora o macaco trabalha.

Servidor API-03.

Encerrar.

Pronto.

Observar.


Resultado

Usuário percebeu?

Latência aumentou?

Filas cresceram?

CPU disparou?

Alarmes tocaram?

Se tudo continuou funcionando...

Excelente.

Sistema resiliente.

Se não...

Descobrimos um problema.

Antes do cliente.

Antes do auditor.

Antes do jornal.

Antes do diretor ligar perguntando:

Quem derrubou o banco?


Um Exemplo Passo a Passo

Suponha um ambiente com:

4 servidores Web

3 APIs

2 bancos

Redis

MQ

Load Balancer


Estado inicial.

Web01

Web02

Web03

Web04

API01

API02

API03

DB01

DB02


Métrica.

99,99%

TPS = 5000

Latência = 80 ms


Chaos Monkey escolhe.

API02.


Comando.

Shutdown.


Balanceador detecta.

Remove API02.


API01 assume.

API03 assume.


Usuários continuam navegando.

Nenhum impacto.

Experimento aprovado.


Caso contrário:

Erro 500.

Sessões perdidas.

Timeout.

Fila congestionada.

Problema descoberto.

Correção necessária.


O Conceito Mais Importante: O Sistema Já Está Quebrado

Talvez a principal lição do Chaos Engineering seja esta:

O sistema não é confiável porque nunca falhou.

Ele é confiável porque já falhou centenas de vezes.

Em laboratório.

Em homologação.

Sob controle.

Com métricas.

Com observabilidade.

Com aprendizado.

Isso é extremamente próximo da cultura tradicional do IBM Z.

Sysprogs experientes sempre fizeram algo semelhante.

Trocar caminhos.

Testar GDPS.

Executar DR.

Parar regiões.

Mover workloads.

Fazer IPL programada.

Testar fallback.

Treinar operadores.

A diferença é que a Netflix deu um nome elegante para algo que muitas equipes de infraestrutura críticas já praticavam intuitivamente havia décadas.


Curiosidades Sobre o Chaos Monkey

Algumas curiosidades interessantes:

O Chaos Monkey original foi desenvolvido principalmente para a infraestrutura AWS.

Muitas equipes tinham medo de habilitá-lo.

Alguns executivos perguntavam:

Vocês estão pagando engenheiros para derrubar servidores?

A resposta era:

Sim.

Porque a alternativa é deixar que os clientes descubram os problemas.

Atualmente, dezenas de empresas utilizam princípios derivados do Chaos Engineering.

Entre elas:

Google.

Microsoft.

Amazon.

LinkedIn.

Spotify.

Uber.

Shopify.

Salesforce.

E, cada vez mais, instituições financeiras que operam ambientes híbridos envolvendo IBM Z.


O Que Aprenderemos na Próxima Parte?

Na Parte II do Holocron do Chaos Monkey, o Padawan descobrirá:

  • O conceito de Blast Radius;

  • Como SREs escolhem vítimas para os experimentos;

  • Técnicas avançadas utilizadas por equipes do Google e Netflix;

  • Como criar hipóteses de falha inteligentes;

  • Ferramentas modernas como Gremlin, LitmusChaos, Chaos Mesh e AWS Fault Injection Simulator;

  • Um estudo de caso completo de um banco digital submetido a experimentos de caos;

  • E por que um pequeno macaco digital pode ensinar mais sobre arquitetura resiliente do que dezenas de diagramas coloridos em apresentações corporativas.


No Bellacosa Mainframe costumamos dizer que a alta disponibilidade não nasce quando tudo funciona. Ela nasce quando alguma coisa quebra, todos observam atentamente, aprendem com a experiência e descobrem que o sistema continua servindo café para os usuários como se nada tivesse acontecido.

Vagner Renato Bellacosa, IBM Champion e especialista em IBM Mainframe
IBM Z17 SYSTEM ONLINE
Sobre o autor

Vagner Renato Bellacosa

IBM Champion 2026 • Especialista em IBM Mainframe

Vagner Renato Bellacosa trabalha com IBM Mainframe desde 1988 , é IBM Champion e especialista em COBOL, CICS, Db2, z/OS e IBM Z. Compartilha experiências profissionais, conhecimento técnico, história da computação e práticas do universo mainframe para aproximar novas gerações das tecnologias que sustentam empresas, bancos e governos ao redor do mundo.

IBM Champion IBM Z COBOL CICS Db2 z/OS Mainframe desde 1988
GitHub LinkedIn
Inicializando conteúdo...