SlideShare uma empresa Scribd logo
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 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
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
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
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
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.6
Identificação do Mercado e Modelo de Negócios
Livro: Business Model Generation
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
– 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
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
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 Completas
 #1 em todos os níveis da pilha
 Cloud e On Premise
 MySQL: Web, Mobile & Embedded
 Investimentos na Engenharia do MySQL
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
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
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
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
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, 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.
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
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
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…
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çõ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
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.
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
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
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
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
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
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
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
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
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
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 ✔ ✖ ✔ ✔ ✔ ✔
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
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
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.
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
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)
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
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 via MySQL Notifier
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
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>
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
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:
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…
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!
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,
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
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
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
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
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
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
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
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
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 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
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
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:
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
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
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
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.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.72
MySQL Enterprise Backup
Menor tempo em backups e restores, menos downtime
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 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
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
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
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.91
@MySQLBR
meetup.com/MySQL-BR
facebook.com/MySQLBR
Obrigado!
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 + Workbench + Plug-ins
Plug-ins
Suporte
Backup
Monitor &
Workbench
Escalabilidade
Segurança
Auditoria
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

Mais conteúdo relacionado

Mais procurados

MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Brasil
 
Novidades do Universo MySQL para PHP Web Developers - Dezembro 2014
Novidades do Universo MySQL para PHP Web Developers - Dezembro 2014Novidades do Universo MySQL para PHP Web Developers - Dezembro 2014
Novidades do Universo MySQL para PHP Web Developers - Dezembro 2014
MySQL Brasil
 
Novidades do Universo MySQL Agosto 2014
Novidades do Universo MySQL Agosto 2014Novidades do Universo MySQL Agosto 2014
Novidades do Universo MySQL Agosto 2014
MySQL Brasil
 
MySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de ProdutoMySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de Produto
MySQL Brasil
 
Recursos e Benefícios do MySQL
Recursos e Benefícios do MySQLRecursos e Benefícios do MySQL
Recursos e Benefícios do MySQL
MySQL Brasil
 
MySQL Enterprise Monitor para Desenvolvedores
MySQL Enterprise Monitor para DesenvolvedoresMySQL Enterprise Monitor para Desenvolvedores
MySQL Enterprise Monitor para Desenvolvedores
MySQL Brasil
 
Segurança no MySQL
Segurança no MySQLSegurança no MySQL
Segurança no MySQL
MySQL Brasil
 
MySQL e Oracle para DBAs
MySQL e Oracle para DBAsMySQL e Oracle para DBAs
MySQL e Oracle para DBAs
Airton Lastori
 
Serviços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e JavaServiços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e Java
MySQL Brasil
 
Alta disponibilidade com MySQL Enterprise
Alta disponibilidade com MySQL EnterpriseAlta disponibilidade com MySQL Enterprise
Alta disponibilidade com MySQL Enterprise
MySQL Brasil
 
My sql enterprise vs community
My sql enterprise vs communityMy sql enterprise vs community
My sql enterprise vs community
MySQL Brasil
 
Alta disponibilidade no MySQL 5.7 GUOB 2016
Alta disponibilidade no MySQL 5.7 GUOB 2016Alta disponibilidade no MySQL 5.7 GUOB 2016
Alta disponibilidade no MySQL 5.7 GUOB 2016
MySQL Brasil
 
Alta Disponibilidade no MySQL 5.7 para aplicações em PHP
Alta Disponibilidade no MySQL 5.7 para aplicações em PHPAlta Disponibilidade no MySQL 5.7 para aplicações em PHP
Alta Disponibilidade no MySQL 5.7 para aplicações em PHP
MySQL Brasil
 
MySQL: o banco de dados open source mais popular do mundo
MySQL: o banco de dados open source mais popular do mundoMySQL: o banco de dados open source mais popular do mundo
MySQL: o banco de dados open source mais popular do mundo
MySQL Brasil
 
Apresentação MySQL Enterprise
Apresentação MySQL EnterpriseApresentação MySQL Enterprise
Apresentação MySQL Enterprise
Juliano de Oliveira Falcao
 
Desenvolvendo serviços escaláveis e de alta performance com MySQL
Desenvolvendo serviços escaláveis e de alta performance com MySQLDesenvolvendo serviços escaláveis e de alta performance com MySQL
Desenvolvendo serviços escaláveis e de alta performance com MySQL
MySQL Brasil
 
