0
MySQL para Desenvolvedores de Produto
Julho 2014
Airton Lastori
airton.lastori@oracle.com
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
Ciclo evolutivo do produto/aplicação
Identificação d...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.5
Por que MySQL?
 MySQL como parte integral do seu pr...
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
Tomas Ulin
 [video]
youtube.com/watch?v=8stNlpJm_n...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.11 Copyright © 2013, Oracle and/or its affiliates. All...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.12
Elevando o nível
Novamente, um melhor MySQL para vo...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.13
s
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.15
Compromisso Oracle com MySQL
https://blogs.oracle.c...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.16
Bem-vindo, WebScaleSQL!
 Branch do MySQL 5.6, com ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.17
Alguns clientes MySQL
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.18
Motivos para migração
 otimizar custos e reduzir r...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.19
Ciclo evolutivo do produto/aplicação
Identificação ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.20
Qual Banco de Dados devo usar?
 Quais as principai...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.21 Fonte: http://db-engines.com/en/ranking_trend (maio...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.22
Características técnicas do MySQL
Lista mais abrang...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.23
Onde o MySQL geralmente se encaixa
• Novas aplicaçõ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.24
Call Detail Records (CDR) para suportar Billing, ge...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.25
Desafio
Fornecer uma plataforma para os funcionário...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.26
Desafio
Como em qualquer sistema de processamento d...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.27
MySQL Enterprise Monitor 2.2
MySQL Cluster 7.1
MySQ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.28
5.7 DMR 1
Abril 2013
DMR 2
Set 2013
DMR 3
Dez 2013
...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.31
MySQL 5.7: DMR 4
 InnoDB: melhor throughput transa...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.32
Ciclo evolutivo do produto/aplicação
Identificação ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.33
MySQL é adequado para o meu produto?
 Quais concei...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.34
