76
Airton Lastori [email protected] mai-2012 MySQL O Banco de Dados Open Source mais popular do mundo

MySQL: o banco de dados open source mais popular do mundo

Embed Size (px)

DESCRIPTION

Slides da apresentação do dia 11-mai-2012 na Jornada de SI da PUC-MG Contagem.

Citation preview

Page 1: MySQL: o banco de dados open source mais popular do mundo

<Insert Picture Here>

Airton Lastori [email protected]

mai-2012

MySQL O Banco de Dados Open Source

mais popular do mundo

Page 2: MySQL: o banco de dados open source mais popular do mundo

Alguns clientes

Page 3: MySQL: o banco de dados open source mais popular do mundo

Top websites

fonte: alexa.com/topsites 10-mai-2012

Page 4: MySQL: o banco de dados open source mais popular do mundo

Quem usa MySQL – Top 10 Websites

1.Google

2.Facebook

3.Youtube

4.Yahoo!

5.Baidu.com

6.Wikipedia

7.Windows Live

8.Twitter

9.QQ.com

10.Amazon.com

fonte: alexa.com/topsites 10-mai-2012

Page 5: MySQL: o banco de dados open source mais popular do mundo

Por que o MySQL é a escolha

para aplicações Web destas e

de milhares de outras

empresas?

Page 6: MySQL: o banco de dados open source mais popular do mundo

Agenda

• história do MySQL

• razões para utilizar MySQL em web apps

• ambiente de desenvolvimento MySQL

• uso profissional e certificado do MySQL

Page 7: MySQL: o banco de dados open source mais popular do mundo

MySQL

uma história de sucesso

Page 8: MySQL: o banco de dados open source mais popular do mundo

Conhecendo melhor o MySQL

MyISAM e mSQL

Nova interface SQL com

arquitetura mais flexível

Nome MySQL dado

pelo co-fundador

Monty Widenius, surge a

MySQL AB

Cresce o ecosistema

MySQL, pautado no

modelo open

source

MySQL Cluster é

adquirido da Ericsson

pela MySQL AB

MySQL AB é adquirida pela

Sun Microsystems

Sun Microsystems é adquirida pela

Oracle

Page 9: MySQL: o banco de dados open source mais popular do mundo

razões para utilizar o MySQL em

web apps

Page 12: MySQL: o banco de dados open source mais popular do mundo

Filesystems, Files and Logs

Redo, Undo, Data, Index, Binary, Error, Query and Slow

Connectors

Native C API, JDBC, ODBC, .Net, PHP, Ruby, Python, VB, Perl

Connection Pool

Authentication – Thread Reuse – Connection Limits – Check Memory – Caches

Enterprise Management

Services and Utilities

Backup & Recovery

Security

Replication

Cluster

Partitioning

Instance Manager

Information_Schema

MySQL Workbench

SQL Interface

DDL, DML, Stored

Procedures, Views,

Triggers, Etc..

Parser

Query Translation,

Object Privileges

Optimizer

Access Paths,

Statistics

Caches

Global and Engine

Specific Caches and

Buffers

Pluggable Storage Engines

Memory, Index and Storage Management

InnoDB MyISAM Cluster Etc… Partners Community More..

MySQL Server Clients and Apps

Arquitetura MySQL Server

Page 13: MySQL: o banco de dados open source mais popular do mundo

InnoDB no MySQL

- Storage Engine mais utilizado em:

- aplicações Web 2.0

- aplicações de varejo

- aplicações de entretenimento & mídia

- ACID

- Crash recovery

- Integridade referencial

- Suporta altos níveis de usuários concorrentes

- Na versão MySQL 5.5:

- padrão

- otimizado para hardware multi-core, multi-thread e SOs

Page 14: MySQL: o banco de dados open source mais popular do mundo

Rápido Gerenciamento de Conexões

Connectors

Native C API, JDBC, ODBC, .Net, PHP, Ruby, Python, VB, Perl

Connection Pool

Authentication – Thread Reuse – Connection Limits – Check Memory – Caches

