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

5,473 views
5,317 views

Published on

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

Published in: Technology
1 Comment
2 Likes
Statistics
Notes
  • Ótima apresentação, que além das informações sobre as features do produto, estas que o tornam altamente recomendado para o ambiente Web, também mostra que ele está muito bem posicionado no mercado, sendo utilizado por empresas consagradíssimas como Facebook, Google, Twitter, Alcatel-Lucent, Banco do Brasil, Vivo, Bradesco e várias outras. Que venha o MySQL 5.6!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
5,473
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
162
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

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

  1. 1. MySQL<Insert Picture Here> O Banco de Dados Open Source mais popular do mundo Airton Lastori airton.lastori@oracle.com mai-2012
  2. 2. Alguns clientes
  3. 3. Top websites fonte: alexa.com/topsites 10-mai-2012
  4. 4. 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
  5. 5. Por que o MySQL é a escolhapara aplicações Web destas e de milhares de outras empresas?
  6. 6. Agenda• história do MySQL• razões para utilizar MySQL em web apps• ambiente de desenvolvimento MySQL• uso profissional e certificado do MySQL
  7. 7. MySQLuma história de sucesso
  8. 8. Conhecendo melhor o MySQL Nome MySQL dado pelo co- MySQL fundador Cluster é Monty adquirido da Sun Widenius, Ericsson Microsystems éMyISAM surge a pela MySQL adquirida pelae mSQL MySQL AB AB Oracle Nova interface Cresce o MySQL AB é SQL com ecosistema adquirida pela arquitetura MySQL, Sun mais flexível pautado no Microsystems modelo open source
  9. 9. razões para utilizar o MySQL em web apps
  10. 10. Por que MySQL é muito utilizado? 1. MySQL: projetado para a Web 2. baixo TCO 3. performance & escalabilidade 4. confiabilidade & disponibilidade 5. LAMP stack 6. facilidade de uso & administração 7. a melhor escolha para SaaS & cloud 8. MySQL Cluster para serviços Web de escala 9. MySQL Enterprise Edition da Oracle 10. MySQL & NoSQLhttp://www.mysql.com/why-mysql/white-papers/mysql-wp-top10-webbased-apps.php
  11. 11. Por que MySQL é muito utilizado? 1. MySQL: projetado para a Web 2. baixo TCO 3. performance & escalabilidade 4. confiabilidade & disponibilidade 5. LAMP stack 6. facilidade de uso & administração 7. a melhor escolha para SaaS & cloud 8. MySQL Cluster para serviços Web de escala 9. MySQL Enterprise Edition da Oracle 10. MySQL & NoSQLhttp://www.mysql.com/why-mysql/white-papers/mysql-wp-top10-webbased-apps.php
  12. 12. Arquitetura MySQL ServerMySQL Server ConnectorsClients and Apps Native C API, JDBC, ODBC, .Net, PHP, Ruby, Python, VB, PerlEnterprise Management Services and Utilities Connection Pool Authentication – Thread Reuse – Connection Limits – Check Memory – Caches Backup & Recovery Security Replication SQL Interface Parser Optimizer Caches Cluster Partitioning DDL, DML, Stored Query Translation, Access Paths, Global and Engine Instance Manager Procedures, Views, Object Privileges Statistics Specific Caches and Information_Schema Triggers, Etc.. Buffers MySQL Workbench Pluggable Storage Engines Memory, Index and Storage Management InnoDB MyISAM Cluster Etc… Partners Community More.. Filesystems, Files and Logs Redo, Undo, Data, Index, Binary, Error, Query and Slow
  13. 13. 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
  14. 14. 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
  15. 15. 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
  16. 16. MySQL Server 5.6 DM DEVELOPMENT MILESTONENoSQL com Memcached API acessando InnoDB, otimizador melhorado, store engines mais inteligentes, melhor instrumentação... labs.mysql.com
  17. 17. Development Milestone Releases dev.mysql.com/downloads
  18. 18. Por que MySQL é muito utilizado? 1. MySQL: projetado para a Web 2. baixo TCO 3. performance & escalabilidade 4. confiabilidade & disponibilidade 5. LAMP stack 6. facilidade de uso & administração 7. a melhor escolha para SaaS & cloud 8. MySQL Cluster para serviços Web de escala 9. MySQL Enterprise Edition da Oracle 10. MySQL & NoSQLhttp://www.mysql.com/why-mysql/white-papers/mysql-wp-top10-webbased-apps.php
  19. 19. Baixo custo total de propriedade- Modelo Open Source- Hardware commodity- Escalabiliade horizontal e incremental- Fácil manutenção- Edição Enterprise com excelente TCO
  20. 20. Menor TCO Custo Total de Propriedade até96 % menor que o SQL Server 2012. 
 mysql.com/tco
  21. 21. Por que MySQL é muito utilizado? 1. MySQL: projetado para a Web 2. baixo TCO 3. performance & escalabilidade 4. confiabilidade & disponibilidade 5. LAMP stack 6. facilidade de uso & administração 7. a melhor escolha para SaaS & cloud 8. MySQL Cluster para serviços Web de escala 9. MySQL Enterprise Edition da Oracle 10. MySQL & NoSQLhttp://www.mysql.com/why-mysql/white-papers/mysql-wp-top10-webbased-apps.php
  22. 22. 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?
  23. 23. Replicação MySQL: como funciona 1/3 Aplicação 1. Operação de Escrita Master Slave 3. I/O Thread copia mudanças do binlog 2. Mudanças para relaylogescritas no binlog 4. SQL Thread aplica mudanças do relaylog para o MySQL • Recurso nativo do MySQL • Slave adiciona carga mínima ao Master
  24. 24. Replicação MySQL: como funciona 2/3 Aplicação Escritas & Leituras Master Slave • Modelo Ativo-passivo • Master: ativo • Slave: passivo
  25. 25. Replicação MySQL: como funciona 3/3 Aplicação Escritas & Leituras Master Slave • Fail-over • Master: down • Slave: ativo
  26. 26. Outros usos da replicação• 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
  27. 27. Replicação MySQL: como escalar 1/2 Aplicação Escritas & Leituras Leituras 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)
  28. 28. Replicação MySQL: como escalar 2/2 Aplicação Load Balancer Escritas & Leituras Leituras Leituras Master Slave Slave Replicação MySQL • Escreva para 1 Master • Leia de vários Slaves, adicione mais quando necessário • Perfeito para aplicações de leitura intensiva
  29. 29. 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
  30. 30. MySQL 5.5 SysBench Benchmarks MySQL 5.5.4 (New InnoDB) MySQL 5.1.40 (InnoDB Plug-in) MySQL 5.1.40 (InnoDB built-in)364% ganho de desempenho Intel Xeon X7460 x86_64 4 CPU x 6 Cores/CPU 2.66 GHz, 32GB RAM for MySQL 5.5 over 5.1.40; at scale Fedora 10
  31. 31. MySQL 5.5 SysBench Benchmarks MySQL 5.5.4 (New InnoDB) MySQL 5.1.40 (InnoDB Plug-in) MySQL 5.1.40 (InnoDB built-in)200% ganho de desempenho Intel Xeon X7460 x86_64 4 CPU x 6 Cores/CPU for MySQL 5.5 over 5.1.40; at scale 2.66 GHz, 32GB RAM Fedora 10
  32. 32. Por que MySQL é muito utilizado? 1. MySQL: projetado para a Web 2. baixo TCO 3. performance & escalabilidade 4. confiabilidade & disponibilidade 5. LAMP stack 6. facilidade de uso & administração 7. a melhor escolha para SaaS & cloud 8. MySQL Cluster para serviços Web de escala 9. MySQL Enterprise Edition da Oracle 10. MySQL & NoSQLhttp://www.mysql.com/why-mysql/white-papers/mysql-wp-top10-webbased-apps.php
  33. 33. Confiabilidade: Robustez- Oracle QA - processo - testes- Modelo Open Source - labs.mysql.com - comunidade numerosa e atuante
  34. 34. 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
  35. 35. Alta disponibilidade
  36. 36. Alta disponibilidade
  37. 37. Por que MySQL é muito utilizado? 1. MySQL: projetado para a Web 2. baixo TCO 3. performance & escalabilidade 4. confiabilidade & disponibilidade 5. LAMP stack 6. facilidade de uso & administração 7. a melhor escolha para SaaS & cloud 8. MySQL Cluster para serviços Web de escala 9. MySQL Enterprise Edition da Oracle 10. MySQL & NoSQLhttp://www.mysql.com/why-mysql/white-papers/mysql-wp-top10-webbased-apps.php
  38. 38. LAMP StackOperatingSystem LApplicationServer ADatabase MScripting P
  39. 39. Por que MySQL é muito utilizado? 1. MySQL: projetado para a Web 2. baixo TCO 3. performance & escalabilidade 4. confiabilidade & disponibilidade 5. LAMP stack 6. facilidade de uso & administração 7. a melhor escolha para SaaS & cloud 8. MySQL Cluster para serviços Web de escala 9. MySQL Enterprise Edition da Oracle 10. MySQL & NoSQLhttp://www.mysql.com/why-mysql/white-papers/mysql-wp-top10-webbased-apps.php
  40. 40. 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
  41. 41. Por que MySQL é muito utilizado? 1. MySQL: projetado para a Web 2. baixo TCO 3. performance & escalabilidade 4. confiabilidade & disponibilidade 5. LAMP stack 6. facilidade de uso & administração 7. a melhor escolha para SaaS & cloud 8. MySQL Cluster para serviços Web de escala 9. MySQL Enterprise Edition da Oracle 10. MySQL & NoSQLhttp://www.mysql.com/why-mysql/white-papers/mysql-wp-top10-webbased-apps.php
  42. 42. 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
  43. 43. Por que MySQL é muito utilizado? 1. MySQL: projetado para a Web 2. baixo TCO 3. performance & escalabilidade 4. confiabilidade & disponibilidade 5. LAMP stack 6. facilidade de uso & administração 7. a melhor escolha para SaaS & cloud 8. MySQL Cluster para serviços Web de escala 9. MySQL Enterprise Edition da Oracle 10. MySQL & NoSQLhttp://www.mysql.com/why-mysql/white-papers/mysql-wp-top10-webbased-apps.php
  44. 44. MySQL ClusterAlta Performanceescalabilidade de escrita & baixíssima latênciaDisponibilidade99,999%Flexibilidadevários métodos de acesso à dados (SQL+NoSQL)Baixo TCOopen source + hardware commodity
  45. 45. MySQL Cluster: como funciona 1/3 Aplicação SQL Node Auto-Sharding Node Group 1 Node Group 2 ndb ndbClusterMgmt Data Node Data Node F1 F2 F3 F4 Data Nodes
  46. 46. MySQL Cluster: como funciona 2/3MySQL ClusterApplication Nodes NDB API REST LDAP Application Nodes Node Group 11 Node Group Node Group 2 2 Node Group Node 1 Node 3 Cluster F1 F2 Cluster Mgmt Mgmt F3 Replicação F4 Síncrona Node 2 Node 4 F3 F4 F1 F2 Data Nodes
  47. 47. MySQL Cluster: como funciona 3/3MySQL ClusterApplication Nodes NDB API REST LDAP Application Nodes Self-Healing Node Group 11 Node Group Geo-Replicação Node Group 2 2 Node Group Node 1 Node 3 Cluster F1 F2 Cluster Mgmt Mgmt F3 Replicação F4 Síncrona Node 2 Node 4 F3 F4 F1 F2
  48. 48. MySQL Cluster 7.2: 1 Bilhão Queries por Minuto SELECT Queries / Minuto UPDATE Queries / Minuto 120 1.200 1.000 100 800 80 Milhões Milhões 600 60 400 40 200 20 0 0 2 4 8 4 8 Número de Data Nodes Número de Data Nodes 8 x Servidores Intel “Commodity” Infiniband networking 2 x processadores 6-core 2.93GHz flexAsynch benchmark x5670 (24 threads) C++ NoSQL API (NDB API) 48GB RAM Linux OS
  49. 49. Caso de sucesso “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
  50. 50. Por que MySQL é muito utilizado? 1. MySQL: projetado para a Web 2. baixo TCO 3. performance & escalabilidade 4. confiabilidade & disponibilidade 5. LAMP stack 6. facilidade de uso & administração 7. a melhor escolha para SaaS & cloud 8. MySQL Cluster para serviços Web de escala 9. MySQL Enterprise Edition da Oracle 10. MySQL & NoSQLhttp://www.mysql.com/why-mysql/white-papers/mysql-wp-top10-webbased-apps.php
  51. 51. Produtos mysql.com/products MY ORACLE SUPPORT KNOWLEDGE BASE MySQL MONITOR MySQL CONSULTATIVE SUPPORT BACKUP
  52. 52. Por que MySQL é muito utilizado? 1. MySQL: projetado para a Web 2. baixo TCO 3. performance & escalabilidade 4. confiabilidade & disponibilidade 5. LAMP stack 6. facilidade de uso & administração 7. a melhor escolha para SaaS & cloud 8. MySQL Cluster para serviços Web de escala 9. MySQL Enterprise Edition da Oracle 10. MySQL & NoSQLhttp://www.mysql.com/why-mysql/white-papers/mysql-wp-top10-webbased-apps.php
  53. 53. Mais Flexibilidade MySQL Cluster 7.2 Os mesmos dados podem ser acessados simultaneamente via SQL & NoSQL
  54. 54. MySQL 5.6: NotOnlySQL: Memcached API
  55. 55. Ambiente de desenvolvimentoMySQL em poucos minutos
  56. 56. MySQL Installer for Windows MySQL Database, Workbench, Connectors, Exemplos… dev.mysql.com/downloads
  57. 57. Connectors & APIs• Connector/ODBC • C API• Connector/Net • PHP API• Connector/J • Perl API• Connector/MXJ • Python API• Connector/C++ • Ruby APIs• Connector/C (era libmysql) • Tcl API• Connector/OpenOffice • Eiffel Wrapper• libmysqld (embedded library)• Connectors: conectividade ao MySQL para programas clientes• APIs: acesso de baixo-nível ao protocolo MySQL e recursos do servidor. dev.mysql.com/usingmysql
  58. 58. Integração Visual Studio + MySQLvia Connector/NET
  59. 59. Profissionalizando o MySQL
  60. 60. MySQL Enterprise Monitor
  61. 61. MySQL Enterprise Monitor• 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! http://mysql.com/trials/
  62. 62. MEB: BackupsBackups são até 3.5x mais rápidos do que mysqldump
  63. 63. 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
  64. 64. MEB: Compressão do BackupO tamanho do Backup é reduzido de 65% até 93%
  65. 65. MySQL Cluster Manager Gerenciamento Operações de Monitoramento Automatizado Alta Disponibilidade • Gestão de • Monitoramento do • Persistência Todo Cluster Estado & de Disco Recuperação• Gerenciamento de • Consistência de Processos Configuração• Operações On-line (Reconfiguração • Agente de /Upgrade) Operação de Alta Disponibilidade
  66. 66. Como o MySQL Cluster Manager Ajuda? Examplo: Upgrade do MySQL Cluster 6.3 to 7.1 Sem MySQL Cluster Manager Com MySQL Cluster Manager• 1 x verificação preliminar do estado do Cluster upgrade cluster --package=7.1 mycluster;• 8 x comandos ssh por servidor Total: 1 Comando• 8 x comandos stop por processo• 4 x edições dos arquivos de configuaração (2 x Resultados mgmd & 2 x mysqld) Redução de overhead e simplificação de• 8 x comandos start por processo administração.• 8 x verificações do processo start e re-joined Reduz risco de downtime por erro do• 8 x verificações de processos completos administrador.• 1 x verificação de todo o cluster.• Reedição manual de cada arquivo de configuração.Total: 46 comandos – 2h30min. de interação
  67. 67. Integração de produtosOracle GoldenGateOracle Enterprise Linux + Oracle VMCertificação Oracle Fusion MiddlewareOracle Secure BackupCertificação Oracle Clusterware (em progresso) +Oracle Audit Vault (em progresso)Oracle Enterprise Manager (em progresso)
  68. 68. Treinamentos e Certificações MySQL Treinamentos Certificações MySQL DBA MySQLDeveloperMySQL Boot Camp MySQL Boot Camp Accelerated AcceleratedMySQL Performance MySQL Performance Tuning Boot Camp Tuning Boot Camp Accelerated AcceleratedMySQL for Begginers MySQL for BegginersMySQL for Database MySQL and PHP Administrators Developing Dynamic Web ApplicationgMySQL Performance Tuning MySQL for Developers MySQL High MySQL Advanced Opcional Availability Stored Procedures Necessário MySQL Cluster education.oracle.com
  69. 69. Links 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
  70. 70. MySQL no Windows24-mai-2012 15h00 Inscreva-se: http://bit.ly/Jgjzw0
  71. 71. Sumário9 dos 10 websites mais acessados na Internet usam MySQL. Hápelo menos 10 boas razões para isso, conforme vimos nestaapresentação.Baixe e instale um ambiente de desenvolvimento completo emmenos 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 domundo e estamos trabalhando para um MySQL ainda melhor!
  72. 72. Obrigado! Twitter@MySQLBR

×