MySQL e Oracle - GUOB Tech Day 2012

1,148 views
1,057 views

Published on

Quando utilizar MySQL e quando utilizar Oracle Database? Nesta apresentação discutimos os tipos de aplicação e mercados onde o MySQL se destaca e vimos alguns casos de uso onde ambos SGBDs são combinados para complementar a camada de banco de dados.

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

No Downloads
Views
Total views
1,148
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
49
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

MySQL e Oracle - GUOB Tech Day 2012

  1. 1. 11 de Agosto de 2012 no Hotel Blue Tree Morumbi, São Paulo - SPMySQL + Oracle = Complementares Airton Lastori
  2. 2. <Insert Picture Here>
  3. 3. Oracle ou MySQL? 4
  4. 4. Foco MySQL – Áreas
  5. 5. MySQL em Aplicações Enterprise Aplicações Corporativas de Missão CríticaImportancia/Complexidade Finanças Globais, ERP, SCM, CRM, HR  Majority of New DB Applications Aplicações Críticas para o Negócio  Innovation & Impacto no negócio, Interdepartamentais Change  Ease of Use & Low Costs Aplicações Operacionais Paramount De suporte, Departamentais Corporativo Departamental 6
  6. 6. Resumo: onde o MySQL se encaixa• Novas aplicações e aplicações customizadas Ad-hoc • principalmente arquitetura Web (ex. LAMP stack) • arquiteturas inovadoras, NoSQL (versão 5.6 e Cluster 7.2)• Aplicações híbridas • expansão de sistemas legados • MySQL como front-end e Oracle DB como back-end• Online e SaaS • E-commerce/OLTP e pagamentos digitais • Gerenciamento de Conteúdo (CMS) • Redes Sociais, mensagens e colaboração • Games Sociais e MMO • Gerenciamento de Sessão e Autenticação do usuário• Datamarts e Relatórios Departamentais• SMS, e-marketing, Infra Telecom, Infra TI• Embarcadas 7
  7. 7. Alguns clientes Web & Enterprise OEM & ISVs Cloud 8
  8. 8. Várias Indústrias mysql.com/customers 9
  9. 9. Por que o MySQL é a escolhadestas e de milhares de outras empresas? 10
  10. 10. Portfolio Open Source (GPL)• MySQL Database (Community Server) 5.5.27 GA e 5.6.6 DMR• MySQL Cluster (NDB Community) 7.2.7 GA• MySQL Workbench Community Edition 5.2.40 GA • MySQL Utilities (em Python)• MySQL Connectors • ODBC, Java, .Net, C, C++, PHP, OpenOffice• MySQL Proxy 0.8.2 Alpha• Documentação: livre para uso, não coberto pela GPL• Forums dev.mysql.com/downloads 11
  11. 11. MySQL Enterprise Edition.Indicado para empresas ou pessoas físicas que pretendemaumentar produtividade, diminuir riscos e explorar mais afundo as capacidades do MySQL. Oracle Product Oracle Premier Certifications Support MySQL Enterprise MySQL Enterprise Backup Monitor/Query Analyzer MySQL Enterprise MySQL Enterprise Security Scalability MySQL Enterprise High Availability MySQL Workbench 12
  12. 12. Tipos de aplicação70%60%50%40%30%20% Enterprise10% Community0% 13
  13. 13. INVESTIMENTOS INIGUALÁVEIS InnoDB REPLICAÇÃO MELHORIAS DE PERFORMANCE EMBARCADO WINDOWS CENTENAS DE ESPECIALISTASCLOUD ESTRATÉGICOSUPORTE DE PRIMEIRA CLASSE WEB MySQL CLUSTER NoSQL LINUX MySQL ENTERPRISE EDITION MAIORES TIMES DE ENGENHARIA DO MySQL & ORGANIZAÇÃO DE SUPORTE 14
  14. 14. Evolução do MySQL Mais Versão 4. performance, drivers, MySQL Monty, Cluster é Sun engines. Microsystems éDavid e adquirido da Allan: GPL, LAMP Alzato- adquirida pelaUNIREG, Stack. Ericsson Oracle.MyISAM Cresce o pela MySQL Versão 5.5 ee mSQL. ecossistema. AB. Cluster 7.1. ’85… ’95… ’97… ’01… ’03… ’05… ’10… …’94 …’96 …’00 …’02 …’04 …’09 …’11 Interface SQL Versão 3. Versão 5. com Logo e InnoBase OY é Arquitetura website. adquirida pela Plugável. Oracle. InnoDB Surge a para MySQL AB é MySQL AB. transações adquirida pela ACID. Sun Vale do Microsystems. Silício. Ferramentas Enterprise. 15
  15. 15. Mais Lançamentos de Produtos do que Nunca Liderando a • MySQL Enterprise Backup 3.7 Inovação do MySQL • Oracle VM Template for MySQL Enterprise Edition• MySQL Enterprise Monitor 2.2 • MySQL Cluster 7.2: GA! • MySQL Enterprise Oracle• MySQL Cluster 7.1 • Migration Tool Certifications• MySQL Cluster Manager 1.0 • MySQL Enterprise • MySQL Windows Installer Backup 3.8• MySQL Workbench 5.2 •MySQL Enterprise Commercial• MySQL Database 5.5 Extensions• MySQL Enterprise Backup 3.5 Todos em GA!• MySQL Enterprise Monitor 2.3 • MySQL Database 5.6 DMR*• MySQL Cluster Manager 1.1 • MySQL Cluster 7.2 DMR Todos em GA! e MySQL Labs! “mais cedo e com mais frequência” Um MySQL Melhor *Development Milestone Release 2010 2011 2012 1o semestre 16
  16. 16. Por que MySQL é muito utilizado? 1. MySQL: projetado em tempos de 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
  17. 17. O MySQL é robusto?
  18. 18. MySQL Database Performance, Confiabilidade, Facilidade de Uso Gerenciamento Suporte às mais eficiente e multi- conhecidas thread de sessões plataformas/linguagens de desenvolvimentoParsing completoDML+DDL,otimizador,baseado em custo,caching de queriese resultados Várias opções de Storage Engine para necessidades específicas das aplicações Opções flexíveis de logging e armazenamento físico 19
  19. 19. InnoDB no MySQL- Storage Engine mais utilizado - aplicações Web 2.0 - aplicações de varejo - aplicações de entretenimento & mídia- ACID, transacional- Crash recovery- Integridade referencial- Suporta altos níveis de usuários concorrentes- No MySQL versão 5.5 - padrão - otimizado para hardware multi-core, multi-thread e SOs
  20. 20. 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
  21. 21. Confiabilidade: Robustez- Oracle QA - processo - testes- Modelo Open Source - labs.mysql.com - comunidade numerosa e atuante- Oferta Enterprise - Plug-ins de Escalabilidade e Segurança - Monitoramento - Hot Backup - Workbench SE - Suporte 24x7 técnico e CONSULTIVO
  22. 22. O MySQL é escalável?
  23. 23. Escalabilidade: horizontal vs verticalScale Out Scale Up• Adicionar mais servidores • Trocar por hardware mais para aumentar performance poderoso, adicionar• MySQL adota esta memória, CPU abordagem em sistemas • Outras soluções altamente escaláveis em normalmente usam hardware commodity (Intel / hardware proprietário AMD) (SMP) É possível combinar as duas abordagens 26
  24. 24. Escalabilidade horizontal• Replicação MySQL • método mais simples e mais comum • indicado para aplicações de LEITURA intensiva • problemas com cache duplicado em aplicações com datasets grandes• Particionamento Funcional • dividir a carga em múltiplos nós, com responsabilidades distintas • os nós podem ter redundância via replicação para alta-disponibilidade • normalmente não é transparente para a aplicação e também recorre ao scale up para cada database funcional, o que impõe limites• Data Sharding • método de maior sucesso para escalar aplicações MySQL de grande porte hoje • dados compartilhados em tabelas/caches globais, SOA • difícil de adaptar aplicações legadas 27
  25. 25. Escalabilidade horizontal• Replicação MySQL • método mais simples e mais comum • indicado para aplicações de LEITURA intensiva • problemas com cache duplicado em aplicações com datasets grandes• Particionamento Funcional • dividir a carga em múltiplos nós, com responsabilidades distintas • os nós podem ter redundância via replicação para alta-disponibilidade • normalmente não é transparente para a aplicação e também recorre ao scale up para cada database funcional, o que impõe limites• Data Sharding • método de maior sucesso para escalar aplicações MySQL de grande porte hoje • dados compartilhados em tabelas/caches globais, SOA • difícil de adaptar aplicações legadas 28
  26. 26. 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)
  27. 27. 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
  28. 28. 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
  29. 29. Topologias de ReplicaçãoSingle Chain CircularMultiple Multi - Master Multi - Circular
  30. 30. Outros usos da replicação• Backup • diminuir carga servidor • atraso programado• Análise • Data Mart • Data Warehouse• Integração e proximidade geográfica • dataset completo • dataset parcial• Alta-disponibilidade
  31. 31. O MySQL vai estar online 24x7?
  32. 32. Replicação para alta-disponibilidade 1/2 Aplicação Escritas & Leituras Master Slave • Modelo Ativo-passivo • Master: ativo • Slave: passivo
  33. 33. Replicação para alta-disponibilidade 2/2 Aplicação Escritas & Leituras Master Slave • Fail-over • Master: down • Slave: ativo
  34. 34. 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 %
  35. 35. 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 %
  36. 36. MySQL ClusterAlta Performanceescalabilidade de escrita & baixíssima latênciaDisponibilidade99,999%Flexibilidadevários métodos de acesso à dados (SQL+NoSQL)Baixo TCOopen source + hardware commodity
  37. 37. MySQL Cluster: como funciona 1/3 Aplicação SQL Node Auto-Sharding ndb ndbClusterMgmt Data Node Data Node F1 F2 F3 F4 Data Nodes
  38. 38. 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
  39. 39. 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
  40. 40. Caso de sucesso •2 milhões usuários, com 30.000 novos usuários por dia •10.000 usuários concorrentes •10.000 Transações Por Segundo •99.999% uptime “The MySQL support service has been essential in helping us for troubleshooting and giving recommendations for the production cluster.” Carlos Morales (DBA), Playfulplay.com blogs.oracle.com/MySQL/entry/mysql_cluster_powers_el_chavo
  41. 41. O MySQL é um SGBD ultrapassado?
  42. 42. MySQL 5.6: um MySQL melhor Novo!• MySQL 5.6 criado a partir do MySQL 5.5 através de melhorias: • Replicação para maior disponibilidade, integridade de dados • Otimizador para melhor Performance, Escalabilidade • Performance Schema para melhor instrumentação • InnoDB para melhor throughput transacional • Opções “NotOnlySQL” para maior flexibilidade Teste agora mesmo: dev.mysql.com/downloads/mysql 45
  43. 43. Caso de sucesso Benefícios-chave • Propriedades ACID • Solução comprovada por muitas empresas ao longo de anos • Por que MySQL? • Escalabilidade virtualmente infinita: Evernote hoje com 20 milhões de usuários, 1 bilhão de Notes e 2 bilhões de arquivos (fotos, documentos etc) • Flexibilidade para crescer de maneira incremental e com baixos custos blog.evernote.com/tech/2012/02/23/whysql 46
  44. 44. O MySQL é complicado?
  45. 45. Facilidade de uso e administração- Regra dos 15min - Ainda mais rápido com Windows Installer- Disponível para diversas plataformas e linguagens- Funcionalidades - automatic space expansion - auto-restart - dynamic configuration- Suporte Oracle Premier- Ferramentas visuais
  46. 46. MySQL Installer for Windows MySQL Database, Workbench, Connectors, Exemplos… dev.mysql.com/downloads
  47. 47. 50
  48. 48. 51
  49. 49. MySQL Enterprise Monitor• Visão centralizada e global do ambiente MySQL• Monitoramento e alertas automatizados, baseados em regras (integra via SMTP, SNMP)• Capturas de Query, análise para tuning correlacionadas com gráficos de monitoramento• Monitoramento visual de aplicações/servidores mais importantes• Monitoramento da replicação em tempo real, descoberta automática das topologias Um assistente virtual dos DBAs• Integrado com My Oracle Support 52
  50. 50. 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! 53 http://mysql.com/trials/
  51. 51. MySQL Enterprise Backup• Anteriormente “InnoDB Hot Backup”• Online, non-locking backup & recovery • Tabelas, Índices • Níveis: servidor, database ou objeto• Backups Lógico e Físico• Backups Completos, Incrementais ou Parciais• Point-in-time recovery• Backups Comprimidos• Também oferece backup e recuperação para MyISAM• Multi-plataforma (Windows, Linux, Unix)• Certificado para Oracle Secure Backup (SBT 2.0) 54
  52. 52. Como o MySQL Cluster Manager Ajuda? Examplo: Upgrade do MySQL Cluster 6.3 to 7.2 Sem MySQL Cluster Manager Com MySQL Cluster Manager• 1 x verificação preliminar do estado do Cluster upgrade cluster --package=7.2 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 55
  53. 53. Devo migrar para MySQL? 56
  54. 54. Relembrando: onde o MySQL se encaixa• Novas aplicações e aplicações customizadas Ad-hoc • principalmente arquitetura Web (ex. LAMP stack) • arquiteturas inovadoras, NoSQL (versão 5.6 e Cluster 7.2)• Aplicações híbridas • expansão de sistemas legados • MySQL como front-end e Oracle DB como back-end• Online e SaaS • E-commerce/OLTP e pagamentos digitais • Gerenciamento de Conteúdo (CMS) • Redes Sociais, mensagens e colaboração • Games Sociais e MMO • Gerenciamento de Sessão e Autenticação do usuário• Datamarts e Relatórios Departamentais• SMS, e-marketing, Infra Telecom, Infra TI• Embarcadas 57
  55. 55. MySQL Enterprise EditionCapacidade de gerenciar BDs Oracle e MySQL comferramentas/soluções Oracle que você já utiliza. Oracle Product Oracle Premier Support Certifications MySQL Enterprise MySQL Enterprise Backup Monitor/Query Analyzer MySQL Enterprise MySQL Enterprise Security Scalability MySQL Enterprise High Availability MySQL Workbench 58
  56. 56. MySQL Enterprise Oracle Certifications • Oracle Linux • Oracle VM • Oracle VM Template for MySQL EE • Oracle GoldenGate • Oracle Secure Backup • Oracle Database Firewall • My Oracle Online SupportCapacidade de gerenciar BDs Oracle eMySQL com ferramentas/soluções Oracle quevocê já utiliza. 59
  57. 57. MySQL Enterprise Oracle Certifications• WebLogic Server• Database Adapter for Oracle SOA Suite **• Oracle Business Process Management **• Oracle Virtual Directory• Oracle Data Integrator• Oracle Enterprise Performance Management **• Oracle Identity Analytics• Open SSO STS, Open SSO Fedlet• Todos já incluem MySQL 5.x JDBC driver• ** MySQL como opção de Metadata Repository (em progresso) 60
  58. 58. 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 61
  59. 59. 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 62
  60. 60. 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 63
  61. 61. Comparação da Arquitetura Mecanismo MySQL Microsoft SQL ServerMemory Caches • InnoDB data cache • Buffer cache • InnoDB log cache • SQL cache • MyISAM key cache • Misc caches (lock, • Dictionary cache connection, workspace, • Query Cache etc.) • User cachesRedo/Undo Logs • InnoDB Undo Space • TempDB (2005+) • InnoDB Logs • Transaction Logs • Binary LogData Storage • Tablespaces • Filegroups • Table/Index Files • Files • Format filesOptimizer • Cost-based • Cost-based 64
  62. 62. Comparação das funcionalidades “core” Funcionalidade MySQL MicrosoftÍndices padrões Heap Tables e B-Tree  Tabelas/Índices Particionados  Suporte Transações ACID  Row-Level Locking, MVCC (leituras não bloqueiam escritas)  Integridade Referencial Garantidas pelo Servidor  Indexação Avançada (Clustered, Full-Text)  Suporte robusto a vários tipos de dados (BLOB’s, varchar,  datetime, numerics, etc.)Replicação  Stored Procedures, Triggers, Functions, Cursors, Updateable Views  Banco de dados em Cluster para Alta Disponibilidade  Otimizador baseado em custo  Backup Online com Point-in-Time Recovery  Suporta Datasets com Terabytes em tamanho  Open Source  65
  63. 63. MySQL Migration Tool Novo!• Wizard para migração de tabelas e dados: • MS-SQL Server 2000, 2005, 2008 e 2012. • SGBDs em geral via ODBC • Mapeamento personalizado (opcional) • Integrado ao Workbench open source e gratuitoDownload:mysql.com/downloadsDocumentação:dev.mysql.com/doc/workbench/en/wb-migration.html 66
  64. 64. 67
  65. 65. Onde consigo maisinformação sobre MySQL? 68
  66. 66. MySQL Treinamento e Certificação Treinamentos MySQL DBA MySQLDeveloper CertificaçõesMySQL 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 Availability Stored Procedures MySQL Cluster Opcional Necessário education.oracle.com 69
  67. 67. Mais informaçãomysql.com• MySQL Produtos e Edições• TCO calculator – teste vários cenários!• Artigos (White Papers)• Histórias de clientes e casos de sucessodev.mysql.com• Downloads• Documentação• Fóruns• Blog PlanetMySQLedelivery.oracle.com• Trial 30 dias dos produtos comerciais MySQL 70
  68. 68. Time MySQL Brasilmarcos.trujillo@oracle.com ana.guiselini@oracle.com airton.lastori@oracle.com @MySQLBR facebook.com/MySQLBR meetup.com/MySQL-BR 71
  69. 69. sumárioO portfólio MySQL evolui de maneira acelerada, com diversasmelhorias tanto em produtos Community quanto Enterprise.Estas melhorias reforçam o compromisso Oracle com MySQL ecom a estratégia Open Source como modelo de negócio.Combinar MySQL com Oracle Database está cada vez mais fácilpara você aproveitar o que há de melhor nos dois SGBDs.O MySQL é o Banco de Dados Open Source mais popular domundo e a Oracle está trabalhando para um MySQL aindamelhor. Explore todas suas vantagens! 72
  70. 70. Obrigado!@MySQLBR facebook.com/MySQLBR meetup.com/MySQL-BR 73

×