O MyISAM está morto?

Desde a versão 5.5 do MySQL o storage engine InnoDB vem configurado “de fábrica” como padrão.

O InnoDB é um storage engine transacional, 100% ACID, estável e robusto, e, inteiramente, grátis. Reconhecidamente, fez progressos notáveis desde o MySQL 4.x. Com destaques para as melhorias implementadas nas versões: 5.1, 5.5, 5.6, e, recentemente na 5.7.

O fato de o InnoDB vir de fábrica como padrão, nada nos impede de criarmos tabelas (ou alterarmos) utilizando a opção ENGINE, para que estas reflitam o storage engine que mais nos atende.

Continue lendo O MyISAM está morto?

Apple – Problema de chuvisco no monitor (displayport/thunderbolt)

Recentemente, comprei um Apple MacMini (late 2014), que é a última versão. Por força de necessidade, sou obrigado a usar 2 monitores. Tenho 2 (dois) monitores Philips Brilliance 239C. O maior problema, como ilustra a imagem a seguir, é que o MacMini só tem uma porta HDMI, e, nenhuma porta VGA (Velho Golpe do Adaptador). Solução de gênio: comprar um adaptador MiniDisplay Port (Thunderbolt) para HDMI… Este problema, pode afetar também usuários de MacBook Pro e MacBook Air.

Continue lendo Apple – Problema de chuvisco no monitor (displayport/thunderbolt)

MySQL – Criação de Tablespace

No começo, antes da versão 5.1, quando ainda não tínhamos o “innodb-file-per-table” todas as tabelas eram criadas, e, armazenadas dentro de uma única tablespace, chamada de  “shared tablespace”, em português “área compartilhada de tabelas”, ou ainda, em “brasileiro”: casa da mãe Joana. Os famosos arquivos IBDATAx. Uma baderna. Dados, índices, metadados, transações, catálogos… Enfim, tudo referente às tabelas innodb ficam em um mesmo arquivão no S/O.

Pró: Contiguidade. Alocava-se um grande espaço justaposto no disco evitando-se fragmentação física. Contras: Performance, manutenção, etc. No frigir dos ovos, era muito ruim.

Com o nascimento do 5.1 e seu novo parâmetro maroto “innodb-file-per-table”, que como diz a tradução ao pé da letra: dançou mané – agora é uma área (tablespace/arquivo) para cada tabela. Resolveu sim os problemas de manutenção. Em alguns casos, até de performance, em virtude da melhor alocação dos dados no Buffer Pool (buffer cache). Mas, também, chegou com muitos outros problemas: aumentou muito o número de arquivos no S/O, e, com isso a necessidade de “ponteiros”, com isso, tivemos que rever as configurações de memória.

Continue lendo MySQL – Criação de Tablespace