Mostrando entradas 1 para 10 de 19
Próximo 9 Entradas mais antigos »
Displaying posts with tag: innodb (reset)
EXPORTANDO TABELAS INNODB

Você sabe como exportar uma ou mais tabelas InnoDB de um database para outro ou de um servidor para outro apenas movendo os arquivos de dados?

Como sabemos, com tabelas InnoDB não podemos fazer igual fazemos com tabelas MyISAM, onde basta copiarmos os 3 arquivos(MYD, MYI e FRM) da tabela MyISAM e enviar para onde quisermos. Mas tem um recurso nativo e que permite fazer algo bem semelhante e pode ajudar muito.

Assista o video e veja como isso funciona.

 

 Pré-requisitos

  1. MySQL 5.6.6 ou superior
  2. InnoDB File Per table ativado

Como fazer

Independente se deseja enviar para um database no mesmo servidor ou para outro servidor os procedimentos são os mesmos.

Os exemplo abaixo são os mesmos mostrados no video acima, então para um melhor entendimento das instruções abaixo assista o video .

Criar uma tabela com a mesma estrutura …

[Leia mais]
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 … Continue lendo O MyISAM está morto? →

MySQL Performance Tuning: sempre configure o InnoDB Buffer Pool

Se você for um usuário iniciante de MySQL, provavelmente vai esbarrar com a necessidade de fazer algum tuning no servidor para melhorar a performance e vai ficar na dúvida de onde iniciar. Alguns ajustes básicos podem ser antecipados, já no momento da instalação do servidor, sendo o principal innodb_buffer_pool_size.

O InnoDB Buffer Pool é a principal área da memória usada pelo InnoDB, que é o storage engine default do MySQL. O ideal é que haja neste buffer espaço suficiente para os dados “mais quentes”. A quantidade de memória que o MySQL vai reservar para o Buffer Pool é controlada pela variável de sistema innodb_buffer_pool_size.

Após a instalação do MySQL, o valor padrão da variável de sistema innodb_buffer_pool_size é de 128 MB (versão 5.7), o que é bem baixo para os hardwares atuais. Você pode verificar qual atual configurado no seu MySQL com o comando:

mysql> SHOW GLOBAL VARIABLES …
[Leia mais]
Forçando transação vitima de rollback em deadlock

Se você utiliza uma Storage Engine que suporta transações, você provavelmente já enfrentou ou ouviu falar de deadlock's.

Na Documentação do MySQL podemos ver:
“Always be prepared to re-issue a transaction if it fails due to deadlock. Deadlocks are not dangerous. Just try again.”
“Sempre esteja preparado para re-executar uma transação se ela falhar por causa de deadlock. Deadlocks não são perigosos. Apenas re-execute a transação.”

Na empresa em que trabalho, temos um importante processo que de vez em quando falha por causa de deadlock. Decidi então melhorar este processo e fazer o que a documentação diz (re-executar a transação).
Para fazer isso, Eu queria poder reproduzir o scenario do deadlock e a transação vitima do rollback teria que ser a do processo em questão.

[Leia mais]
Particionamento no MySQL

A ideia aqui é introduzir os conceitos de particionamento, exibir os recursos disponíveis no MySQL e passar um exemplo prático de como uma tabela pode ser particionada e quais os benefícios dessa prática. Futuramente abordarei o “subparticionamento”, veja os tópicos que serão abordados:

  • Conceitos de particionamento
  • Tipos de particionamento
  • Elegendo as clausulas de particionamento
  • Exemplo prático de particionamento
  • Manutenção
  • Limitações no MySQL (atualmente)

Conceitos:

O particionamento é um recurso clássico de banco de dados que resolve muitos problemas de escalabilidade e performance além de facilitar o gerenciamento e armazenamento de grandes volumes de dados. Com esse recurso é possível segregar o armazenamento dos dados em segmentos segundo uma clausula, ou seja, por determinado dado presente no registro o mesmo será …

[Leia mais]
DBLink do Oracle para o MySQL

É comum a necessidade de integração entre diferentes SGBD para finalidades diversas, tais como relatórios, DW, iteração de sistemas secundários, entre outras.  O Oracle disponibiliza um recurso chamado DBLINK que proporciona a conexão a databases remotos, sendo esses Oracle ou NON-ORACLE. As conexões NON-ORACLE são realizadas com o auxilio do ODBC, a ideia aqui é exemplificar passo a passo como é configurado esse recurso no Oracle e também abordar os possíveis erros que venham a ocorrer e as diferenças entre o Oracle 10 e 11g.

