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

3.219 visualizações

Publicada em

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

Sem downloads
Visualizações
Visualizações totais
3.219
No SlideShare
0
A partir de incorporações
0
Número de incorporações
49
Ações
Compartilhamentos
0
Downloads
134
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no 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 set-2011
  2. 2. The preceding is intended to outline ourgeneral product direction. It is intended forinformation purposes only, and may not beincorporated into any contract. It is not acommitment to deliver any material, code, orfunctionality, and should not be relied upon inmaking purchasing decisions.The development, release, and timing of anyfeatures or functionality described forOracle’s products remains at the solediscretion of Oracle.
  3. 3. Alguns clientes
  4. 4. Top websites fonte: alexa.com/topsites 17-ago-2011
  5. 5. Quem usa MySQL – Top 10 Websites 1.Google 2.Facebook 3.Youtube 4.Yahoo! 5.Blogger.com 6.Baidu.com 7.Wikipedia 8.Windows Live 9.Twitter 10.QQ.com fonte: alexa.com/topsites 17-ago-2011
  6. 6. dúvida:Por que o MySQL é a escolhapara aplicações Web destas e de milhares de outras empresas?
  7. 7. Agenda• história do MySQL• razões para utilizar MySQL em web apps• como alguns clientes implantam o MySQL• uso profissional e certificado do MySQL
  8. 8. MySQLuma história de sucesso
  9. 9. 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
  10. 10. razões para utilizar o MySQL em web apps
  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. Por que MySQL é muito utilizado?1. MySQL: projetado para a Web2. baixo TCO3. performance & escalabilidade4. confiabilidade & disponibilidade5. LAMP stack6. facilidade de uso & administração7. a melhor escolha para SaaS & cloud8. MySQL Cluster para serviços Web de escala9. MySQL Enterprise Edition da Oracle10. MySQL & NoSQL
  13. 13. 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
  14. 14. 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
  15. 15. 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
  16. 16. 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
  17. 17. MySQL Server 5.6 DM DEVELOPMENT MILESTONENoSQL com Memcached API acessando InnoDB, otimizador melhorado, store engines mais inteligentes, melhor instrumentação... labs.mysql.com
  18. 18. Por que MySQL é muito utilizado?1. MySQL: projetado para a Web2. baixo TCO3. performance & escalabilidade4. confiabilidade & disponibilidade5. LAMP stack6. facilidade de uso & administração7. a melhor escolha para SaaS & cloud8. MySQL Cluster para serviços Web de escala9. MySQL Enterprise Edition da Oracle10. MySQL & NoSQL
  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. MySQL vs MS-SQL Server Duração • 3 anos Configuração e hardware • Web application (Unlimited Users) • Windows • Intel x86 • Servers: 4 • CPUs/Server: 4 • Cores/CPU: 4 mysql.com/tcosavings
  21. 21. Por que MySQL é muito utilizado?1. MySQL: projetado para a Web2. baixo TCO3. performance & escalabilidade4. confiabilidade & disponibilidade5. LAMP stack6. facilidade de uso & administração7. a melhor escolha para SaaS & cloud8. MySQL Cluster para serviços Web de escala9. MySQL Enterprise Edition da Oracle10. MySQL & NoSQL
  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 possibilita escalabilidade Aplicação Load Balancer Writes & Reads Reads Reads Replicação MySQL • Escreva para 1 Master • Leia de vários Slaves, adicione mais quando necessário • Perfeito para aplicações de leitura intensiva
  24. 24. 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
  25. 25. MySQL 5.5 SysBench Benchmarks GA 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
  26. 26. MySQL 5.5 SysBench Benchmarks GA 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
  27. 27. Por que MySQL é muito utilizado?1. MySQL: projetado para a Web2. baixo TCO3. performance & escalabilidade4. confiabilidade & disponibilidade5. LAMP stack6. facilidade de uso & administração7. a melhor escolha para SaaS & cloud8. MySQL Cluster para serviços Web de escala9. MySQL Enterprise Edition da Oracle10. MySQL & NoSQL
  28. 28. Confiabilidade: Robustez- Oracle QA - processo - testes- Modelo Open Source - labs.mysql.com - comunidade numerosa e atuante
  29. 29. 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
  30. 30. Alta disponibilidade Clustering & Redundância Geográfica Custo & Complexidade Clustering & Virtualização Replicação ISPs & On-Line eCommerce Corporativo Services Telecoms Militar 9 9 .. 9 9 9 35 dias 4 days 4 dias 8 horas 50 min 5 min %
  31. 31. Alta disponibilidade Clustering & Redundância Geográfica Custo & Complexidade Clustering & Virtualização Oracle Clusterware Replicação 3rd Party Solutions Replicação ISPs & On-Line eCommerce Corporativo Services Telecoms Militar 9 9 .. 9 9 9 35 dias 4 days 4 dias 8 horas 50 min 5 min %
  32. 32. MySQL e Oracle Virtual Machine Oracle VM Oracle VM Automatic Fault Detection & Recovery Secure Live Migration (SSL) Oracle VM Server Pool Oracle VM Manager Oracle VM Servers ocfs2 FalhasEventos Planejados: SAN / iSCSI • Server, VM or database failure• Maintenance or • HA Auto-restart in upgrades pool• Secure Live Migration • Automatic failure• Zero interruption detection & recovery
  33. 33. MySQL e Windows Clustering Slave App App App Virtual IP Vote Data Bin
  34. 34. Por que MySQL é muito utilizado?1. MySQL: projetado para a Web2. baixo TCO3. performance & escalabilidade4. confiabilidade & disponibilidade5. LAMP stack6. facilidade de uso & administração7. a melhor escolha para SaaS & cloud8. MySQL Cluster para serviços Web de escala9. MySQL Enterprise Edition da Oracle10. MySQL & NoSQL
  35. 35. LAMP StackOperatingSystem LApplicationServer ADatabase MScripting P
  36. 36. Por que MySQL é muito utilizado?1. MySQL: projetado para a Web2. baixo TCO3. performance & escalabilidade4. confiabilidade & disponibilidade5. LAMP stack6. facilidade de uso & administração7. a melhor escolha para SaaS & cloud8. MySQL Cluster para serviços Web de escala9. MySQL Enterprise Edition da Oracle10. MySQL & NoSQL
  37. 37. 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
  38. 38. Por que MySQL é muito utilizado?1. MySQL: projetado para a Web2. baixo TCO3. performance & escalabilidade4. confiabilidade & disponibilidade5. LAMP stack6. facilidade de uso & administração7. a melhor escolha para SaaS & cloud8. MySQL Cluster para serviços Web de escala9. MySQL Enterprise Edition da Oracle10. MySQL & NoSQL
  39. 39. 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
  40. 40. Por que MySQL é muito utilizado?1. MySQL: projetado para a Web2. baixo TCO3. performance & escalabilidade4. confiabilidade & disponibilidade5. LAMP stack6. facilidade de uso & administração7. a melhor escolha para SaaS & cloud8. MySQL Cluster para serviços Web de escala9. MySQL Enterprise Edition da Oracle10. MySQL & NoSQL
  41. 41. MySQL ClusterAlta Performanceescalabilidade de escrita & baixíssima latênciaDisponibilidade99,999%Flexibilidadevários métodos de acesso à dados (SQL+NoSQL)Baixo TCOopen source + hardware commodity
  42. 42. Arquitetura MySQL ClusterMySQL ClusterApplication Nodes NDB API REST LDAP Application Nodes Node Group 1 Node Group 2 Node 1 Node 3 Cluster F1 F2 Cluster Mgmt Mgmt F3 F4 Node 2 Node 4 F3 F4 F1 F2 Data Nodes
  43. 43. Arquitetura MySQL ClusterMySQL ClusterApplication Nodes NDB API REST LDAP Application Nodes Node Group 1 Node Group 2 Node 1 Node 3 Cluster F1 F2 Cluster Mgmt Mgmt F3 F4 Node 2 Node 4 F3 F4 F1 F2 Data Nodes
  44. 44. Aplicações Web de Grande PorteVisão Detalhada
  45. 45. MySQL Cluster 7.1 Benchmarks Performance +4 Milhões de Queries por Segundo! • 8 servidores Intel commodity • CPU 2.93GHz, 6 core Intel • 24GB RAM cada • 2 Data Nodes por servidor Escalabilidade horizontal em hardware commodity • Com 16 servidores, chegou-se a 6,82 Milhões QPS • baixo TCO Resultados confirmados • mikaelronstrom.blogspot.com • Iniciativa independente • 2 dias de testes
  46. 46. MySQL Cluster 7.2 DM DEVELOPMENT MILESTONEAdaptative Query Localization• Alguns Joins executados nos Data Nodes• Ganhos de performance de 50xMais flexibilidade• Adição de até 512 colunas e online• User Tables no Cluster“Docudesk relies on MySQL Cluster to support ourDocQ SaaS offering which demands high updaterates, low latency and continuous availability fromthe database. Testing of Adaptive QueryLocalization has yielded over 20x higherperformance on complex queries within ourapplication, enabling Docudesk to expand our useof MySQL Cluster into a broader range of highlydynamic web services.” --Casey Brown
  47. 47. 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
  48. 48. Por que MySQL é muito utilizado?1. MySQL: projetado para a Web2. baixo TCO3. performance & escalabilidade4. confiabilidade & disponibilidade5. LAMP stack6. facilidade de uso & administração7. a melhor escolha para SaaS & cloud8. MySQL Cluster para serviços Web de escala9. MySQL Enterprise Edition da Oracle10. MySQL & NoSQL
  49. 49. Produtos mysql.com/products MY ORACLE SUPPORT KNOWLEDGE BASE MySQL MONITOR MySQL CONSULTATIVE SUPPORT BACKUP
  50. 50. Por que MySQL é muito utilizado?1. MySQL: projetado para a Web2. baixo TCO3. performance & escalabilidade4. confiabilidade & disponibilidade5. LAMP stack6. facilidade de uso & administração7. a melhor escolha para SaaS & cloud8. MySQL Cluster para serviços Web de escala9. MySQL Enterprise Edition da Oracle10. MySQL & NoSQL
  51. 51. MySQL 5.6: NotOnlySQL: Memcached API
  52. 52. Mais Flexibilidade MySQL Cluster 7.2 Os mesmos dados podem ser acessados simultaneamente via SQL & NoSQL
  53. 53. MySQL Cluster 7.2: NotOnlySQL: Memcached API • Construa serviços de escrita intensiva e de alta disponibilidade com MySQL Cluster back-end • Acessados via memcached API • Consolide as camadas de caching e database • Use clientes memcached existentes evitando mudanças nas aplicações • Suporte para cargas altas de updates, elimine cache invalidation • High Availability data store escalável e persistente • Reúso simplificado dos dados ao longo dos serviços • Implementação • NDB plug-in para memcached server • Acesso direto à API NDB
  54. 54. estudos de casos
  55. 55. Clients Replicação do MySQL ServerMaster Slaves WRITES READS
  56. 56. Caso de sucesso Wikipedia Benefício-chave • O MySQL permite economias significativas com custos de hardware, adicionando novos servidores commodity de acordo com o necessário e de maneira incremental Por que MySQL? • Capacidade de escalar conforme necessidade e de maneira incremental • Baixos custos e flexibilidade mysql.com/customers
  57. 57. Relays: aplicações de leitura intensivaMaster Clients SlaveReadsWrites Master Relay Slaves
  58. 58. Sharding: aplicações de escrita intensivaMaster Clients SlaveReadsWrites Partitioning Logic 1 2 3 4 5 Shards Slaves
  59. 59. Caso de sucesso Benefícios-chave • Flexibilidade para escolher o hardware • Implementação incremental • Simplicidade e facilidade de uso • Por que MySQL? • Capacidade de escalar para 5 bilhões de page views por mês, gerando 1 escrita para cada 1,4 leituras • Flexibilidade para crescer de maneira incremental e com baixos custos mysql.com/customers
  60. 60. arquiteturas mistas
  61. 61. Escalabilidade: horizontal vs verticalScale Out Scale UpCommodity Intel / AMD Hardware proprietário (SMP)Software open source Software proprietário ou openLiberdade de plataforma sourceAdiciona mais servidores para Amarrado à plataforma aumentar performance “Empilhamento” para aumentar performance
  62. 62. MySQL + Oracle Frontend Web Servers DBAs MySQL ClusterCustomers Sysadmins Web Servers Enterprise Manager MySQL (InnoDB) Audit Vault Distributed Caching Secure Backup MySQL (MyISAM) Application ServersEmployees Application Integration ETL/Data Integration Backend ERP CRM Oracle Exadata Oracle MySQLSuppl. Intranet Apps Oracle RAC Oracle RAC
  63. 63. Caso de sucesso Benefícios-chave • Ao migrar do Microsoft SQL Server para MySQL+Oracle, foi possível escalar 4 vezes mais e crescer a base de usuários de 10 milhões para 100 milhões Por que MySQL+Oracle? • "At Ticketmaster, we use MySQL and Oracle to complement each other. The end result is a highly-distributed, optimal- performing database environment that powers one of the largest e-commerce and ticketing sites in the world.” Ed Presz – Sr. Director Database Engineering Ticketmaster/Live Nation Entertainment, Inc. mysql.com/customers
  64. 64. Caso de sucesso Benefícios-chave • Sistema escalável, de baixo custo e personalizado para atender necessidades de gerenciamento de sessão. • Gerencia 4 bilhões de request por dia numa razão 50/50 entre leituras e escritas. Por que MySQL+Oracle? • Custo • Performance: 13.000 TPS numa Sun Fire x4100 • Escalabilidade: desenhado para suportar crescimento futuro de 10x • Transações realizadas pelo Oracle Database mysql.com/customers
  65. 65. Ambiente de desenvolvimentoMySQL em poucos minutos
  66. 66. Profissionalizando o MySQL
  67. 67. MySQL Enterprise Monitor
  68. 68. 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/
  69. 69. MEB: Backups GABackups são até 3.5x mais rápidos do que mysqldump
  70. 70. MEB: Restores GA 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
  71. 71. MEB: Compressão do Backup GAO tamanho do Backup é reduzido de 65% até 93%
  72. 72. 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
  73. 73. 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
  74. 74. Integração de produtosem progressoOracle GoldenGate (GA)Oracle Enterprise Linux + Oracle VM (GA)Certificação Oracle ClusterwareCertificação Oracle Fusion MiddlewareOracle Secure Backup (GA) +Oracle Audit VaultOracle Enterprise Manager
  75. 75. 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
  76. 76. 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
  77. 77. Obrigado! Time MySQL Brasilmarcos.trujillo@oracle.com marcelo.t.souza@oracle.com ana.guiselini@oracle.com airton.lastori@oracle.com Twitter @MySQLBR

×