Estratégias de Segurança e Gerenciamento para MySQL
Estratégias de Segurança e Gerenciamento para MySQLEstratégias de Segurança e Gerenciamento para MySQL
Estratégias de Segurança e Gerenciamento para MySQL
MySQL Brasil
 
MySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresMySQL e Oracle para Desenvolvedores
MySQL e Oracle para Desenvolvedores
Airton Lastori
 
MySQL - o banco de dados open source mais popular do mundo
MySQL - o banco de dados open source mais popular do mundoMySQL - o banco de dados open source mais popular do mundo
MySQL - o banco de dados open source mais popular do mundo
MySQL Brasil
 
MySQL Enterprise (outubro-2011)
MySQL Enterprise (outubro-2011)MySQL Enterprise (outubro-2011)
MySQL Enterprise (outubro-2011)
MySQL Brasil
 

Mais procurados (20)

MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geral
 
Novidades do Universo MySQL para PHP Web Developers - Dezembro 2014
Novidades do Universo MySQL para PHP Web Developers - Dezembro 2014Novidades do Universo MySQL para PHP Web Developers - Dezembro 2014
Novidades do Universo MySQL para PHP Web Developers - Dezembro 2014
 
Novidades do Universo MySQL Agosto 2014
Novidades do Universo MySQL Agosto 2014Novidades do Universo MySQL Agosto 2014
Novidades do Universo MySQL Agosto 2014
 
MySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de ProdutoMySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de Produto
 
Recursos e Benefícios do MySQL
Recursos e Benefícios do MySQLRecursos e Benefícios do MySQL
Recursos e Benefícios do MySQL
 
MySQL Enterprise Monitor para Desenvolvedores
MySQL Enterprise Monitor para DesenvolvedoresMySQL Enterprise Monitor para Desenvolvedores
MySQL Enterprise Monitor para Desenvolvedores
 
Segurança no MySQL
Segurança no MySQLSegurança no MySQL
Segurança no MySQL
 
MySQL e Oracle para DBAs
MySQL e Oracle para DBAsMySQL e Oracle para DBAs
MySQL e Oracle para DBAs
 
Serviços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e JavaServiços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e Java
 
Alta disponibilidade com MySQL Enterprise
Alta disponibilidade com MySQL EnterpriseAlta disponibilidade com MySQL Enterprise
Alta disponibilidade com MySQL Enterprise
 
My sql enterprise vs community
My sql enterprise vs communityMy sql enterprise vs community
My sql enterprise vs community
 
Alta disponibilidade no MySQL 5.7 GUOB 2016
Alta disponibilidade no MySQL 5.7 GUOB 2016Alta disponibilidade no MySQL 5.7 GUOB 2016
Alta disponibilidade no MySQL 5.7 GUOB 2016
 
Alta Disponibilidade no MySQL 5.7 para aplicações em PHP
Alta Disponibilidade no MySQL 5.7 para aplicações em PHPAlta Disponibilidade no MySQL 5.7 para aplicações em PHP
Alta Disponibilidade no MySQL 5.7 para aplicações em PHP
 
MySQL: o banco de dados open source mais popular do mundo
MySQL: o banco de dados open source mais popular do mundoMySQL: o banco de dados open source mais popular do mundo
MySQL: o banco de dados open source mais popular do mundo
 
Apresentação MySQL Enterprise
Apresentação MySQL EnterpriseApresentação MySQL Enterprise
Apresentação MySQL Enterprise
 
Desenvolvendo serviços escaláveis e de alta performance com MySQL
Desenvolvendo serviços escaláveis e de alta performance com MySQLDesenvolvendo serviços escaláveis e de alta performance com MySQL
Desenvolvendo serviços escaláveis e de alta performance com MySQL
 
Estratégias de Segurança e Gerenciamento para MySQL
Estratégias de Segurança e Gerenciamento para MySQLEstratégias de Segurança e Gerenciamento para MySQL
Estratégias de Segurança e Gerenciamento para MySQL
 
MySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresMySQL e Oracle para Desenvolvedores
MySQL e Oracle para Desenvolvedores
 
MySQL - o banco de dados open source mais popular do mundo
MySQL - o banco de dados open source mais popular do mundoMySQL - o banco de dados open source mais popular do mundo
MySQL - o banco de dados open source mais popular do mundo
 
MySQL Enterprise (outubro-2011)
MySQL Enterprise (outubro-2011)MySQL Enterprise (outubro-2011)
MySQL Enterprise (outubro-2011)
 