O exemplo a seguir foi executado em um servidor Oracle Linux 6.5 com unix-ODBC 64bits, MySQL-ODBC 64bits e Oracle 11.2.0.4.

1 – Instalação do unix-ODBC:

yum install unixODBC

2- Download do mysql-connector-odbc:

Faça o download do driver correspondente a sua distribuição Linux em:

[Leia mais]
Alterações a quente de tabelas Innodb no MySQL

Olá, leitor, tudo bem?

Em resumo, com a compra da MySQL pela Oracle, alguns de nós usuários e fãs do MySQL pensamos que poderia ser seu fim. Ou que problemas estariam à vista em pouco tempo. E é com muito prazer que hoje nós, usuários do banco de dados MySQL, percebemos que o que ocorreu foi o contrário. O banco de dados MySQL está muito bem e cada vez mais forte.

A Oracle colocou, na versão 5.6 em diante do MySQL, vários recursos realmente importantes vindos do oracle knowledge base, entre eles a otimização e a alteração de tabelas innodb a quente.

É claro! Não é mágico! Não basta instalar a nova versão e sair mandando ver! Por isso, segue uma dica do seu amigo aqui!

Seguem as etapas: Planejamento, Execução, Guardando as ferramentas!

Planejamento

Escolha a tabela que pretende otimizar, busque-a no banco “information_schema” com o seguinte comando:

SELECT …
[Leia mais]
MySQL & NoSQL – Memcached Plugin

Muita gente já deve ter ouvido falar nos bancos de dados NoSQL e uma das ferramentas NoSQL muito utilizada é o memcached, no qual adicionamos uma camada de cache entre a aplicação e o banco de dados. Desde a versão 5.6 do MySQL, foi disponibilizado um plugin de integração entre o MySQL e o Memcached. Neste artigo publicado no iMasters eu mostro como instalar e configurar esta integração.

[Leia mais]
InnoDB Create Tablespace – MySQL 5.7

Sim, isso mesmo que você está pensando! A Oracle está desenvolvendo e já deixou disponível uma versão beta para testes! Será o mesmo gerenciamento existente no Oracle, onde existe o conceito de se criar uma Tablespace, adicionar Datafiles as Tablespace e criar os  objetos dentro das Tablespaces.

Com esse conceito, será possível por exemplo, criar várias tabelas em uma Tablespace com compressão, e assim manter todo o gerenciamento de compressão em uma única área, evitando ter várias tabelas com vários gerenciamentos. Com isso é possível administrar de modo mais fácil os recursos de hardware e alocação do banco de dados.

Por exemplo:

CREATE TABLESPACE `TBS_DADOS_COMPRESS` ADD DATAFILE 'TDS_DC_DATAFILE1.ibd' [FILE_BLOCK_SIZE=4];

CREATE TABLESPACE `TBS_DADOS` ADD DATAFILE 'TDS_D_DATAFILE1.ibd' [FILE_BLOCK_SIZE=8];

CREATE TABLE ITEM_VENDA TABLESPACE=`TBS_DADOS_COMPRESS`;

ALTER TABLE tbl_name …
[Leia mais]
Fragmentação dos Objetos no InnoDB

Se o seu banco de dados passa por constantes operações de “DELETE” ou “UPDATE” ele provavelmente ficará fragmentado, fazendo com que os índices já não sejam tão eficientes como antes e os datafiles ocupem mais espaço do que o necessário em disco. Seria, algo similar a fragmentação de filesystem.

Através do catalogo do MySQL é possível identificar quanto espaço livre existe no datafile e assim identificar uma margem ou porcentagem de fragmentação por objeto. Até a versão 5.1.21 essa margem era descrita através da coluna “TABLE_COMMENT” da tabela “INFORMATION_SCHEMA.TABLES”, sendo assim bastava executar a seguinte consulta:

SELECT table_schema,
table_name,
table_comment
FROM information_schema.tables
WHERE engine LIKE 'InnoDB'
AND table_comment RLIKE 'InnoDB free: ([0-9]{6,}).*';

Da versão 5.1.28 em diante isso foi corrigido, sendo possível avaliar a …

[Leia mais]
Mostrando entradas 1 para 10 de 19
Próximo 9 Entradas mais antigos »