Todos os posts de Alexandre Almeida

Novo MySQL 8.0 lançado!

Todos os anos novos produtos são lançados. Na área de TI não é diferente. Já vi muita coisa boa ser lançada, reeditada, copiada… Mas, também já vi muito lixo tecnológico e “emblomation” de marketing. Nestes 34 anos de TI, já muita coisa. No mundo de banco de dados não é diferente.

O MySQL escorregou em alguns lançamentos. Mas, não é o caso desta versão 8.0 que traz algumas significativas melhorias. Na minha opinião, o que realmente conta:

Dicionário de Dados: Quem tem muitos objetos em sua instância vai entender o do que estou falando. Tenho clientes com mais de 3 milhões de objetos, e, não é divertido dar um simples SELECT no (DES)INFORMATION_SCHEMA. Travamento de instância, lentidão, LOCK (YES, LOCKS!). O novo dicionário de dados, chega em boa hora, e, parece resolver este problema.

ROLES! Nada faz mais sentido do que agrupar um monte de papéis e atribuir estes papéis a um determinado usuário, ao invés da eterna chatice de ficar atribuindo um-a-um cada privilégio de cada sujeito. Os mais malas-sem-alça, certamente, já tinha criado uma PROC para copiar privilégios. Mas, pára! Estamos nos século 21, estava na hora!

Índices invisíveis: Não entendi? Para que eu quero um índice que nem o MySQL enxerga, e, não usa em nenhuma query. Ah! Pequeno Padawan, eu explico. Nunca “dropou” um índice de uma tabela gigante, se arrependeu, e, depois ficou assistindo toda uma temporada de GoT, enquanto, recriava o maldito índice? Essa é a vantagem dos índices invisíveis. Voce coloca um índice na geladeira, se ninguém deu falta dele, após algum tempo, voce capa ele fora.

Continue lendo Novo MySQL 8.0 lançado!

Tentando (re)Instalar seu OS X e não consegue?

Tudo deu errado 🙂 e voce precisa reinstalar seu sistema operacional MAC OSX (qualquer versão). Acredite, tentei isso com OS X Lion, OS X Mountain Lion, OS X Snow Leopard, OS X Mavericks, e, até com OS X Yosemite.

Tentei resetar SMC e PRAM… Tudo indicava ser algum problema de disco, mas, não era.

Sintomas:

1/ Consigo entrar na tela de recuperação do MAC command + R

2/ Consigo utilizar o utilitário de disco e verificar que tudo está OK com meu disco

3/ Consigo iniciar a reinstalação do OS X de todas as maneiras possíveis (Menu de recuperação, Recuperação via Internet, via SuperDisk/DVD, via Internet)

NOTA: Não importa o meio que eu utilize para reiniciar a instalação do meu OS X, todas falham, e, apresentam o mesmo erro.

Continue lendo Tentando (re)Instalar seu OS X e não consegue?

MySQL 5.7 – TableSpace Genéricas v2.0 – A nova Onda

O conceito de tablespace não tem nada de novo. Só não é mais velho que eu. Vários outros RDBMS (bancos de dados) o implementam faz algum tempo. No MySQL foi implementado pelos primórdios do innoDB.

Em linhas gerais o que é uma tablespace?
Tem algumas palavras em inglês que não fazem o menor sentido traduzidas, ou, em traduzi-las. Concorda comigo? Para mim, tablespace é uma dessas palavras. Vamos lá: “espaço de tabelas”. Tablespace é uma área, física e/ou lógica, na qual se aglomeram uma ou mais tabelas. É como se fosse uma área reservada para uma, ou, um grupo de tabelas. Seja com o objetivo de organização (tabelas com mesmo fim, aplicação, etc), volumetria, performance, segurança, etc.

O MySQL e sua épica jornada com tablespaces
No princípio de tudo, e até a chegada da versão 5.1, todas as tabelas com storage engine innoDB eram, compulsoriamente, criadas dentro de uma tablespace única, também chamada de compartilhada (shared tablespace). Fisicamente, consistia de um arquivo com síndrome de Buzz (pois, crescia ao infinito e além), de nome ibdata, que, ficava logo abaixo da raiz do DATADIR (diretório de dados, definido pela variável datadir, e, onde reside o schema do MySQL). Esta implementação me rendeu muitas horas de sono, pois, era uma verdadeira armadilha. Por ser um único arquivo contendo várias tabelas, apresentava contenções de S/O, era de difícil sustentação e manutenção.

Continue lendo MySQL 5.7 – TableSpace Genéricas v2.0 – A nova Onda