Page 15: MySQL: o banco de dados open source mais popular do mundo

Uso da Memória Disponível

- Sistema de caches padão na indústria:

- dados

- índices

- Main memory tables & standard disk tables

- como parte do Schema (NDB)

- aquecimento (warm up)

- Query cache

- projetado para aplicações Web: queries repetitivas

- armazena query e result set, aliviando o uso de CPU

Page 16: MySQL: o banco de dados open source mais popular do mundo

NoSQL com Memcached API acessando InnoDB,

otimizador melhorado,

store engines mais inteligentes,

melhor instrumentação...

labs.mysql.com

MySQL Server 5.6 DM DEVELOPMENT

MILESTONE

Page 17: MySQL: o banco de dados open source mais popular do mundo

Development Milestone Releases

dev.mysql.com/downloads

Page 19: MySQL: o banco de dados open source mais popular do mundo

Baixo custo total de propriedade

- Modelo Open Source

- Hardware commodity

- Escalabiliade horizontal e incremental

- Fácil manutenção

- Edição Enterprise com excelente TCO

Page 20: MySQL: o banco de dados open source mais popular do mundo

Menor TCO

mysql.com/tco

Custo Total de Propriedade

até 96% menor que o

SQL Server 2012.

Page 22: MySQL: o banco de dados open source mais popular do mundo

Desafio de manter a performance

- mudanças rápidas exigidas pelo mercado:

- consumidor ou concorrência

- crescimento acelerado: conexões e volume de dados

Como manter a mesma performance tanto para

LEITURAS quanto para ESCRITAS?

Page 23: MySQL: o banco de dados open source mais popular do mundo

1. Operação de Escrita

Aplicação

2. Mudanças

escritas no binlog

Replicação MySQL: como funciona 1/3

4. SQL Thread

aplica mudanças

do relaylog para o

MySQL

3. I/O Thread copia

mudanças do binlog

para relaylog

Master Slave

• Recurso nativo do MySQL

• Slave adiciona carga mínima ao Master

Page 24: MySQL: o banco de dados open source mais popular do mundo

Aplicação

Replicação MySQL: como funciona 2/3

Master Slave

• Modelo Ativo-passivo

• Master: ativo

• Slave: passivo

Escritas & Leituras

Page 25: MySQL: o banco de dados open source mais popular do mundo

Aplicação

Replicação MySQL: como funciona 3/3

Master Slave

Escritas & Leituras

• Fail-over

• Master: down

• Slave: ativo

Page 26: MySQL: o banco de dados open source mais popular do mundo

• Backup

• diminuir carga servidor

• atraso programado

• Análise

• Data Mart

• Data Warehouse

• Integração

• dataset completo

• dataset parcial

• Escalabilidade

• leitura intensiva (mais comum)

• escrita intensiva com particionamento ou outras topologias

Outros usos da replicação

Page 27: MySQL: o banco de dados open source mais popular do mundo

Aplicação

Replicação MySQL: como escalar 1/2

Master Slave

• Divisão de leituras e escritas (R/W Split)

• Modelo assíncrono (padrão)

• Modelo semi-síncrono (a partir da versão 5.5)

Escritas & Leituras Leituras

Page 28: MySQL: o banco de dados open source mais popular do mundo

Replicação MySQL: como escalar 2/2

Leituras Leituras

• Escreva para 1 Master

• Leia de vários Slaves, adicione mais quando necessário

• Perfeito para aplicações de leitura intensiva

Aplicação

Replicação MySQL

Load Balancer

Master Slave Slave

Escritas & Leituras

Page 29: MySQL: o banco de dados open source mais popular do mundo

Outras funcionalidades de alta performance

- Particionamento de dados

- separação dos dados e índices

- otimizador inteligente

- Suporte para vários tipos de dados: range, hash, lista,

caracter, numérico

- particionamento composto/sub particionamento: várias

colunas

- Utilitários e funcionalidades para ambientes de alta

performance

- Cargas paralelas de dados