Aplicação + Connector
JDBC, ODBC, .Net, PHP, Python...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.35
Aplicação
+
MySQL Database
libmysqld
libmysqld
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.36
Client-server vs libmysqld
client-server
(embedded,...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.37
Plataformas suportadas
 Hardware
– 32 e 64 bit x86...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.38
Amplo suporte a várias linguagens
Várias opções de ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.39
Enterprise Management
Services and Utilities
Backup...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.40
Cluster Data Nodes
NDB NDB
Connection Pool, SQL Int...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.41
Storage Engines
MyISAM InnoDB NDB Cluster
Transaçõe...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.42
Default Storage Engine
InnoDB
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.43
Acesso chave-valor ao InnoDB
Via Memcached API
Usa ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.44
2008
até 4 CPU
MySQL 5.0
MySQL AB
até 16 CPU
MySQL ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.45
MySQL 5.6: GA há 17 meses
•Performance: +234% para ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.46
 PERFORMANCE_SCHEMA
 Novas configurações padrão, ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.47
MySQL 5.5.28
MySQL 5.6.7
+234% Ganhos de Performanc...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.48
MySQL 5.5.28
MySQL 5.6.7
+151% Ganhos de Performanc...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.49
 Thread Pool Plug-In
• Adiciona mais inteligência ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.50
60x Melhor Escalabilidade comThread Pool
MySQL 5.6....
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.51
18x Melhor Escalabilidade com Thread Pool
Thread Po...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.52
Referências de Escala
Social Network
Small Medium L...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.53
MySQL 5.7 Sysbench Benchmark
Sysbench Point Select
...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.54
MySQL 5.7: InnoDB Memcached
Contribuição do Faceboo...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.55
MySQL é adequado para o meu produto?
 Quais concei...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.56
Aplicação
Master Slave
• Modelo assíncrono (padrão)...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.57
Aplicação
Master Slave
• Master down
• Slave promov...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.58
Replicação MySQL: escalando LEITURAS
• Divisão de l...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.59
Multi-Source Replication
 Consolida updates de múl...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.60
MySQL Fabric 1.4 GA (MySQL Utilities 1.4.3)
 Alta ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.61
API Nodes
Arquitetura MySQL Cluster
Data Nodes
ndbd...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.62
MySQL Cluster 7.4
 Ganho de Performance sobre v7.3...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.63
Soluções de HA homologadas pela Oracle
MySQL
Replic...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.64
 PAM (Pluggable Authentication Modules) Plug-In
• ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.65
Authenticate
CREATE USER win_joe
IDENTIFIED WITH au...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.66
MySQL Enterprise Audit
 Audit Plug-In
• Registro d...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.67
2. Usuário conecta-se e executa queries
MySQL Enter...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.68
Saiba mais...
 Manual de Referência
http://dev.mys...
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
Usando o MySQL
 Como montar o ambiente de desenvol...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.71
Instalação
 No Windows
– Installer ou Web Installe...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.72
Ciclo evolutivo do produto/aplicação
Identificação ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.73
Prefira os binários pré-compilados
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.74
Repositórios YUM e APT para MySQL
 Maneira simples...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.75
Iniciar ou Parar o servidor MySQL no Windows
…ou vi...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.76
Iniciar ou Parar o servidor MySQL no Linux
/usr/loc...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.77
Primeira conexão
C:Program FilesMySQLMySQL Server 5...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.78
Teste via MySQL Workbench 1/2
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.79
Teste via MySQL Workbench 2/2
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.80
Crie rapidamente seu protótipo
Hello World em Java
...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.81
HelloMysql.java 1/2
import java.sql.*;
public class...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.82
HelloMysql.java 2/2
Statement stmt = con.createStat...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.83
java HelloMysql
C:tutorial>javac HelloMysql.java
C:...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.84
MySQL for Visual Studio
 Design Time Support
 Que...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.86
MySQL Workbench 6
Para Windows, Linux, Solaris, App...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.87
MySQL Workbench 6
Configurações
do Servidor
Árvore ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.88
MySQL Workbench 6.1
Dashboards: Performance & Statu...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.89
MySQL Enterprise Monitor 3.0
 Análise de gargalos ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.90
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.91
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.92
Explain Query
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.93
QRTi
Query Response Time Index
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.94
Capacity Planning
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.95
 Revisão de queries lentas
 Revisão e auxílio na ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.96
MySQL for
Beginners Ed 3
MySQL for Database
Adminis...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.97
Ciclo evolutivo do produto/aplicação
Identificação ...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.98
Como distribuir meu produto com MySQL?
 Cloud: Saa...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.99
Como embarcar
Opções de distribuição embedded e dee...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.100
Como embarcar
 roda o MySQL sem necessidade de in...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.101
Saiba mais...
 Silent Installation (Windows)
http...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.102
Ciclo evolutivo do produto/aplicação
Identificação...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.104
 Acesso direto 24 x 7 x 365
 Número ilimitado de...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.105
MySQL Enterprise Backup
 Backup online para InnoD...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.106
MySQL Enterprise Backup
Menor tempo em backups e r...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.107
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.108
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.109
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.110
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.111
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.112
Eventos
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.113
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.114
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.115
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.116
Advisors
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.117
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.118
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.119
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.120
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.121
Atualizações / Upgrades
 Binária
– substitua os b...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.122
MySQL Workbench 6
 Fácil Migração
– Microsoft SQL...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.123
Migração para MySQL
Onde faz sentido migrar, migre...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.124
Oracle para MySQL
 Exporting Data from Oracle
– O...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.125
Ciclo evolutivo do produto/aplicação
Identificação...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.126
MySQL Enterprise Edition
Suporte + Backup + Monito...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.127
Sumário
 O MySQL é o banco de dados ideal para mu...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.128
@MySQLBR
meetup.com/MySQL-BR
facebook.com/MySQLBR
...
MySQL para Desenvolvedores de Produto
Perguntas?
Upcoming SlideShare
Loading in...5
×

MySQL para Desenvolvedores de Produto

3,292

Published on

Dentro do ciclo de desenvolvimento de um produto há várias atividades que vão desde a seleção da melhor tecnologia até boas práticas de manutenção em ambiente produtivo. Nesta apresentação mostramos algumas novidades do MySQL que ajudarão nestas tarefas associadas ao desenvolvimento de um excelente produto.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,292
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
163
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "MySQL para Desenvolvedores de Produto"

  1. 1. MySQL para Desenvolvedores de Produto Julho 2014 Airton Lastori airton.lastori@oracle.com
  2. 2. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.2 Objetivos  Entender como o MySQL pode ajudá-lo com seu produto  Conhecer as novidades do universo MySQL que podem ajudar na construção ou migração de um produto/aplicação
  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 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
  5. 5. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.5 Por que MySQL?  MySQL como parte integral do seu produto  Oracle como Parceira  Investimento Oracle no MySQL  Casos de sucesso  Devo migrar para MySQL? Visão de Negócios
  6. 6. 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
  7. 7. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.10 Tomas Ulin  [video] youtube.com/watch?v=8stNlpJm_nA  [slides] mysql.com/why- mysql/presentations/raising-the- mysql-bar VP de Engenharia do MySQL na Oracle
  8. 8. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.11 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.11 COMPONENTES da pilha MySQL: Aplicações Web da próxima geração On-Premises, na Nuvem, Aplicações Distribuídas
  9. 9. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.12 Elevando o nível Novamente, um melhor MySQL para vocês
  10. 10. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.13 s
  11. 11. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.15 Compromisso Oracle com MySQL https://blogs.oracle.com/MySQL/entry/mysql_connect_keynotes_and_news
  12. 12. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.16 Bem-vindo, WebScaleSQL!  Branch do MySQL 5.6, com patches para uso em Escala Web  Investimentos de gigantes da Web para melhorar o MySQL  Ótima notícia para a comunidade e novos desenvolvedores  Ainda mais fácil a cooperação entre Oracle e as gigantes da Web Facebook, Google, LinkedIn & Twitter!
  13. 13. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.17 Alguns clientes MySQL
  14. 14. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.18 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+riscos da migração são compensados pelos ganhos?
  15. 15. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.19 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.20 Qual Banco de Dados devo usar?  Quais as principais características técnicas?  Quem, por que e onde está usando?  Onde posso usar no meu contexto?  Qual o futuro da tecnologia?  Continua em desenvolvimento? Escolher a tecnologia correta de acordo com requisitos
  17. 17. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.21 Fonte: http://db-engines.com/en/ranking_trend (maio/14)
  18. 18. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.22 Características técnicas do MySQL Lista mais abrangente no site, aqui abordaremos apenas algumas mysql.com/products/enterprise/techspec.html
  19. 19. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.23 Onde o MySQL geralmente se encaixa • Novas aplicações e aplicações customizadas Ad-hoc • principalmente arquitetura Web (ex. LAMP stack) • arquiteturas inovadoras, NoSQL (versão 5.6 e Cluster 7.2) • Aplicações híbridas • expansão de sistemas legados • MySQL como front-end e Oracle DB como back-end • Online, SaaS e Mobile • E-commerce/OLTP e pagamentos digitais • Gerenciamento de Conteúdo (CMS) • Redes Sociais, mensagens e colaboração • Games Sociais e MMO • SMS, e-marketing • Datamarts e Relatórios Departamentais • Embarcadas, Infra Telecom, Infra TI
  20. 20. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.24 Call Detail Records (CDR) para suportar Billing, gestão de dispositivos, troubleshooting de redes, provisionamento e telemetria. Transaction Detail Records que é uma variante do CDRs com foco em troubleshooting. Recomendações Online – Cross-promotion. Coleta várias informações sobre as preferências do cliente toda vez que ele é “tocado” pela operadora. Traditional E-Commerce – Carrinho de compra, etc. D2C (Demand-to-Close) – Essencialmente um workflow que rastreia um “lead” no ciclo de vida até que ele vire um negócio (cliente). Call Center Queueing – Normalmente uma aplicação em cima do software do call center da empresa para gerir o tempo de espera dos seus clientes (McDonalds, Apple, etc) Customer Care Intranet - O caso da Verizon Outros usos em Telco
  21. 21. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.25 Desafio Fornecer uma plataforma para os funcionários onde eles poderiam trabalhar em redes sociais, visualizar e hostear microsites, live streaming de vídeos, blog e divulgar as últimas notícias. TI decidiu usar o LAMP stack para suportar seu portal 24x7 de missão crítica (Vzweb, Vzwiki e Vztube), com o Drupal como front-end e MySQL no Linux como o backend, e alguns outros sites internos também em MySQL. Acessível aos 78.000 funcionários SLA 99,985% https://blogs.oracle.com/MySQL/entry/verizon_wireless_supports_its_mission Solução MySQL 5.5 in 2011 InnoDB store engine MySQL Enteprise Thread Pooling Resultado "MySQL é um componente chave em nosso portal, disse Shivinder Singh, DBA sênior da Verizon Wireless. “Alcançamos uma melhoria de desempenho de 1400% ao passar do store engine de MyISAM para InnoDB, atualizando para a última versão GA MySQL 5.5, e usando o MySQL Thread Pool para suportar um alto número de conexões simultâneas. MySQL tornou-se parte de nossa infra-estrutura de TI"
  22. 22. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.26 Desafio Como em qualquer sistema de processamento de pagamentos financeiros, a construção de um sistema altamente confiável com disponibilidade 24x7 é a primeira prioridade. A Paggo não pode dar ao luxo de perda de dados. Perda de dados resulta em perda de negócios. A Paggo teve de construir um sistema que poderia crescer e performar conforme novos comerciantes e compradores cresciam, aumentando as transações. Em cima disso, Paggo é uma startup com um orçamento limitado, então tivemos que começar pequeno, com a capacidade de escalar a infra-estrutura incrementalmente, sem custos iniciais enormes. 40.000 comerciantes, 1.2 milhões de assinantes e 750.000 transações financeiras/mês 99,999% uptime Solução MySQL Cluster Resultado "Paggo não teria sido possível sem o MySQL Cluster. Nenhum outro produto poderia nos dar a capacidade de começar pequeno, escalar rapidamente e fornecer para o nosso sistema de pagamento financeiro 24x7 disponibilidade." Cícero Torteli Fundador, Paggo http://www.mysql.com/why-mysql/case-studies/paggo-mysql-cluster-java-financial-transactions-over-telecom/
  23. 23. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.27 MySQL Enterprise Monitor 2.2 MySQL Cluster 7.1 MySQL Cluster Manager 1.0 MySQL Workbench 5.2 MySQL Database 5.5 MySQL Enterprise Backup 3.5 MySQL Enterprise Monitor 2.3 MySQL Cluster Manager 1.1 MySQL Enterprise Backup 3.7 All GA! Oracle VM Template for MySQL Oracle Products Certifications MySQL Windows Installer MySQL Enterprise Security MySQL Enterprise Scalability MySQL Cluster 7.2 MySQL Cluster Manager 1.3 MySQL Utilities 1.0.6 MySQL Workbench 6.0 All GA! MySQL Enterprise Backup 3.10 MySQL Enterprise Audit MySQL Windows Tools MySQL Database 5.6 MySQL Cluster 7.3 MySQL Workbench 6.1 MySQL Fabric 1.4 RC MySQL Database 5.7 DMR *Development Milestone Release All GA! Available Now! Breve histórico: 2010 - 2014
  24. 24. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.28 5.7 DMR 1 Abril 2013 DMR 2 Set 2013 DMR 3 Dez 2013 DMR 4 Novas funcionalidades labs.mysql.com Disponível Agora! ... 5.6 GA Fev 2013 Anunciado o MySQL 5.7 DMR 4
  25. 25. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.31 MySQL 5.7: DMR 4  InnoDB: melhor throughput transacional, disponibilidade, IO  Replication: melhor escalabilidade e disponibilidade  Utilities: facilidades para automação e DevOps  Performance Schema: melhores métricas e diagnósticos  Optimizer: melhores tempos nas queries, EXPLAINs, buffering e particionamento  Connections: taxas mais altas, sessões mais eficientes O MySQL 5.7 é o MySQL 5.6 + melhorias! Saiba mais: slideshare.net/MySQLBR/novidades-do-universo-mysql-maioi-2014
  26. 26. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.32 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
  27. 27. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.33 MySQL é adequado para o meu produto?  Quais conceitos fundamentais para uso correto do MySQL?  Quais plataformas e linguagens posso utilizar?  Quais os limites da tecnologia?  Quais recursos de alta-disponibilidade (HA) e escalabilidade?  Quais recursos de segurança? Dúvidas técnicas, requisitos não funcionais
  28. 28. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.34 Aplicação + Connector JDBC, ODBC, .Net, PHP, Python, Perl, Ruby, Native C API… MySQL Database mysqld Cliente-Servidor Gerenciamento mysql / monitor / backup
  29. 29. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.35 Aplicação + MySQL Database libmysqld libmysqld
  30. 30. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.36 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.
  31. 31. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.37 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
  32. 32. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.38 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) • Memcached API • MySQL for Excel Comunidade • PHP • Perl • Ruby • TCL • Eiffel • Arduino • … dev.mysql.com/doc/refman/5.6/en/connectors-apis.html
  33. 33. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.39 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…
  34. 34. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.40 Cluster Data Nodes NDB NDB Connection Pool, SQL Interface, Parser, Optimizer, Caches Enterprise Management Services and Utilities Backup & Recovery Monitor Workbench Utilities Clients & Connectors Native C API, JDBC, ODBC, .Net, PHP, Ruby, Python, VB, Perl Arquitetura MySQL Cluster Storage Engines InnoDB, MyISAM, Memory, Archive, Cluster (NDB API), etc… Filesystems, Files & Logs Data, Index, Logs… mysqld Clients and Apps ndbd mgm_ndbd Management
  35. 35. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.41 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
  36. 36. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.42 Default Storage Engine InnoDB
  37. 37. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.43 Acesso chave-valor ao InnoDB Via Memcached API Usa clients Memcached existentes Sem SQL parsing, ultra-rápido Acesso SQL e NotOnlySQL Operações chave-valor mas também queries SQL, JOINs, FKs, etc. Memcached com Persistência no InnoDB Método transparente para persistir os dados em memória volátil Memcached plug-in no mysqld , mapeado à API nativa do InnoDB Shared process para baixa latência SQL (MySQL Client) InnoDB Storage Engine MySQL Server Memcached plugin Application/Client NoSQL (Memcached Prot.) mysqld http://dev.mysql.com/doc/refman/5.6/en/innodb-memcached.html Flexibilidade MySQL 5.6: InnoDB NoSQL com Memcached
  38. 38. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.44 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.
  39. 39. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.45 MySQL 5.6: GA há 17 meses •Performance: +234% para Leituras e +151% para Escritas, SSD •Escalabilidade: 48 cores •Flexibilidade: Memcached API, Full Text •Disponibilidade: mudanças online no schema, export/import tablespaces InnoDB •Performance: até centenas de vezes mais rápido em alguns cenários, estatísticas persistentes •Instrumentação: EXPLAINS com traces e para UPDATES e DELETES Otimizador •Performance: ganhos de 2x a 5x com paralelismo e group commit •Flexibilidade: novas topologias e rastreabilidade com GTIDs •Disponibilidade: automatização de failover e recovery Replicação •PERFORMANCE_SCHEMA mais completaInstrumentação •Segurança •Facilidade de uso •Flexibilidade •...E MAIS... Outras melhorias dev.mysql.com/tech-resources/articles/mysql-5.6-rc.html
  40. 40. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.46  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
  41. 41. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.47 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
  42. 42. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.48 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
  43. 43. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.49  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
  44. 44. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.50 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
  45. 45. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.51 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
  46. 46. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.52 Referências de Escala Social Network Small Medium Large Extra Large Queries/Second <500 <5,000 10,000+ 25,000+ Transactions/Second <100 <1,000 10,000+ 25,000+ Concurrent Read Users <100 <5,000 10,000+ 25,000+ Concurrent Write Users <10 <100 1,000+ 2,500+ Database Size Sessions <2 GB <10 GB 20+ GB 40+ GB eCommerce <2 GB <50 GB 50+ GB 200+ GB Analytics (Multi-Structured Data) <10 GB <1TB 10+ TB 100+ TB Content Management (Meta-Data) <10 GB <500 GB 1+ TB 2+ TB Saiba mais: slideshare.net/MySQLBR/arquiteturas-de-referncia-mysql
  47. 47. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.53 MySQL 5.7 Sysbench Benchmark Sysbench Point Select Intel(R) Xeon(R) CPU X7560 x86_64 5 sockets x 8 cores-HT (80 CPU threads) 2.27GHz, 256G RAM Oracle Linux 6.5 2X mais rápido que o MySQL 5.6 Mais de 3X mais rápido que o MySQL 5.5 630,000 QPS
  48. 48. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.54 MySQL 5.7: InnoDB Memcached Contribuição do Facebook Intel(R) Xeon(R) CPU X7560 x86_64 8 sockets x 6 cores-HT (96 CPU threads) 2000Mhz, 256G RAM Oracle Linux 6.2 6x mais rápido que o MySQL 5.6 1,150,000 QPS 0 200000 400000 600000 800000 1000000 1200000 1400000 8 16 32 64 128 256 512 1024 QueriesperSecond Concurrent User Sessions 5.7.3 5.6
  49. 49. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.55 MySQL é adequado para o meu produto?  Quais conceitos fundamentais para uso correto do MySQL?  Quais plataformas e linguagens posso utilizar?  Quais os limites da tecnologia?  Quais recursos de alta-disponibilidade (HA) e escalabilidade?  Quais recursos de segurança? Dúvidas técnicas, requisitos não funcionais
  50. 50. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.56 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
  51. 51. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.57 Aplicação Master Slave • Master down • Slave promovido para Master Escritas & Leituras MySQL failover
  52. 52. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.58 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
  53. 53. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.59 Multi-Source Replication  Consolida updates de múltiplos Masters em um Slave – Visão consolidada – Novas topologias – Ponto centralizado de backup – Relatórios mais fáceis  Compatível com Semi-Synchronous Replication & Multi-Thread Slaves  Master-specific slave filters  Aplicação continua responsável por manter data sets não-conflitantes entre as diversas fontes Binlog Master 1 Binlog Master 2 … … Binlog Master N IO 1 Relay 1 Coordinator W1 W2 … WX IO 2 Relay 2 Coordinator W1 W2 … WX … … Coordinator W1 W2 … WX IO N Relay N Coordinator W1 W2 … WX Slave labs.mysql.com
  54. 54. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.60 MySQL Fabric 1.4 GA (MySQL Utilities 1.4.3)  Alta disponibilidade: – Monitoramento do Server com failover automático e transparente para aplicação  Conectores devem ser “Fabric-aware”: – Java, PHP, Python  Sem Proxy, sem latencia extra e SPoF  Escalabilidade de escrita com sharding: – Aplicação define a shard key (Range ou Hash) – Ferramentas para re-sharding – Tabelas globais & global updates Alta-disponibilidade + escalabilidade de escrita com sharding MySQL Fabric Connector Application Read-slaves SQL Master group Read-slaves Master group
  55. 55. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.61 API Nodes Arquitetura MySQL Cluster Data Nodes ndbd ndbd Management mgm_ndbd Clients Application Layer Data Layer ndbd ndbd
  56. 56. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.62 MySQL Cluster 7.4  Ganho de Performance sobre v7.3 – 47% (Read-Only) – 38% (Read-Write) Melhor performance e simplicidade operacional labs.mysql.com  Restarts mais rápidos dos nós – Recovering nodes rejoin the cluster faster
  57. 57. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.63 Soluções de HA homologadas pela Oracle MySQL Replication MySQL Fabric Oracle VM Template Solaris Cluster Windows Cluster DRBD MySQL Cluster Clustering Mode Master + Slaves Master + Slaves Active/Pass ive Active/Pass ive Active/Passi ve Active/Pa ssive Multi- Master App Auto-Failover ✖ ✔ ✔ ✔ ✔ ✔ ✔ Data Layer Auto-Failover ✖ ✔ ✔ ✔ ✔ ✔ ✔ Zero Data Loss MySQL 5.7 ✔ ✔ ✔ ✔ ✔ ✔ Failover Time N/A Secs Secs + Secs + Secs + Secs + < 1 Sec Scale-out Reads ✔ ✖ ✖ ✖ ✖ ✔ Cross-shard operations N/A ✖ N/A N/A N/A N/A ✔ Transparent routing ✖ For HA ✔ ✔ ✔ ✔ ✔ Shared Nothing ✔ ✔ ✖ ✖ ✖ ✔ ✔ Storage Engine InnoDB InnoDB InnoDB InnoDB InnoDB InnoDB NDB Single Vendor Support ✔ ✔ ✔ ✔ ✖ ✔ ✔ Platform Support All All Linux Solaris Windows Linux All
  58. 58. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.64  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
  59. 59. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.65 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
  60. 60. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.66 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.
  61. 61. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.67 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
  62. 62. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.68 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
  63. 63. 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
  64. 64. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.70 Usando o MySQL  Como montar o ambiente de desenvolvimento?  Ferramentas para o desenvolvimento  Ferramentas para Qualidade  Suporte ao desenvolvedor  Onde buscar mais conhecimento? Hello World, ferramentas e mais conhecimento
  65. 65. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.71 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 – Repositórios YUM e APT disponíveis Baixe e instale em menos de 15 minutos  Download – Community: dev.mysql.com/downloads ou dev.mysql.com/downloads/repo – Comercial: edelivery.oracle.com (trial)
  66. 66. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.72 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
  67. 67. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.73 Prefira os binários pré-compilados
  68. 68. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.74 Repositórios YUM e APT para MySQL  Maneira simples e conveniente de instalar e atualizar produtos MySQL  Suporta as distribuições Enterprise Linux – RedHat Enterprise/Oracle Linux – Fedora – Em breve: Debian/Ubuntu  Inclui os pacotes mais atuais – MySQL Database – MySQL Workbench – MySQL Connector/ ODBC – MySQL Connector/Python – MySQL Utilities Benefícios para Usuários Finais e Distribuições Linux Também disponível via NuGet para desenvolvedores .NET Mais de 50% dos downloads para Fedora/RedHat já são feitos do repositório nuget.org/profiles/MySQL www.alastori.com.br/2014/05/tutorial-de- instalacao-do-mysql-56-e.html
  69. 69. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.75 Iniciar ou Parar o servidor MySQL no Windows …ou via MySQL Notifier
  70. 70. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.76 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
  71. 71. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.77 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>
  72. 72. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.78 Teste via MySQL Workbench 1/2
  73. 73. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.79 Teste via MySQL Workbench 2/2
  74. 74. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.80 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:
  75. 75. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.81 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…
  76. 76. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.82 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!
  77. 77. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.83 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,
  78. 78. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.84 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
  79. 79. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.86 MySQL Workbench 6 Para Windows, Linux, Solaris, Apple Mac OS…  MySQL Database IDE  Milhões de downloads  Desenvolvedores e DBA’s
  80. 80. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.87 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
  81. 81. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.88 MySQL Workbench 6.1 Dashboards: Performance & Status Analyze hotspots, costly SQL statements, wait times, locks, InnoDB stats, and more Network, Server, InnoDB
  82. 82. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.89 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
  83. 83. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.90
  84. 84. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.91
  85. 85. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.92 Explain Query
  86. 86. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.93 QRTi Query Response Time Index
  87. 87. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.94 Capacity Planning
  88. 88. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.95  Revisão de queries lentas  Revisão e auxílio na modelagem  Auxílio na definição de estratégias de particionamento  Performance tuning  Revisão de código (Triggers, Procedures, Functions, UDFs)  Entre outros... Suporte consultivo MySQL Engenheiros MySQL como parte do seu time Saiba mais: mysql.com/support/consultative.html
  89. 89. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.96 MySQL for Beginners Ed 3 MySQL for Database Administrators Ed 3.1 MySQL Performance Tuning MySQL High Availability MySQL Cluster MySQL DBA Introduction to MySQL 5.5 MySQL Developers Techniques MySQL for Beginners Ed 3 MySQL and PHP Developing Dynamic Web Applications MySQL for Developers Ed 2 MySQL Advanced Stored Procedures MySQLDeveloper education.oracle.com/mysql Opcional Necessário Treinamentos e certificações Oracle Certified Professional, MySQL 5.6 DBA Oracle Certified Expert, MySQL Cluster DBA Certificações Oracle Certified Professional, MySQL 5.6 Developer
  90. 90. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.97 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
  91. 91. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.98 Como distribuir meu produto com MySQL?  Cloud: SaaS  On-Premise: Embarcado  Como embarcar? Modelos e métodos de distribuição
  92. 92. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.99 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
  93. 93. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.100 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:
  94. 94. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.101 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
  95. 95. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.102 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
  96. 96. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.104  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
  97. 97. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.105 MySQL Enterprise Backup  Backup online para InnoDB  Backups completos, incrementais, parciais (automatizados via script)  Compressão, Criptografia  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  Compatível SBT, Oracle Secure Backup  Suporte Cloud (Amazon S3) MEB Backup Files MySQL Database Files mysqlbackup Backup e Recovery mais rápidos e online.
  98. 98. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.106 MySQL Enterprise Backup Menor tempo em backups e restores, menos downtime
  99. 99. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.107
  100. 100. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.108
  101. 101. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.109
  102. 102. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.110
  103. 103. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.111
  104. 104. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.112 Eventos
  105. 105. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.113
  106. 106. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.114
  107. 107. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.115
  108. 108. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.116 Advisors
  109. 109. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.117
  110. 110. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.118
  111. 111. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.119
  112. 112. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.120
  113. 113. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.121 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
  114. 114. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.122 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
  115. 115. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.123 Migração para MySQL Onde faz sentido migrar, migre. Do contrário, não migre. Aplicação… Método de migração Complexidade Usa Standard SQL Ferramenta MySQL Workbench ou CSV dumps Baixa: migre, teste e pronto! Usa intensamente Stored Procedures, Triggers Ferramentas de terceiros (SQLWays) Média: dependendo da complexidade das procedures, pode ser fácil Usa funcionalidade especializada do BD e não nativa do MySQL Ferramentas de terceiros ou re-arquitetura Alta: pode ser fácil, mas também pode ser muito difícil Empacotada ou desenvolvida e mantida por fornecedor que não certifica para MySQL Acordo com o fornecedor Não recomendado migrar sem ajuda do fornecedor, raras exceções
  116. 116. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.124 Oracle para MySQL  Exporting Data from Oracle – Oracle SQL Developer – SQL*Plus – Using PL/SQL: UTL FILE package  Importing Data into MySQL – LOAD ... INFILE – CSV storage engine  Migration Tools – Golden Gate, Pentaho, Convert-in, SQLWays Possíveis estratégias support.oracle.com/epmos/faces/DocumentDisplay?id=1477151.1
  117. 117. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.125 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
  118. 118. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.126 MySQL Enterprise Edition Suporte + Backup + Monitor + Workbench + Plug-ins Plug-ins Suporte Backup Monitor & Workbench Escalabilidade Segurança Auditoria
  119. 119. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.127 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
  120. 120. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.128 @MySQLBR meetup.com/MySQL-BR facebook.com/MySQLBR Obrigado!
  121. 121. MySQL para Desenvolvedores de Produto Perguntas?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×