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

Google BigQuery: O BigData simplificado

O que é Google BigQuery?

É uma solução em nuvem (cloud) para entregar Big Data SaaS. Pague pelo que usar. O Google BigQuery é uma solução Big Data, como o Hadoop, com a vantagem de não se precisar contratar e/ou comprar uma série de servidores, nem, contar com mão-de-obra, altamente, especializada. Bom, esta é a promessa do Google.

Estou usando o BigQuery desde dezembro de 2012, portanto, há pouco menos de 30 dias. Ainda é cedo para dar uma impressão apurada, mas, até agora tudo tem sido bom.

Subi um conjunto de dados, digamos, modesto: 500 milhões de linhas, dados oriundos de navegação em determinado site. E, estou “perguntando” coisas como: quais produtos foram vistos? o que foi, efetivamente, comprado? de onde são os internautas, e, quais produtos foram vistos/comprados por determinada região? quais ofertas foram  “empurradas” para cada internauta, enquanto navegavam? Entre outras.

Continue lendo Google BigQuery: O BigData simplificado