- Suporte para vários tipos de indexação: clustered, full-text,

hash, spatial, b-tree

- Locking row-level com baixa contenção

Page 30: MySQL: o banco de dados open source mais popular do mundo

MySQL 5.5 SysBench Benchmarks

MySQL 5.1.40 (InnoDB built-in)

MySQL 5.1.40 (InnoDB Plug-in)

MySQL 5.5.4 (New InnoDB)

Intel Xeon X7460 x86_64

4 CPU x 6 Cores/CPU

2.66 GHz, 32GB RAM

Fedora 10

364% ganho de desempenho for MySQL 5.5 over 5.1.40; at scale

Page 31: MySQL: o banco de dados open source mais popular do mundo

MySQL 5.5 SysBench Benchmarks

Intel Xeon X7460 x86_64

4 CPU x 6 Cores/CPU

2.66 GHz, 32GB RAM

Fedora 10

MySQL 5.1.40 (InnoDB built-in)

MySQL 5.1.40 (InnoDB Plug-in)

MySQL 5.5.4 (New InnoDB)

200% ganho de desempenho for MySQL 5.5 over 5.1.40; at scale

Page 33: MySQL: o banco de dados open source mais popular do mundo

Confiabilidade: Robustez

- Oracle QA

- processo

- testes

- Modelo Open Source

- labs.mysql.com

- comunidade numerosa e atuante

Page 34: MySQL: o banco de dados open source mais popular do mundo

Confiabilidade: Segurança

- Autenticação e autorização com altra granularidade

- Capacidade de bloquear usuários por cliente

- Framework de privilégios por objetos do schema

- Suporte SSH e SSL

- Funções de criptografia

- Ferramentas de Backup & Recovery

- mysqldump

- MySQL Enterprise Backup

Page 35: MySQL: o banco de dados open source mais popular do mundo

Alta disponibilidade

Page 36: MySQL: o banco de dados open source mais popular do mundo

Alta disponibilidade

Page 38: MySQL: o banco de dados open source mais popular do mundo

LAMP Stack

Operating

System

Application

Server

Database

Scripting

L

A

M

P

Page 40: MySQL: o banco de dados open source mais popular do mundo

Facilidade de uso e administração

- Regra dos 15min

- Ainda mais rápido com Windows Installer

- Funcionalidades

- automatic space expansion

- auto-restart,

- dynamic configuration

- Ferramentas visuais

- Arquitetura flexível

- convite à experimentação

- permite inovação acelerada através de customizações

- Disponível para diversas plataformas e linguagens

Page 42: MySQL: o banco de dados open source mais popular do mundo

MySQL, SaaS e Cloud Computing

- Diversos casos de sucesso SaaS

- RightNow, SugarCRM, Omniture, Supply Dynamics,

Workday, Zimbra

- Banco de dados mais popular nos serviços de

hospedagem

- PaaS

- caso Amazon RDS (Relational Database Service)

- Clouds Privadas

- Oracle Virtual Machine Templates

Page 44: MySQL: o banco de dados open source mais popular do mundo

MySQL Cluster

Alta Performance escalabilidade de escrita & baixíssima latência

Disponibilidade 99,999%

Flexibilidade vários métodos de acesso à dados (SQL+NoSQL)

Baixo TCO open source + hardware commodity

Page 45: MySQL: o banco de dados open source mais popular do mundo

Data Nodes

Node Group 1

F1

F3

Da

ta N

od

e

Node Group 2

F2

F4

Da

ta N

od

e

Cluster

Mgmt

MySQL Cluster: como funciona 1/3

Aplicação

Auto-Sharding

SQ

L N

od

e

ndb ndb

Page 46: MySQL: o banco de dados open source mais popular do mundo

Data Nodes

Node Group 1

F1

F3

F3

F1

No

de

1

No

de

2

Node Group 2

F2

F4

F4

F2

No

de

3

No

de

4

Application Nodes

Cluster

Mgmt

Cluster

Mgmt

LDAP REST

MySQL Cluster Application Nodes

