Guia essencial para embarcar o
MySQL em seu produto
Airton Lastori
mar-2014
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.2
Objetivos
 Entender como o MySQL pode ajudá-lo com ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.3
Ciclo evolutivo do produto/aplicação
Identificação d...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4
Por que MySQL?
 MySQL como parte integral do seu pr...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.5
Ciclo evolutivo do produto/aplicação
Identificação d...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.6
Identificação do Mercado e Modelo de Negócios
Livro:...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.7
Identificação do Mercado e Modelo de Negócios
Canvas
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.8
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.9
Oracle MySQL para ISV e OEM
MySQL Community Edition
...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.10
Motivos para migração
 otimizar custos e reduzir r...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.11
Alguns clientes MySQL
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.12
MySQL é estratégico para Oracle
 Soluções Completa...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.13
Compromisso Oracle com MySQL
https://blogs.oracle.c...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.14
MySQL é adequado para o meu produto?
 Quais as pri...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.15
Ciclo evolutivo do produto/aplicação
Identificação ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.16
Aplicação + Connector
JDBC, ODBC, .Net, PHP, Python...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.17
Aplicação
+
MySQL Database
libmysqld
libmysqld
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.18
Client-server vs libmysqld
client-server
(embedded,...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.19
Plataformas suportadas
 Hardware
– 32 e 64 bit x86...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.20
Amplo suporte a várias linguagens
Várias opções de ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.21
Enterprise Management
Services and Utilities
Backup...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.22
Default Storage Engine
InnoDB
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.23
Storage Engines
MyISAM InnoDB NDB Cluster
Transaçõe...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.24
2008
até 4 CPU
MySQL 5.0
MySQL AB
até 16 CPU
MySQL ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.25
MySQL 5.5.28
MySQL 5.6.7
+234% Ganhos de Performanc...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.26
MySQL 5.5.28
MySQL 5.6.7
+151% Ganhos de Performanc...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.27
 Thread Pool Plug-In
• Adiciona mais inteligência ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.28
60x Melhor Escalabilidade comThread Pool
MySQL 5.6....
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.29
18x Melhor Escalabilidade com Thread Pool
Thread Po...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.30
 PERFORMANCE_SCHEMA
 Novas configurações padrão, ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.31
Aplicação
Master Slave
• Modelo assíncrono (padrão)...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.32
Aplicação
Master Slave
• Master down
• Slave promov...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.33
Replicação MySQL: escalando LEITURAS
• Divisão de l...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.34
Soluções certificadas MySQL HA: resumo
mysql.com/wh...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.35
 PAM (Pluggable Authentication Modules) Plug-In
• ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.36
Authenticate
CREATE USER win_joe
IDENTIFIED WITH au...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.37
MySQL Enterprise Audit
 Audit Plug-In
• Registro d...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.38
2. Usuário conecta-se e executa queries
MySQL Enter...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.39
Instalação
 No Windows
– Installer ou Web Installe...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.40
Ciclo evolutivo do produto/aplicação
Identificação ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.41
Prefira os binários pré-compilados
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.42
Iniciar ou Parar o servidor MySQL no Windows
…ou vi...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.43
Iniciar ou Parar o servidor MySQL no Linux
/usr/loc...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.44
Primeira conexão
C:Program FilesMySQLMySQL Server 5...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.45
Teste via MySQL Workbench 1/2
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.46
Teste via MySQL Workbench 2/2
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.47
Crie rapidamente seu protótipo
Hello World em Java
...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.48
HelloMysql.java 1/2
import java.sql.*;
public class...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.49
HelloMysql.java 2/2
Statement stmt = con.createStat...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.50
java HelloMysql
C:tutorial>javac HelloMysql.java
C:...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.51
MySQL for Visual Studio
 Design Time Support
 Que...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.53
Saiba mais...
Características técnicas do MySQL
mys...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.54
Saiba mais...
 Manual de Referência
http://dev.mys...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.55
MySQL Boot Camp
Accelerated
MySQL Performance
Tunin...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.56
Ciclo evolutivo do produto/aplicação
Identificação ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.57
MySQL Workbench 6
Para Windows, Linux, Solaris, App...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.58
MySQL Workbench 6
Configurações
do Servidor
Árvore ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.59
MySQL Enterprise Monitor 3.0
 Análise de gargalos ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.60
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.61
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.62
Explain Query
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.63
QRTi
Query Response Time Index
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.64
Capacity Planning
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.65
Ciclo evolutivo do produto/aplicação
Identificação ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.66
Como embarcar
Opções de distribuição embedded e dee...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.67
Como embarcar
 roda o MySQL sem necessidade de ins...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.68
Saiba mais...
 Silent Installation (Windows)
http:...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.69
Ciclo evolutivo do produto/aplicação
Identificação ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.70
 Acesso direto 24 x 7 x 365
 Número ilimitado de ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.71
MySQL Enterprise Backup
 Backup online para InnoDB...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.72
MySQL Enterprise Backup
Menor tempo em backups e re...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.73
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.74
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.75
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.76
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.77
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.78
Eventos
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.79
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.80
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.81
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.82
Advisors
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.83
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.84
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.85
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.86
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.87
Atualizações / Upgrades
 Binária
– substitua os bi...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.88
MySQL Workbench 6
 Fácil Migração
– Microsoft SQL ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.90
Sumário
 O MySQL é o banco de dados ideal para mui...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.91
@MySQLBR
meetup.com/MySQL-BR
facebook.com/MySQLBR
O...
Guia essencial para embarcar o MySQL em seu
produto
Perguntas?
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.93
MySQL Enterprise Edition
Suporte + Backup + Monitor...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.94
Ciclo evolutivo do produto/aplicação
Identificação ...
Próximos SlideShares
Carregando em…5
×

Guia essencial para embarcar o MySQL em seu produto

2.669 visualizações

Publicada em

Entenda como o MySQL pode ajudá-lo com seu produto e obtenha informações essenciais para o uso correto do MySQL na construção ou migração de um produto/aplicação, principalmente como Banco de Dados embarcado.

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
2.669
No SlideShare
0
A partir de incorporações
0
Número de incorporações
450
Ações
Compartilhamentos
0
Downloads
100
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Guia essencial para embarcar o MySQL em seu produto

  1. 1. Guia essencial para embarcar o MySQL em seu produto Airton Lastori mar-2014
  2. 2. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.2 Objetivos  Entender como o MySQL pode ajudá-lo com seu produto  Informações essenciais para o uso correto do MySQL na construção ou migração de um produto/aplicação, principalmente como Banco de Dados embarcado
  3. 3. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.3 Ciclo evolutivo do produto/aplicação Identificação do Mercado e Modelo de Negócios1 Análise e Especificação de Requisitos2 Arquitetura e Prototipagem3 Implementação e Testes4 Empacotamento e Distribuição5 Manutenção Correções e atualizações/migrações6 n iterações
  4. 4. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4 Por que MySQL?  MySQL como parte integral do seu produto  Oracle como Parceira  Tipos de Solução Usando MySQL, casos de sucesso  Investimento Oracle no MySQL Visão de Negócios
  5. 5. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.5 Ciclo evolutivo do produto/aplicação Identificação do Mercado e Modelo de Negócios1 Análise e Especificação de Requisitos2 Arquitetura e Prototipagem3 Implementação e Testes4 Empacotamento e Distribuição5 Manutenção Correções e atualizações/migrações6 n iterações
  6. 6. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.6 Identificação do Mercado e Modelo de Negócios Livro: Business Model Generation
  7. 7. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.7 Identificação do Mercado e Modelo de Negócios Canvas
  8. 8. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.8
  9. 9. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.9 Oracle MySQL para ISV e OEM MySQL Community Edition – Distribuído ao cliente final empacotado com código aberto de seu produto – Uso Interno, SaaS, Cloud MySQL Enterprise Edition – Uso Interno, SaaS, Cloud MySQL Comercial (OEM) – Distribuído ao cliente final empacotado com código proprietário Sem suporte e ferramentas Enterprise Licença perpétua + 19% de suporte anual Suporte Oracle via Parceiro Subscrição Anual Suporte direto da Oracle
  10. 10. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.10 Motivos para migração  otimizar custos e reduzir riscos – licenciamento, suporte  aumentar faturamento – expandir base, mudar modelo de negócios / distribuição  outras soluções já não atendem mais tecnicamente (ex. flat file)  portabilidade  facilidade de uso e flexibilidade  escalabilidade e alta-disponibilidade  quando custos da migração são compensados pelos ganhos
  11. 11. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.11 Alguns clientes MySQL
  12. 12. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.12 MySQL é estratégico para Oracle  Soluções Completas  #1 em todos os níveis da pilha  Cloud e On Premise  MySQL: Web, Mobile & Embedded  Investimentos na Engenharia do MySQL
  13. 13. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.13 Compromisso Oracle com MySQL https://blogs.oracle.com/MySQL/entry/mysql_connect_keynotes_and_news
  14. 14. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.14 MySQL é adequado para o meu produto?  Quais as principais características técnicas do MySQL?  Quais plataformas e linguagens posso utilizar?  Quais recursos de segurança, alta-disponibilidade (HA) e escalabilidade?  Como embarcar?  Quais vantagens no desenvolvimento e produção?  Como atualizar ou migrar? Dúvidas Técnicas
  15. 15. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.15 Ciclo evolutivo do produto/aplicação Identificação do Mercado e Modelo de Negócios1 Análise e Especificação de Requisitos2 Arquitetura e Prototipagem3 Implementação e Testes4 Empacotamento e Distribuição5 Manutenção Correções e atualizações/migrações6 n iterações
  16. 16. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.16 Aplicação + Connector JDBC, ODBC, .Net, PHP, Python, Perl, Ruby, Native C API… MySQL Database mysqld Cliente-Servidor Gerenciamento mysql / monitor / backup
  17. 17. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.17 Aplicação + MySQL Database libmysqld libmysqld
  18. 18. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.18 Client-server vs libmysqld client-server (embedded, SaaS, Web, etc.) • Comunica com a aplicação usando MySQL Connectors ou APIs • Executado como services/daemons ou via linha de comando • Deve ser incluído como parte da instalação da aplicação • A instalação e manutenção pode ser invisível ao usuário final libmysqld (deeply embedded) • Comunicação restrita a chamadas diretas em C • Linkado diretamente na aplicação • Não requer instalação (services/daemons) • Uso em aplicações com banco de dados auto-contido • Algumas limitações: mais footprint de memória, sem replicação, UDFs, core dumps, traces, etc.
  19. 19. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.19 Plataformas suportadas  Hardware – 32 e 64 bit x86 – SPARC  Sistemas Operacionais – Windows – Linux – MacOS – FreeBSD – Solaris Maior portabilidade, mais liberdade de escolha mysql.com/support/supportedplatforms/database.html
  20. 20. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.20 Amplo suporte a várias linguagens Várias opções de conectores e APIs Oracle • Connector/ODBC • Connector/Net (ADO.NET) • Connector/Python • Connector/J (JDBC) • Connector/C (C API) • Connector/C++ (C++ API) Comunidade • PHP • Perl • Ruby • TCL • Eiffel • … dev.mysql.com/doc/refman/5.6/en/connectors-apis.html
  21. 21. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.21 Enterprise Management Services and Utilities Backup & Recovery Monitor Workbench Utilities Connection Pool, SQL Interface, Parser, Optimizer, Caches Clients & Connectors Native C API, JDBC, ODBC, .Net, PHP, Ruby, Python, VB, Perl mysqld Clients and Apps Arquitetura MySQL Server Storage Engines InnoDB, MyISAM, Memory, Archive, Cluster (NDB API), etc… Filesystems, Files & Logs Data, Index, Logs…
  22. 22. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.22 Default Storage Engine InnoDB
  23. 23. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.23 Storage Engines MyISAM InnoDB NDB Cluster Transações ✖ ✔ ✔ Nível de Lock Tabela Linha Linha Replicação Assíncrona ou Semi-síncrona Assíncrona ou Semi-síncrona, crash-safe Síncrona, Multi-master, crash-safe sem SPOF Foreign Keys ✖ ✔ ✔ Full-text indexes ✔ ✔ ✖ Compressão de dados somente Leitura ✔ ✖ Caches somente Índices Dados e Índices Dados e Índices Suporte Geoespacial Tipos de Dados e Índices Somente Tipos de Dados somente Tipos de Dados Limite de armazenamento 256TB 64TB 384EB (~3TB em RAM) dev.mysql.com/doc/refman/5.6/en/storage-engines.html
  24. 24. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.24 2008 até 4 CPU MySQL 5.0 MySQL AB até 16 CPU MySQL 5.1 Sun até 32 CPU MySQL 5.5 Oracle até 48 CPU MySQL 5.6 Evolução da escalabilidade do MySQL 2009 2010 2013 Atualize o MySQL e use InnoDB.
  25. 25. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.25 MySQL 5.5.28 MySQL 5.6.7 +234% Ganhos de Performance 0 2.000 4.000 6.000 8.000 10.000 12.000 14.000 16.000 18.000 32 64 128 256 512 TransaçõesporSegundo Conexões MySQL 5.6 vs. 5.5 - Leituras (Linux) Oracle Linux 6 Intel(R) Xeon(R) E7540 x86_64 MySQL leveraging: - 48 of 96 available CPU threads - 2 GHz, 512GB RAM Performance MySQL 5.6: InnoDB SysBench Benchmarks
  26. 26. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.26 MySQL 5.5.28 MySQL 5.6.7 +151% Ganhos de Performance 0 2.000 4.000 6.000 8.000 10.000 12.000 32 64 128 256 512 TransaçõesporSegundo Conexões MySQL 5.6 vs. 5.5 – Escritas+Leituras (Linux) Oracle Linux 6 Intel(R) Xeon(R) E7540 x86_64 MySQL leveraging: - 48 of 96 available CPU threads - 2 GHz, 512GB RAM Performance MySQL 5.6: InnoDB SysBench Benchmarks
  27. 27. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.27  Thread Pool Plug-In • Adiciona mais inteligência ao modelo padrão de gerenciamento de threads – agrupa e reutiliza • Modelo padrão, sem Thread Pool: 1 thread por conexão, performance excelente, mas limita a escalabilidade ao crescer o número de conexões de usuários • Com Thread Pool: reúso de threds, escala o número de conexões de usuários mantendo os mesmos níveis de performance • Implementado utilizando Thread Pool API Assegura desempenho melhor e sustentável, mesmo quando o número de usuários continua crescendo. MySQL Enterprise Scalability
  28. 28. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.28 60x Melhor Escalabilidade comThread Pool MySQL 5.6.11 Oracle Linux 6.3, Unbreakable Kernel 2.6.32 4 sockets, 24 cores, 48 Threads Intel(R) Xeon(R) E7540 2GHz CPUs 512GB DDR3 RAM Thread Pool habilitado/desabilitado
  29. 29. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.29 18x Melhor Escalabilidade com Thread Pool Thread Pool habilitado/desabilitado MySQL 5.6.11 Oracle Linux 6.3, Unbreakable Kernel 2.6.32 4 sockets, 24 cores, 48 Threads Intel(R) Xeon(R) E7540 2GHz CPUs 512GB DDR3 RAM
  30. 30. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.30  PERFORMANCE_SCHEMA  Novas configurações padrão, mais adequadas ao hardware atual  Particionamento melhorado  import/export  mais capacidade e performance  seleção explícita  Backup remoto do Binlog  Slaves com atraso programado  Identificador único universal para servidor (server UUID)  TIME/TIMESTAMP/DATETIME  precisão de fração de segundo, CURRENT_TIMESTAMP default /auto update, TIMESTAMP nullable por padrão  GIS: operações espaciais precisas  E MAIS... Outras melhorias no MySQL 5.6 Mais facilidade de uso e flexibilidade mysql.com/why-mysql/white-papers/whats-new-mysql-5-6
  31. 31. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.31 Aplicação Master Slave • Modelo assíncrono (padrão) • Modelo semi-síncrono (a partir da versão 5.5) Escritas & Leituras Replicação MySQL
  32. 32. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.32 Aplicação Master Slave • Master down • Slave promovido para Master Escritas & Leituras MySQL failover
  33. 33. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.33 Replicação MySQL: escalando LEITURAS • Divisão de leituras e escritas (R/W Split) • É possível adicionar mais slaves, dividir a carga Leituras Aplicação Master Slave Escritas & Leituras Slave … Leituras
  34. 34. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.34 Soluções certificadas MySQL HA: resumo mysql.com/why-mysql/white-papers/mysql_wp_ha_strategy_guide.php MySQL 5.6 Replication Windows Cluster Solaris Cluster Oracle VM Template DRBD MySQL Cluster Nível de disponibilidade 99.9% 99.95% 99.99% 99.99% 99.99% 99.999% Auto-Failover ✔ ✔ ✔ ✔ ✔ ✔ Sem perda de dados durante failover ✔ Semi-Sync ✔ ✔ ✔ ✔ ✔ Plataformas suportadas All Windows Solaris Linux Linux All Modo de clusterização Master + Slaves Active / Passive Active / Passive Active / Passive Active / Passive Multi- Master Dispensa Shared Storage ✔ ✖ ✖ ✖ ✔ ✔ Ponto único de suporte ✔ ✖ ✔ ✔ ✔ ✔
  35. 35. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.35  PAM (Pluggable Authentication Modules) Plug-In • Autenticação externa via métodos externos • Interface padrão, funciona com Unix, LDAP, Kerberos, outros • Proxy-users – mapeamento grupos de usuários para 1 usuário  Windows Plug-In • Acesso nativo via serviços do Windows • Autentica usuários já logados no Windows (Single Sign On) • Grupos/usuários do Windows Active Directory com Proxy-users Integra o MySQL com a infraestrutura de segurança existente e SOPs. Mais produtividade na gestão de usuários. MySQL Enterprise Security External Authentication Plug-Ins
  36. 36. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.36 Authenticate CREATE USER win_joe IDENTIFIED WITH authentication_windows AS ‘joe'; LDAP/AD PAM / Windows Auth Usuário/senha definidos no diretório Privilégios definidos no MySQL e mapeados para usuários/grupos do diretório MySQL Enterprise Security External Authentication Plug-Ins
  37. 37. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.37 MySQL Enterprise Audit  Audit Plug-In • Registro de conexões, logins, queries dos servidores MySQL • Políticas definidas pelo DBA para filtragem e rotação de logs • Habilitado ou desabilitado dinamicamente, sem reiniciar o servidor • Log em XML de acordo com especificação padrão Oracle Audit • Requer MySQL 5.5.28 ou superior • Implementado através MySQL 5.5 Audit API Adiciona conformidade regulatória em aplicações MySQL: HIPAA, Sarbanes-Oxley, PCI, etc.
  38. 38. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.38 2. Usuário conecta-se e executa queries MySQL Enterprise Audit 1. DBA habilita no Server1 Server1 3. Conexões e queries dos usuários aparecem no log
  39. 39. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.39 Instalação  No Windows – Installer ou Web Installer – Next, next, finish  No Linux e demais SO’s – Prefira os binários pré-compilados da sua distribuição Baixe e instale em menos de 15 minutos  Donwload – Community: dev.mysql.com/downloads – Comercial: edelivery.oracle.com (trial)
  40. 40. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.40 Ciclo evolutivo do produto/aplicação Identificação do Mercado e Modelo de Negócios1 Análise e Especificação de Requisitos2 Arquitetura e Prototipagem3 Implementação e Testes4 Empacotamento e Distribuição5 Manutenção Correções e atualizações/migrações6 n iterações
  41. 41. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.41 Prefira os binários pré-compilados
  42. 42. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.42 Iniciar ou Parar o servidor MySQL no Windows …ou via MySQL Notifier
  43. 43. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.43 Iniciar ou Parar o servidor MySQL no Linux /usr/local/mysql/bin> mysqld_safe --defaults-file=/etc/my.cnf & /usr/local/mysql/bin> mysqladmin shutdown Parar: Iniciar: dev.mysql.com/doc/refman/5.6/en/mysqld-safe.html
  44. 44. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.44 Primeira conexão C:Program FilesMySQLMySQL Server 5.6bin>mysql -uroot -p Enter password: **** Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 8 Server version: 5.6.14 MySQL Community Server (GPL) Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql>
  45. 45. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.45 Teste via MySQL Workbench 1/2
  46. 46. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.46 Teste via MySQL Workbench 2/2
  47. 47. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.47 Crie rapidamente seu protótipo Hello World em Java C:>set CLASSPATH CLASSPATH=.;C:Program Files (x86)Javajre6libextQTJava.zip;C:Program FilesMySQLmysql-connector-java-5.1.22mysql-connector-java-5.1.22-bin.jar Confira: Adicione o Connector ao classpath:
  48. 48. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.48 HelloMysql.java 1/2 import java.sql.*; public class HelloMysql { public static void main(String args[]){ System.out.println("Tentando conectar ao MySQL..."); try { Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/mysql"; String usuario = "root"; String senha = "root"; Connection con = DriverManager.getConnection(url, usuario, senha); System.out.println("URL: " + url); System.out.println("Connection: " + con); Continua…
  49. 49. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.49 HelloMysql.java 2/2 Statement stmt = con.createStatement(); //objeto Statement ResultSet rs; //objeto ResultSet rs = stmt.executeQuery("SELECT * FROM world.country"); System.out.println("Ola mundo!"); while(rs.next()){ String nomePais = rs.getString("Name"); System.out.print(nomePais + ", "); }//end while con.close(); } catch( Exception e ) { e.printStackTrace(); }//end catch }//end main }//end class HelloMysql PRONTO!
  50. 50. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.50 java HelloMysql C:tutorial>javac HelloMysql.java C:tutorial>java HelloMysql Tentando conectar ao MySQL... URL: jdbc:mysql://localhost:3306/mysql Connection: com.mysql.jdbc.JDBC4Connection@ed07f45 Ola mundo! Aruba, Afghanistan, Angola, Anguilla, Albania, Andorra, Netherlands Antilles, Un ited Arab Emirates, Argentina, Armenia, American Samoa, Antarctica, French South ern territories, Antigua and Barbuda, Australia, Austria, Azerbaijan, Burundi, B elgium, Benin, Burkina Faso, Bangladesh, Bulgaria, Bahrain, Bahamas, Bosnia and Herzegovina, Belarus, Belize, Bermuda, Bolivia, Brazil, Barbados, Brunei, Bhutan … ietnam, Vanuatu, Wallis and Futuna, Samoa, Yemen, Yugoslavia, South Africa, Zamb ia, Zimbabwe,
  51. 51. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.51 MySQL for Visual Studio  Design Time Support  Query Designer  Stored Routine Debugging  Entity Framework Integração total com a plataforma .Net mysql.com/why-mysql/windows/visualstudio
  52. 52. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.53 Saiba mais... Características técnicas do MySQL mysql.com/products/enterprise/techspec.html
  53. 53. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.54 Saiba mais...  Manual de Referência http://dev.mysql.com/doc/refman/5.6/en/index.html  Whitepapers, webinars, artigos... http://www.mysql.com/why-mysql/  Livros – MySQL, Fifth Edition by Paul DuBois <- mais para desenvolvedores – High Performance MySQL, 3rd Edition <- mais para dba’s – MySQL High Availability <- desenvolvedores e dba’s – etc, etc, etc...  Benchmarks, Capacity Planning, Stress Testing – Ferramentas de benchmark http://dev.mysql.com/doc/refman/5.6/en/mysql-benchmarks.html – Benchmarks expert http://dimitrik.free.fr/blog/ Conhecimento técnico em MySQL
  54. 54. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.55 MySQL Boot Camp Accelerated MySQL Performance Tuning Boot Camp Accelerated MySQL for Begginers MySQL for Database Administrators MySQL Performance Tuning MySQL High Availability MySQL Cluster MySQL DBA MySQL Boot Camp Accelerated MySQL for Developers MySQL Performance Tuning Boot Camp Accelerated MySQL for Begginers MySQL and PHP Developing Dynamic Web Applicationg MySQL Advanced Stored Procedures MySQLDeveloper mysql.com/training Certificações Opcional Necessário Treinamentos e certificações
  55. 55. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.56 Ciclo evolutivo do produto/aplicação Identificação do Mercado e Modelo de Negócios1 Análise e Especificação de Requisitos2 Arquitetura e Prototipagem3 Implementação e Testes4 Empacotamento e Distribuição5 Manutenção Correções e atualizações/migrações6 n iterações
  56. 56. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.57 MySQL Workbench 6 Para Windows, Linux, Solaris, Apple Mac OS…  MySQL Database IDE  Milhões de downloads  Desenvolvedores e DBA’s
  57. 57. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.58 MySQL Workbench 6 Configurações do Servidor Árvore de objetos e esquemas no Servidor Área de Queries Barras laterais com informações do contexto atual e biblioteca de Snipets Respostas e Histórico
  58. 58. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.59 MySQL Enterprise Monitor 3.0  Análise de gargalos e queries  Encontre e corrija problemas visualmente  Monitoramento em tempo real da performance e disponibilidade  Monitore discos e faça capacity planning  Arquitetura que não exige agentes  Agente remoto monitora SO  Comece a monitorar em 10 minutos
  59. 59. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.60
  60. 60. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.61
  61. 61. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.62 Explain Query
  62. 62. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.63 QRTi Query Response Time Index
  63. 63. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.64 Capacity Planning
  64. 64. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.65 Ciclo evolutivo do produto/aplicação Identificação do Mercado e Modelo de Negócios1 Análise e Especificação de Requisitos2 Arquitetura e Prototipagem3 Implementação e Testes4 Empacotamento e Distribuição5 Manutenção Correções e atualizações/migrações6 n iterações
  65. 65. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.66 Como embarcar Opções de distribuição embedded e deeply embedded client-server (embedded) • Inclua os binários com sua aplicação e execute via linha de comando -- ou também -- • No Windows • use silent installation, MySQL installer • Demais SO’s • instale e configure usando TARs ou RPMs libmysqld (deeply embedded) • 5 passos: • desenvolva aplicações em C com chamadas para iniciar ou parar o 'servidor' • compile normalmente • link com libmysqld • configure um arquivo my.cnf ou my.ini • distribua a aplicação normalmente
  66. 66. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.67 Como embarcar  roda o MySQL sem necessidade de instalação  pode-se colocar em um subdiretório da aplicação  Parâmetros importantes: --port= porta em que o MySQL escuta conexões --defaults-file= localização do arquivo de configurações my.ini ou my.cnf --datadir= localização dos arquivos de dados --skip-networking restringe conexões TCP/IP liberando apenas socket file (Linux) ou named-pipes (Windows) --socket= localização do Unix socket file para conexões locais Client-server via linha de comando mysqld.exe --port=3306 --defaults-file="C:mysqlmy.ini" --datadir="C:mysqldata” Exemplo de execução:
  67. 67. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.68 Saiba mais...  Silent Installation (Windows) http://dev.mysql.com/doc/refman/5.6/en/mysql-installer.html  Usando TAR (Linux) http://dev.mysql.com/doc/refman/5.6/en/binary-installation.html http://dev.mysql.com/doc/refman/5.6/en/automatic-start.html  Usando RPM (Linux) http://dev.mysql.com/doc/refman/5.6/en/linux-installation-rpm.html  Exemplo de aplicação com libmysqld http://dev.mysql.com/doc/refman/5.6/en/libmysqld-example.html Como embarcar
  68. 68. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.69 Ciclo evolutivo do produto/aplicação Identificação do Mercado e Modelo de Negócios1 Análise e Especificação de Requisitos2 Arquitetura e Prototipagem3 Implementação e Testes4 Empacotamento e Distribuição5 Manutenção Correções e atualizações/migrações6 n iterações
  69. 69. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.70  Acesso direto 24 x 7 x 365  Número ilimitado de incidentes  Base de conhecimento  Suporte Consultivo  Tradução para o Português  Hot Fixes para Bugs  Releases de manutenção do MySQL  Maior time de especialistas MySQL no mundo  Suportados pelos próprios Desenvolvedores do MySQL "The rep that assisted me was simply outstanding. He immediately recognized the cause of my problem and provided the resolution.” mysql.com/support/quotes Oracle Premier Support para MySQL Engenheiros MySQL como parte do seu time
  70. 70. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.71 MySQL Enterprise Backup  Backup online para InnoDB  Backups completos, incrementais, parciais (automatizados via script)  Compressão  Opções de Recovery: Point in Time, Completo, Parcial  Metadados de status, progresso e histórico  Tamanho ilimitado do BD  Multi-Plataforma  Windows, Linux, Unix  Certificado para Oracle Secure Backup, compatível SBT MEB Backup Files MySQL Database Files mysqlbackup Backup e Recovery mais rápidos e online.
  71. 71. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.72 MySQL Enterprise Backup Menor tempo em backups e restores, menos downtime
  72. 72. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.73
  73. 73. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.74
  74. 74. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.75
  75. 75. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.76
  76. 76. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.77
  77. 77. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.78 Eventos
  78. 78. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.79
  79. 79. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.80
  80. 80. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.81
  81. 81. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.82 Advisors
  82. 82. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.83
  83. 83. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.84
  84. 84. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.85
  85. 85. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.86
  86. 86. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.87 Atualizações / Upgrades  Binária – substitua os binários, suba o servidor e rode mysql_upgrade – obedeça a ordem 5.0 > 5.1 > 5.5 > 5.6  mysqldump – faça o dump dos databases e restaure numa nova instalação  Workbench – Migration Wizard / Schema Transfer Wizard  Replicação – de um Master numa versão mais antiga para um Slave mais novo Possíveis estratégias dev.mysql.com/doc/refman/5.6/en/upgrading.html
  87. 87. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.88 MySQL Workbench 6  Fácil Migração – Microsoft SQL Server – PostgreSQL – Sybase ASE – Sybase SQL Anywhere – SQLite, MS Access  Next, Next, Finish  Migra estrutura e dados  Não migra procedures Migration Wizard dev.mysql.com/doc/workbench/en/wb-migration-overview-steps.html
  88. 88. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.90 Sumário  O MySQL é o banco de dados ideal para muitos casos de uso, atendendo muito bem requisitos de: segurança, performance, escalabilidade, confiabilidade, robustez, disponibilidade, portabilidade, operacionalização (DevOps), etc.  Baixe, instale, crie protótipos ou migre em poucos minutos!  A Oracle pode ajudá-lo a adotar e distribuir o MySQL com menor risco e com vantagens econômicas para seu negócio
  89. 89. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.91 @MySQLBR meetup.com/MySQL-BR facebook.com/MySQLBR Obrigado!
  90. 90. Guia essencial para embarcar o MySQL em seu produto Perguntas?
  91. 91. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.93 MySQL Enterprise Edition Suporte + Backup + Monitor + Workbench + Plug-ins Plug-ins Suporte Backup Monitor & Workbench Escalabilidade Segurança Auditoria
  92. 92. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.94 Ciclo evolutivo do produto/aplicação Identificação do Mercado e Modelo de Negócios1 Análise e Especificação de Requisitos2 Arquitetura e Prototipagem3 Implementação e Testes4 Empacotamento e Distribuição5 Manutenção Correções e atualizações/migrações6 n iterações

×