Semelhante a Guia essencial para embarcar o MySQL em seu produto

Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...
Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...
Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...
MySQL Brasil
 
Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15
MySQL Brasil
 
Novidades do Universo MySQL Maio 2014
Novidades do Universo MySQL Maio 2014Novidades do Universo MySQL Maio 2014
Novidades do Universo MySQL Maio 2014
MySQL Brasil
 
Mais performance com o MySQL 5.6
Mais performance com o MySQL 5.6Mais performance com o MySQL 5.6
Mais performance com o MySQL 5.6
MySQL Brasil
 
MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Brasil
 
Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...
Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...
Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...
Ricardo Ferreira
 
MySQL e Big Data
MySQL e Big DataMySQL e Big Data
MySQL e Big Data
MySQL Brasil
 
Uso estratégico do MySQL para empresas de TI: Novidades e Futuro
Uso estratégico do MySQL para empresas de TI: Novidades e FuturoUso estratégico do MySQL para empresas de TI: Novidades e Futuro
Uso estratégico do MySQL para empresas de TI: Novidades e Futuro
assertimarilia
 
MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Brasil
 
Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15
MySQL Brasil
 
Paa s evento
Paa s eventoPaa s evento
Paa s evento
AllJobs Inc
 
Replicação e alta disponibilidade by wagner bianchi -
Replicação e alta disponibilidade by wagner bianchi -Replicação e alta disponibilidade by wagner bianchi -
Replicação e alta disponibilidade by wagner bianchi -
MySQL Brasil
 
WebSeminario Oracle
WebSeminario OracleWebSeminario Oracle
WebSeminario Oracle
Anderson Ortolane
 
Resumido zdlra v2.0
Resumido zdlra v2.0Resumido zdlra v2.0
Resumido zdlra v2.0
Weligton Pinto
 
MySQL do ISAM ao NoSQL
MySQL do ISAM ao NoSQLMySQL do ISAM ao NoSQL
MySQL do ISAM ao NoSQL
Airton Lastori
 
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud PlatformPangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud Platform
André Paulovich
 
Pense Aberto, Pense Linux
Pense Aberto, Pense LinuxPense Aberto, Pense Linux
Pense Aberto, Pense Linux
aviram
 
Trabalho de sgbd
Trabalho de sgbdTrabalho de sgbd
Trabalho de sgbd
Junior Cesar
 
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Marcos William Valentini
 
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Marcos William Valentini
 

Semelhante a Guia essencial para embarcar o MySQL em seu produto (20)

Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...
Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...
Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...
 
Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15
 
Novidades do Universo MySQL Maio 2014
Novidades do Universo MySQL Maio 2014Novidades do Universo MySQL Maio 2014
Novidades do Universo MySQL Maio 2014
 
Mais performance com o MySQL 5.6
Mais performance com o MySQL 5.6Mais performance com o MySQL 5.6
Mais performance com o MySQL 5.6
 
MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geral
 
Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...
Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...
Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...
 
MySQL e Big Data
MySQL e Big DataMySQL e Big Data
MySQL e Big Data
 
Uso estratégico do MySQL para empresas de TI: Novidades e Futuro
Uso estratégico do MySQL para empresas de TI: Novidades e FuturoUso estratégico do MySQL para empresas de TI: Novidades e Futuro
Uso estratégico do MySQL para empresas de TI: Novidades e Futuro
 
MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geral
 
Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15
 
Paa s evento
Paa s eventoPaa s evento
Paa s evento
 
Replicação e alta disponibilidade by wagner bianchi -
Replicação e alta disponibilidade by wagner bianchi -Replicação e alta disponibilidade by wagner bianchi -
Replicação e alta disponibilidade by wagner bianchi -
 
WebSeminario Oracle
WebSeminario OracleWebSeminario Oracle
WebSeminario Oracle
 
Resumido zdlra v2.0
Resumido zdlra v2.0Resumido zdlra v2.0
Resumido zdlra v2.0
 
MySQL do ISAM ao NoSQL
MySQL do ISAM ao NoSQLMySQL do ISAM ao NoSQL
MySQL do ISAM ao NoSQL
 
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud PlatformPangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud Platform
 
Pense Aberto, Pense Linux
Pense Aberto, Pense LinuxPense Aberto, Pense Linux
Pense Aberto, Pense Linux
 
Trabalho de sgbd
Trabalho de sgbdTrabalho de sgbd
Trabalho de sgbd
 
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
 
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
 

Mais de MySQL Brasil

