Bodão

carneirao

Anúncios

Novidades do MySQL 5.6

No dia 09/04/2013, Airton Lastori apresentou o MySQL 5.6 no Evento da Oracle.
Segue as novidades apresentadas!

O MySQL 5.6 já está disponível na versão GA!
5 áreas de melhorias no novo MySQL!

InnoDB

MySQL 5.6 vs. MySQL 5.5 – Escritas + Leituras (Linux)

Equipamento:

  • Oracle Linux 6
  • Intel(R) Xenon(R) E7540 x86_64
  • 48 of 96 available CPU threads
  • 2GHz, 512GB RAM

A versão do MySQL 5.6 obteve 151% a mais de Performance.

benchmark001

Performance MySQL 5.6: InnoDB

Evolução da Escalabilidade do MySQL

evoEscalab

Evolução da Escalabilidade do MySQL

Flexibilidade do MySQL 5.6: InnoDB
NoSQL com Memcached

Flexibilidade MySQL 5.6

Flexibilidade MySQL 5.6

Acesso chave-valor ao InnoDB

  • Via Memcached API
  • Utiliza clients memcache existentes
  • Sem parsing SQL, ultra-rápido

Acesso SQL e NotOnlySQL

  • Operações chave-valor, mas também queries SQL, JOINs, FKs, etc.

Memcached com Persistência

  • Método transparente para persistir os dados em memória volátil.
  • Memcached plugin no mysqld, mapeado à API nativa do InnoDB.
  • Processo compartilhado para baixa latência.

——-

Full Text Search

FullText Search

FullText Search

  • Índices FULLTEXT nas tabelas InnoDB
  • Chaves em conteúdo baseado em texto
  • Acelera buscas por palavras e frases
  • Buscas rápidas, totalmente transacionais
  • Modelos de Operação: linguagem natural ou boleano, busca por proximidade, ranking de relevância

Otimizador

+ Performance
+ Instrumentação

Resolução de Problemas com Subqueries

Resolução de Problemas com Subqueries

Ordenação de Arquivo com Limites Pequenos

Ordenação de Arquivo com Limites Pequenos

Melhora na Performance de JOINs

Melhora na Performance de JOINs

Postpone Materialization

Postpone Materialization

Replicação

+ Performance
+ Flexibilidade
+ Disponibilidade

Replicação Master - Slave

Replicação Master – Slave

  • Divisão de leituras e escritas (R/W Split)
  • É possível adicionar mais slaves, dividir a carga

Multi-Threaded Slaves

  • Aumento do throughput do Slave
  • Implementa múltiplas SQL Threads no Slave
  • Paralelismo ao aplicar eventos em schemas diferentes
  • Excelente para multi-tentant, que isolam dados por schemas

Binary Log Group Commit

  • Aumento do throughput do Master
  • Commit de múltiplas transações em grupos no binlog
  • Locking mais granular, reduzindo tempos de lock waits

Otimização do Modo Row-Based

Otimização do Modo Row-Based

Otimização do Modo Row-Based

  • Nova opção: binlog-row-image=minimal
  • Aumenta a Performance no Master e no Slave
  • Reduz tamanho do Binlog, Memória & Banda de Rede
  • Replica apenas elementos que foram alterados

GTID: Global Transaction IDs

  • Simples de rastrear e comparar quais eventos foram replicados nos slaves
  • Possibilidade de identificar (automaticamente) o slave mais atualizado
  • Permite novas topologias de múltiplas camadas

Checksums / Crash Safe Slaves

Checksums

  • Garante que os dados replicados estão corretos, consistentes e acessíveis
  • Detecta eventos de replicação corrompidos antes deles serem aplicados
  • Proteção em todo o caminho de replicação

Crash Safe Slaves

  • Recuperação automática de um slave após falha
  • Reestabelece canal de replicação sem intervenção do DBA
  • Elimina risco de perda ou corrupção de dados

Replication HA Utilities (Python)

  • Permite o self-healing
  • Failover & Recovery automatizado – mysqlfailover (utilitário)
  • Switchover & Administração – mysqlrpladmin (utilitário)
  • Alta disponibilidade com MySQL Core
  • Elimina necessidade de soluções de terceiros
  • Fácil de estender

Instrumentação

Performance Schema

Performance Schema, baixa sobrecarga e ligado por padrão

Statements / Stages
Quais queries são mais custosas? Quando elas gastam tempo?

Table / Index I/O, Table Locks
Quais tabelas/índices causam maior carga e/ou contenção?

Network I/O
Qual o comportamento de carga de Rede?
Quanto tempo as sessões ficam ociosas?

Users / Hosts / Accounts
Quais usuários/hosts/contas consomem mais recursos?

Summaries
Estatisticas agregadas, agrupadas por thread, user, host, account ou object

Outras Melhorias

  • Alternativas para ocultar senhas em texto simples
  • Politicas de qualidade de senha
  • Troca de senha no próximo login
  • Hash de senha mais fortes

Fonte…

MySQL_TRANSPARENTE