✨ Bem-vindo ao meu espaço! ✨ Este blog é o diário de um otaku apaixonado por animes, tecnologia de mainframe e viagens. Cada entrada é uma mistura única: relatos de viagem com fotos, filmes, links, artigos e desenhos, sempre buscando enriquecer a experiência de quem lê. Sou quase um turista profissional: adoro dormir em uma cama diferente, acordar em um lugar novo e registrar tudo com minha câmera sempre à mão. Entre uma viagem e outra, compartilho também reflexões sobre cultura otaku/animes
quarta-feira, 29 de maio de 2024
sábado, 4 de maio de 2024
🧩 O “Relational Problem”: quando o modelo relacional começa a ranger os dentes
| Bellacosa Mainframe e o Relation Problem |
🧩 O “Relational Problem”: quando o modelo relacional começa a ranger os dentes
Teve uma época — lá pelos anos 70 e 80 — em que o modelo relacional era praticamente um presente divino.
Ted Codd apareceu com tabelas, chaves, normalização e alguém pensou:
“Pronto, agora dá pra organizar o mundo inteiro em linhas e colunas.”
E funcionou. Funcionou bem demais.
Funcionou tanto que virou padrão em bancos, governos, ERPs, mainframes, folha de pagamento, compensação bancária, impostos, seguros… o pacote completo.
Só que aí veio o mundo moderno.
E ele veio sem pedir licença.
📈 A explosão de dados (ou: quando o DB começou a suar frio)
Web, mobile, redes sociais, IoT, logs, sensores, streaming, analytics em tempo real…
De repente, o banco relacional passou a ouvir frases como:
-
“Preciso escalar horizontalmente.”
-
“Tem que responder em milissegundos.”
-
“O schema muda toda semana.”
-
“Esse JSON aqui é meio… flexível.”
Nesse momento nasce o que chamamos de Relational Problem:
👉 a dificuldade crescente de gerenciar, escalar e consultar dados usando RDBMS tradicionais em ambientes cada vez maiores, mais variados e mais exigentes.
O vilão clássico?
-
Schemas rígidos
-
Joins caros
-
Crescimento exponencial de volume
-
Performance sofrendo conforme a complexidade aumenta
📌 Easter egg: se você já viu um EXPLAIN com 12 joins e custo astronômico, você já sentiu o Relational Problem na pele.
🏗️ Solução 1: Escalar pra cima (o famoso “compra mais ferro”)
A primeira reação clássica é:
“Coloca mais CPU, mais memória e mais disco.”
No mundo mainframe isso tem nome, sobrenome e fatura alta 💸.
✔️ Funciona? Funciona.
❌ Resolve pra sempre? Não.
-
É caro
-
Tem limite físico
-
E uma hora… acaba
👉 Vertical scaling resolve dor imediata, não o problema estrutural.
🔧 Solução 2: Otimizar até a última gota
Aí entra o arsenal conhecido:
-
Índices
-
Partitioning
-
Denormalização
-
Tuning de SQL
-
Estatísticas afinadas na lua certa 🌕
Isso melhora muito, mas cobra seu preço:
-
Mais complexidade
-
Mais overhead operacional
-
Mais chances de alguém quebrar tudo num ALTER inocente
📌 Fofoquinha: todo ambiente tem aquele índice criado “em produção às pressas” que ninguém sabe se pode remover.
🌐 Solução 3: Relacional distribuído (o meio do caminho)
Aqui a ideia é ousada:
“Vamos manter o modelo relacional, mas espalhar os dados.”
Resultado:
-
Mais escalabilidade
-
Mais disponibilidade
-
E… mais complexidade de consistência e transação
💡 ACID distribuído não é trivial.
Quem já estudou two-phase commit sabe que não existe almoço grátis.
🚀 Solução 4: NoSQL — o rebelde sem gravata
Aí surgem os NoSQL:
-
Key-value
-
Documento
-
Colunar
-
Grafos
Eles dizem:
“Relaxa o schema, relaxa o relacionamento, escala horizontalmente e seja feliz.”
✔️ Alta performance
✔️ Flexibilidade
✔️ Escala global
❌ Menos garantias transacionais
❌ Consistência eventualmente… eventual 😅
📌 Easter egg: NoSQL não significa “No SQL”, mas muita gente usa como “No JOIN, graças a Deus”.
🔀 Solução 5: Abordagem híbrida (o mundo real)
Na prática, o que venceu foi o híbrido:
-
Relacional para transação crítica
-
NoSQL ou Data Warehouse para analytics e volume massivo
-
Cada banco no seu quadrado
👉 O banco certo para o problema certo.
💬 Comentário Bellacosa:
Mainframe + DB2 continua reinando onde consistência, auditoria e confiabilidade não são opcionais.
⚖️ Os grandes trade-offs (onde mora a dor)
Resolver o Relational Problem é basicamente escolher qual dor você aceita.
🔐 Consistência vs Disponibilidade & Escala
-
Relacional ama ACID
-
Distribuído ama performance
-
CAP theorem fica no meio rindo da sua cara
🧱 Rigidez de schema vs Flexibilidade
-
Schema fixo protege a integridade
-
Schema flexível acelera mudança
-
Um trava, o outro corre… e tropeça às vezes
⚙️ Performance vs Complexidade
-
Tuning melhora performance
-
Mas aumenta custo, risco e dependência de especialistas
💰 Custo vs Controle
-
Hardware e licenças caros
-
Cloud e distribuído mais baratos (até não serem)
🏦 Quem escolhe o quê?
-
Bancos, governos, seguradoras
👉 Consistência, governança, auditoria
👉 Relacional forte, bem cuidado, bem documentado -
Empresas web-scale, data-driven
👉 Escala, agilidade, crescimento rápido
👉 Distribuído, NoSQL, híbrido
📌 Não é sobre tecnologia “melhor”.
É sobre prioridade de negócio.
☕ Conclusão estilo café no mainframe
O Relational Problem não significa que o modelo relacional falhou.
Significa que ele foi bom demais por tempo demais em um mundo que mudou radicalmente.
A maturidade está em entender:
-
Onde ele brilha
-
Onde ele sofre
-
E como combiná-lo com outras abordagens
💬 Última fofoquinha:
Quem decreta a “morte do relacional” geralmente nunca precisou fechar um balanço financeiro auditado.
quinta-feira, 2 de maio de 2024
🖥️📼 Dicionário Bellacosa Mainframe para Sobreviventes do El Jefe
🖥️📼 “Dicionário Bellacosa Mainframe para Sobreviventes do El Jefe”
(Ou: traduzindo o dialeto cigano do Vagner para o mundo real)
Quem acompanha as minhas memórias no El Jefe Midnight Lunch já percebeu uma coisa: às vezes, no meio de uma lembrança de bolinho de chuva, pastelão americano e listagem de papel contínuo, eu largo um termo de mainframe do nada, como se fosse a coisa mais normal que existe.
Mas eu sei, meus amigos:
📌 Nem todo mundo fala “COBOLês avançado”
📌 Nem todo mundo cresceu abraçado a um CICS desde bebê
📌 Nem todo mundo tem saudade do barulho da impressora 3800 de madrugada
Então, aqui está: o Dicionário Bellacosa Mainframe, criado para que qualquer leitor — mesmo que nunca tenha visto um cartão perfurado — consiga entender minhas histórias, comparações e analogias.
🔷 TERMOS BÁSICOS
Mainframe
O Godzilla dos computadores.
Aquela máquina gigante, estável, que não cai, não falha e não pergunta se você quer atualizar no meio do trabalho.
Tradução humana:
O adulto responsável enquanto seu PC está em crise existencial.
JCL
Job Control Language.
É o “ritual mágico”, o “livro de feitiços”, o “receituário da avó espanhola”: você escreve, entrega para o sistema e ele executa.
Analogia Bellacosa:
É como escrever uma receita de bolo tão detalhada que até o bisavô Francisco conseguiria assar o bolo sem reclamar.
COBOL
A linguagem de programação que muita gente disse que iria morrer…
e não morreu.
E não vai morrer.
E provavelmente vai processar sua aposentadoria daqui a 30 anos.
Tradução humana:
É o português arcaico dos computadores: prolixo, claro e impossível de substituir totalmente.
CICS
O “caixa eletrônico dos programas”.
É onde as transações acontecem, onde o dinheiro anda, onde a mágica empresarial vive.
Analogia Bellacosa:
É o shopping center das aplicações.
Todo mundo passa lá.
VSAM
É como um armário gigante cheio de gavetas organizadinhas (às vezes).
A casa das tabelas e registros que os sistemas acessam.
Tradução humana:
O “armário de documentos” que só você sabe onde está cada pasta.
TSO/ISPF
A “entrada do prédio”.
O lugar onde você loga, mexe, edita arquivos, cria coisas.
Analogia Bellacosa:
É o seu “escritório virtual 1980 edition”, só que sobrevivente da Guerra Fria.
🔷 TERMOS DO DIA A DIA (QUE EU VIVO USANDO)
Listagem em formulário contínuo
Uma tira infinita de papel com furos laterais.
Se você nunca rasgou errado e destruiu tudo, você não viveu o suficiente.
Tradução humana:
O “scroll infinito” antes da internet.
Carbonado
Sabe papel carbono?
Então.
Agora imagine isso… mas TURBINADO.
Várias cópias saindo juntas.
Tradução humana:
Era o “CTRL+C / CTRL+V” da década de 1970.
80, 130 e 255 colunas
Não é código secreto.
É a largura do papel.
80 colunas era o padrão dos cartões perfurados.
130 e 255… eram para os relatórios parrudos.
Tradução humana:
O tamanho da sua “tela impressa”.
REXX
Uma linguagem simples, simpática e poderosa para automação.
Analogia Bellacosa:
É o “canivete suíço” do mainframe.
JES2
É o maestro que rege todos os jobs.
O cara que segura a bronca no processamento.
Tradução humana:
O gerente que recebe mil requisições, organiza a fila e manda cada uma para sua máquina.
🔷 TERMOS FOFINHOS (QUE PARECEM PERIGOSOS)
Dump
Parece uma palavra feia, mas é só a “fotografia” da memória quando algo deu ruim.
Analogia Bellacosa:
É como tirar foto da bagunça da sala antes de arrumar, para mostrar depois quem fez o estrago.
HSM
O “bibliotecário automático”.
Ele arquiva arquivos velhos e recupera quando você precisa.
Tradução humana:
O Tio que guardava tudo em caixas no porão e lembrava exatamente onde estava cada coisa.
RACF
O guardião da porta.
O segurança do prédio.
A catraca eletrônica que diz “você entra” ou “você não entra”.
Tradução humana:
O porteiro que impede seu primo mala de subir no seu apartamento.
🔷 TERMOS LENDÁRIOS (RESTRITOS A BELLACOSOLOGIA AVANÇADA)
O famoso “JOB explodiu”
Significa apenas que falhou.
Mas dizer “explodiu” deixa mais dramático.
“SDUMP do demônio”
Quando o dump é tão grande que parece que o sistema escreveu Guerra e Paz em hexadecimais.
“Modo Ninja”
Quando o analista faz ajustes rápidos, limpos e precisos, sem derrubar o sistema, sem ser visto e ainda deixa tudo funcionando melhor do que antes.
🎯 Conclusão: por que isso importa para o leitor do El Jefe Midnight Lunch?
Porque as minhas histórias misturam:
🍞 bolinho de chuva
🎞️ O Gordo e o Magro
📼 impressoras de formulário contínuo
🖥️ mainframe
👴 memórias do bisavô espanhol
📟 SDUMPs, RACF, CICS, JCL
…e tudo isso faz parte do meu mundo.
E agora, faz parte do seu também.
Bem-vindo à Bellacosa-lândia Mainframe Edition™.