MySQL como Document Store PHP Conference 2017
MySQL como Document Store PHP Conference 2017MySQL como Document Store PHP Conference 2017
MySQL como Document Store PHP Conference 2017
MySQL Brasil
 
MySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e UberMySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e Uber
MySQL Brasil
 
MySQL 8.0.1 DMR
MySQL 8.0.1 DMRMySQL 8.0.1 DMR
MySQL 8.0.1 DMR
MySQL Brasil
 
MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17
MySQL Brasil
 
5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL
MySQL Brasil
 
MySQL 5.7 como Document Store
MySQL 5.7 como Document StoreMySQL 5.7 como Document Store
MySQL 5.7 como Document Store
MySQL Brasil
 
Enabling digital transformation with MySQL
Enabling digital transformation with MySQLEnabling digital transformation with MySQL
Enabling digital transformation with MySQL
MySQL Brasil
 
Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7
MySQL Brasil
 
NoSQL no MySQL 5.7
NoSQL no MySQL 5.7NoSQL no MySQL 5.7
NoSQL no MySQL 5.7
MySQL Brasil
 
OpenStack & MySQL
OpenStack & MySQLOpenStack & MySQL
OpenStack & MySQL
MySQL Brasil
 
10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em Startups10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em Startups
MySQL Brasil
 
MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15
MySQL Brasil
 
MySQL Enterprise Edition Portfolio
MySQL Enterprise Edition PortfolioMySQL Enterprise Edition Portfolio
MySQL Enterprise Edition Portfolio
MySQL Brasil
 
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...
MySQL Brasil
 

Mais de MySQL Brasil (14)

MySQL como Document Store PHP Conference 2017
MySQL como Document Store PHP Conference 2017MySQL como Document Store PHP Conference 2017
MySQL como Document Store PHP Conference 2017
 
MySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e UberMySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e Uber
 
MySQL 8.0.1 DMR
MySQL 8.0.1 DMRMySQL 8.0.1 DMR
MySQL 8.0.1 DMR
 
MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17
 
5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL
 
MySQL 5.7 como Document Store
MySQL 5.7 como Document StoreMySQL 5.7 como Document Store
MySQL 5.7 como Document Store
 
Enabling digital transformation with MySQL
Enabling digital transformation with MySQLEnabling digital transformation with MySQL
Enabling digital transformation with MySQL
 
Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7
 
NoSQL no MySQL 5.7
NoSQL no MySQL 5.7NoSQL no MySQL 5.7
NoSQL no MySQL 5.7
 
OpenStack & MySQL
OpenStack & MySQLOpenStack & MySQL
OpenStack & MySQL
 
10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em Startups10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em Startups
 
MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15
 
MySQL Enterprise Edition Portfolio
MySQL Enterprise Edition PortfolioMySQL Enterprise Edition Portfolio
MySQL Enterprise Edition Portfolio
 
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...
 

Guia essencial para embarcar o MySQL em seu produto

  • 1. Guia essencial para embarcar o MySQL em seu produto Airton Lastori mar-2014
  • 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. 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. 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. 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. 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. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.7 Identificação do Mercado e Modelo de Negócios Canvas
  • 8. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.8
  • 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. 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. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.11 Alguns clientes MySQL
  • 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. 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. 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. 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. 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. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.17 Aplicação + MySQL Database libmysqld libmysqld
  • 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. 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. 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. 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. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.22 Default Storage Engine InnoDB
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.41 Prefira os binários pré-compilados
  • 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. 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. 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. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.45 Teste via MySQL Workbench 1/2
  • 46. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.46 Teste via MySQL Workbench 2/2
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.60
  • 60. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.61
  • 61. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.62 Explain Query
  • 62. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.63 QRTi Query Response Time Index
  • 63. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.64 Capacity Planning
  • 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. 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. 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. 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. 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. 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. 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. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.72 MySQL Enterprise Backup Menor tempo em backups e restores, menos downtime
  • 72. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.73
  • 73. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.74
  • 74. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.75
  • 75. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.76
  • 76. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.77
  • 77. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.78 Eventos
  • 78. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.79
  • 79. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.80
  • 80. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.81
  • 81. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.82 Advisors
  • 82. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.83
  • 83. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.84
  • 84. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.85
  • 85. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.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. 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. 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. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.91 @MySQLBR meetup.com/MySQL-BR facebook.com/MySQLBR Obrigado!
  • 90. Guia essencial para embarcar o MySQL em seu produto Perguntas?
  • 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. 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