NDB API

MySQL Cluster: como funciona 2/3

Replicação

Síncrona

Node Group 1 Node Group 2

Page 47: MySQL: o banco de dados open source mais popular do mundo

Node Group 1

F1

F3

F3

F1

No

de

1

No

de

2

Node Group 2

F2

F4

F4

F2

No

de

3

No

de

4

Application Nodes

Cluster

Mgmt

Cluster

Mgmt

LDAP REST

MySQL Cluster Application Nodes

NDB API

MySQL Cluster: como funciona 3/3

Replicação

Síncrona

Self-Healing Geo-Replicação

Node Group 1 Node Group 2

Page 48: MySQL: o banco de dados open source mais popular do mundo

MySQL Cluster 7.2: 1 Bilhão Queries por Minuto

0

200

400

600

800

1.000

1.200

2 4 8

Milh

ões

Número de Data Nodes

SELECT Queries / Minuto

0

20

40

60

80

100

120

4 8

Milh

ões

Número de Data Nodes

UPDATE Queries / Minuto

8 x Servidores Intel “Commodity”

2 x processadores 6-core 2.93GHz

x5670 (24 threads)

48GB RAM

Linux OS

Infiniband networking

flexAsynch benchmark

C++ NoSQL API (NDB API)

Page 49: MySQL: o banco de dados open source mais popular do mundo

“MySQL Cluster 7.1 gave us

the perfect combination of

extreme levels of transaction

throughput, low latency &

carrier-grade availability,

while reducing TCO”

Phani Naik, Pyro Group

mysql.com/customers

Caso de sucesso

Page 51: MySQL: o banco de dados open source mais popular do mundo

mysql.com/products

MONITOR

BACKUP

Produtos

MY ORACLE SUPPORT

KNOWLEDGE BASE MySQL

MySQL CONSULTATIVE SUPPORT

Page 53: MySQL: o banco de dados open source mais popular do mundo

MySQL Cluster 7.2

Os mesmos dados

podem ser acessados

simultaneamente via

SQL & NoSQL

Mais Flexibilidade

Page 54: MySQL: o banco de dados open source mais popular do mundo

MySQL 5.6: NotOnlySQL: Memcached API

Page 55: MySQL: o banco de dados open source mais popular do mundo

Ambiente de

desenvolvimento

MySQL em poucos minutos

Page 56: MySQL: o banco de dados open source mais popular do mundo

MySQL Database, Workbench,

Connectors, Exemplos…

MySQL Installer for Windows

dev.mysql.com/downloads

Page 57: MySQL: o banco de dados open source mais popular do mundo
Page 58: MySQL: o banco de dados open source mais popular do mundo
Page 59: MySQL: o banco de dados open source mais popular do mundo
Page 60: MySQL: o banco de dados open source mais popular do mundo
Page 61: MySQL: o banco de dados open source mais popular do mundo

• Connector/ODBC

• Connector/Net

• Connector/J

• Connector/MXJ

• Connector/C++

• Connector/C (era libmysql)

• Connector/OpenOffice

• libmysqld (embedded library)

• C API

• PHP API

• Perl API

• Python API

• Ruby APIs

• Tcl API

• Eiffel Wrapper

Connectors & APIs

• Connectors: conectividade ao MySQL para programas clientes

• APIs: acesso de baixo-nível ao protocolo MySQL e recursos do servidor.

dev.mysql.com/usingmysql

Page 62: MySQL: o banco de dados open source mais popular do mundo

Integração Visual Studio + MySQL via Connector/NET

Page 63: MySQL: o banco de dados open source mais popular do mundo

Profissionalizando o MySQL

Page 64: MySQL: o banco de dados open source mais popular do mundo

MySQL Enterprise Monitor

Page 65: MySQL: o banco de dados open source mais popular do mundo

• Visão única e consolidada em todo o ambiente MySQL

• Auto-descoberta dos servidores MySQL, topologias de replicação

• Regras personalizáveis de monitorização e alertas

