Arquivo da categoria: Modelagem

MySQL e o GDPR

O que é o GDPR?

Global Data Protection Regulation ou Regulamento Geral sobre Proteção de Dados é uma regulamentação, criado pela União Européia, mas, com abrangência global. Antes de ser uma regulamentação, é acima de tudo, um belo conjunto de boas práticas que deveria ser adotado por toda empresa que, de alguma forma, coleta e manipula dados de pessoas (físicas e/ou jurídicas) e estão interessadas em manter sua imagem institucional, além, obviamente, de mitigar prejuízos financeiros.

A GDPR não é uma regulamentação nem modismo de última hora. Ele começou a ser rascunhado em 2010, e, começou a ganhar corpo e forma por volta de 2012. Aprovado em 2016, quando foi definido sua data de entrada em vigor a partir de 25/06/2018, portanto, existiu um prazo extenso de quase 2 (dois) anos para que as empresas se adequassem à ele.

Continue lendo MySQL e o GDPR

Processos Automatizados (batches)

men_at_workDê ao homem certo a ferramenta certa e este operará verdadeiros milagres. Agora, dê a ferramenta errada ao cara errado, e o desastre é certo! Venho insistindo nisto já faz algum tempo, e, creio que não custa batermos nesta tecla uma vez mais.

As bases de dados estão crescendo rápido. E não, não estou falando de big data. As bases OLTP estão crescendo, e, com isso a quantidade de informação a ser escrutinada em busca de conhecimento fica maior a cada dia.

Não dá para vencer esta guerra com um único e simples bando de SELECT’s. Não, não dá!

À medida que nossas bases crescem, crescem também sua complexidade no quesito manutenção e otimização. Fica mais dificil, e lento, extrair resultados estatísticos e gerenciais das mesmas.

Quando falta ferramenta tem de sobrar Inteligência e Criatividade.

Continue lendo Processos Automatizados (batches)

Colunas Auto Increment sob controle no MySQL

Semana passada um colega passou por uma situação interessante: perdeu o controle de uma coluna auto incrementável de suma importância, que culminou com a interrupção de um serviço on-line importante. Ora, faz parte do papel do DBA manter os dados sob rédea curta, sob controle, mesmo que às vezes eles se comportem como um cavalo doido, e, tente se comportar à margem das Leis de Murphy, Moore, dentre tantas outras.

Fazer colunas maiores do que, realmente, elas precisam ser é um grande desperdício de recurso. Principalmente, no MySQL, onde temos uma grande variedade de tipos de dados (data types).

Colunas menores ocupam menos espaço em disco, em memória, e, acima de tudo geram menos I/O. Na verdade, a diminuição de I/O é a nossa maior e legitima preocupação, quando entra em pauta o assunto “data types”.

Todo mundo tem uma coluna “id” para chamar de  “sua“. Pelo menos, se, minimamente, utiliza-se alguma das formas normais. Sem teorizar muito: toda tabela deveria ter uma coluna que identifica-se (id) uma linha de forma indelével (é, não faz parte do meu tradicional repertório, é efeito do filme Amour). Em outras palavras, é uma coluna que garante singularidade máxima a uma linha, candidatíssima a chave primária, de valor único e inconfundível! Uma maneira de o MySQL prover uma chave destas, é através do uso de AUTO INCREMENT e PRIMARY KEY.

Continue lendo Colunas Auto Increment sob controle no MySQL