• Identificação de problemas antes que eles ocorram

• Reduz o risco de inatividade

• Facilita “scale out” sem exigir mais DBAs

Assistente virtual do DBA MySQL!

MySQL Enterprise Monitor

http://mysql.com/trials/

Page 66: MySQL: o banco de dados open source mais popular do mundo

MEB: Backups

Backups são até 3.5x mais rápidos do que mysqldump

Page 67: MySQL: o banco de dados open source mais popular do mundo

MEB: Restores

Restore é até 16x mais rápido do que mysqldump

- mysqldump performance não é linear (mais tables/indexes impacta na performance)

- MySQL Enterprise performance é quase linear

Page 68: MySQL: o banco de dados open source mais popular do mundo

MEB: Compressão do Backup

O tamanho do Backup é reduzido de 65% até 93%

Page 69: MySQL: o banco de dados open source mais popular do mundo

Operações de

Alta Disponibilidade

• Persistência

de Disco

• Consistência de

Configuração

• Agente de

Operação de Alta

Disponibilidade

MySQL Cluster Manager

Gerenciamento

Automatizado

• Gestão de

Todo Cluster

• Gerenciamento de

Processos

• Operações On-line

(Reconfiguração

/Upgrade)

Monitoramento

• Monitoramento do

Estado &

Recuperação

Page 70: MySQL: o banco de dados open source mais popular do mundo

Como o MySQL Cluster Manager Ajuda?

Examplo: Upgrade do MySQL Cluster 6.3 to 7.1

• 1 x verificação preliminar do estado do Cluster

• 8 x comandos ssh por servidor

• 8 x comandos stop por processo

• 4 x edições dos arquivos de configuaração (2 x

mgmd & 2 x mysqld)

• 8 x comandos start por processo

• 8 x verificações do processo start e re-joined

• 8 x verificações de processos completos

• 1 x verificação de todo o cluster.

• Reedição manual de cada arquivo de configuração.

Total: 46 comandos – 2h30min. de interação

Sem MySQL Cluster Manager Com MySQL Cluster Manager

upgrade cluster --package=7.1 mycluster;

Total: 1 Comando

Resultados Redução de overhead e simplificação de

administração.

Reduz risco de downtime por erro do

administrador.

Page 71: MySQL: o banco de dados open source mais popular do mundo

Integração de produtos

Oracle GoldenGate

Oracle Enterprise Linux + Oracle VM

Certificação Oracle Fusion Middleware

Oracle Secure Backup

Certificação Oracle Clusterware (em progresso)

Oracle Audit Vault (em progresso)

Oracle Enterprise Manager (em progresso)

+

Page 72: MySQL: o banco de dados open source mais popular do mundo

Treinamentos e Certificações MySQL

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

Treinamentos Certificações

Opcional

Necessário

education.oracle.com

Page 73: MySQL: o banco de dados open source mais popular do mundo

Downloads & Trials

dev.mysql.com

edelivery.oracle.com

Documentação, Blogs & Fóruns

dev.mysql.com/doc

planet.mysql.com

forums.mysql.com

Artigos & Casos de Sucesso

mysql.com/why-mysql/white-papers

mysql.com/customers

Links

Page 74: MySQL: o banco de dados open source mais popular do mundo

MySQL no Windows

24-mai-2012 15h00

Inscreva-se: http://bit.ly/Jgjzw0

Page 75: MySQL: o banco de dados open source mais popular do mundo

Sumário

9 dos 10 websites mais acessados na Internet usam MySQL. Há

pelo menos 10 boas razões para isso, conforme vimos nesta

apresentação.

Baixe e instale um ambiente de desenvolvimento completo em

menos de 10min.

Profissionalize o uso do MySQL com cursos oficiais Oracle,

certificações e oferta Enterprise.

O MySQL é o Banco de Dados Open Source mais popular do

mundo e estamos trabalhando para um MySQL ainda melhor!

Page 76: MySQL: o banco de dados open source mais popular do mundo

Obrigado!

Twitter

@MySQLBR