MySQL e Oracle para Desenvolvedores
Upcoming SlideShare
Loading in...5
×
 

MySQL e Oracle para Desenvolvedores

on

  • 2,158 views

MySQL e Oracle Database 11g complementam-se mutuamente. São produtos com histórias distintas e concebidos para adequar-se a diferentes casos de uso. Na verdade, muitos clientes da Oracle Database ...

MySQL e Oracle Database 11g complementam-se mutuamente. São produtos com histórias distintas e concebidos para adequar-se a diferentes casos de uso. Na verdade, muitos clientes da Oracle Database 11g já usam o MySQL. Nesta apresentação vamos explorar algumas das principais diferenças entre os dois SGBDs do ponto de vista de desenvolvedores, visitar alguns casos de uso e entender como utilizar o MySQL de maneira eficiente para complementar a camada de banco de dados.

Statistics

Views

Total Views
2,158
Views on SlideShare
2,156
Embed Views
2

Actions

Likes
0
Downloads
45
Comments
0

2 Embeds 2

http://us-w1.rockmelt.com 1
https://si0.twimg.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

MySQL e Oracle para Desenvolvedores MySQL e Oracle para Desenvolvedores Presentation Transcript

  • <Insert Picture Here>MySQL + Oracle = Complementaresvisão do desenvolvedor Airton Lastori airton.lastori@oracle.com jul-2012
  • <Insert Picture Here>
  • O MySQL está em todo lugar! Web & Enterprise OEM & ISVs Cloud 3
  • Portfolio Open Source (GPL)• MySQL Database (Community Server) 5.5.25 GA e 5.6.5 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 4
  • MySQL Enterprise Edition.• Desenvolvimento Visual BD MySQL, Monitoramento, Backup e serviços Oracle de suporte técnico• Totalmente suportado nos sistemas Win 32, 64 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 5
  • Tipos de aplicação70%60%50%40%30%20% Enterprise10% Community0% 6
  • Por que o MySQL é a escolhadestas e de milhares de outras empresas? 7
  • 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. 8
  • 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ÇÃO9DE SUPORTE
  • 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 Certifications• MySQL Cluster Manager 1.0 • MySQL Windows Installer• 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 Q1 10
  • Foco MySQL – Áreas
  • Suporte Oracle ao Open Source/StandardsMySQL & InnoDB, Linux, PHP, Apache, GlassFish,Eclipse, Berkeley DB, NetBeans, VirtualBox, Xen… http://www.oracle.com/us/technologies/open-source
  • 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
  • O MySQL é robusto?
  • 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 15
  • 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
  • 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
  • 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
  • Oracle Premier Support para MySQL Conte com Os Experts, obtenha benefícios singulares• Direto da Fonte• Maior time de especialistas MySQL• Contato com MySQL Developers Somente com• Hot Fixes a Oracle• Realeases de manutenção• Suporte MySQL em 29 línguas• Acesso direto aos engenheiros de suporte MySQL• 24x7x365 "The eng that assisted me was simply outstanding. He immediately• Número ilimitado de tickets recognized the cause of my problem and provided the resolution."• Knowledge Base -- (July 27, 2011)• Suporte Consultivo MySQL mysql.com/support/quotes.html
  • O MySQL é escalável?
  • 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
  • Replicação MySQL: como funciona 2/3 Aplicação Escritas & Leituras Master Slave • Modelo Ativo-passivo • Master: ativo • Slave: passivo
  • Replicação MySQL: como funciona 3/3 Aplicação Escritas & Leituras Master Slave • Fail-over • Master: down • Slave: ativo
  • 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
  • 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)
  • 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
  • O MySQL vai estar online 24x7?
  • 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 %
  • 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 %
  • MySQL ClusterAlta Performanceescalabilidade de escrita & baixíssima latênciaDisponibilidade99,999%Flexibilidadevários métodos de acesso à dados (SQL+NoSQL)Baixo TCOopen source + hardware commodity
  • 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
  • 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
  • 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
  • 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
  • O MySQL é um SGBD ultrapassado?
  • MySQL 5.6: um MySQL melhor Novo!• MySQL 5.6 criado a partir do MySQL 5.5 através de melhorias: • Opções “NotOnlySQL” para maior flexibilidade • Replicação para maior disponibilidade, integridade de dados • Otimizador para melhor Performance, Escalabilidade • Performance Schema para melhor instrumentação • InnoDB para melhor throughput transacional Teste agora mesmo: dev.mysql.com/downloads/mysql 39
  • Mais flexibilidade, menor complexidadeNoSQL com MySQL 5.6 Application SQL NoSQL MySQL Client Memcached Protocol mysqld Memcached MySQL Server plugin InnoDB Storage Engine • Memcached daemon plug-in to mysqld • Memcached protocol mapped to the native InnoDB API • Shared process space for ultra-low latency 40
  • Mais Flexibilidade MySQL Cluster 7.2 Os mesmos dados podem ser acessados simultaneamente via SQL & NoSQL 41
  • O MySQL é complicado?
  • 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
  • MySQL Installer for Windows MySQL Database, Workbench, Connectors, Exemplos… dev.mysql.com/downloads
  • MySQL Conectores/Drivers para WindowsDesenvolvido pela Oracle Comunidade• Connector/ODBC ODBC • PHP• Connector/Net ADO.NET • Perl• Connector/J JDBC • Python• Connector/C C API • Ruby• Connector/C++ C++ API Amplo suporte a várias linguagens mysql.com/products/connector 47
  • MySQL WorkbenchDatabase Design Scripts & Plug-ins• Modelagem Visual Interface similar ao VS 2010• Engenharia reversa e geração do banco Economize tempo no desenv. e a partir do modelo gestão de aplicações com MySQL• Validação e documentação automática do SchemaSQL Development• SQL Editor - Color Syntax Highlighting• Objetos - Import/Export, Browse/Edit• Connections - Wizard, SSH TunnelDatabase Administration• Status, Configuração, Start/Stop• Usuários, Segurança, Sessions• Import/Export Dump Files 48
  • 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 49
  • MySQL Query Analyzer• Monitoramento centralizado de queries lentas• Dispensa o uso de Slow Query Log, SHOW PROCESSLIST• Alimentado via Connectors• Visão agregada das estatísticas de queries: counts, time, rows• Navegação visual através dos gráficos e histórico• Rastreabilidade da query até o código-fonte da aplicaçãoEconomize tempo minerandoexecuções atômicas dos logs.Minimize riscos de sobrecargaencontrando e eliminando querieslentas. 50
  • Query Execution Drill Downs Exemplo execução de query com substituição de variável Rastreamento do ponto de origem da query no código-fonte EXPLAIN da execução 51
  • Monitoramento Automatizado da Replicação• Auto-detecção das topologias, agrupando Master/Slaves• Verificação em tempo real e consolidada do status e sincronização• Notificações no caso de problemas de sincronização• Pró-ativo vs reativoEconomize tempo monitorando ecoletando dados de sincronizaçãoautomaticamente sem anecessidade de usar linha decomando no MySQL. 52
  • Devo migrar para MySQL? 53
  • 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 54
  • 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) 55
  • 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. 56
  • Comparação da Arquitetura do MySQL 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 57
  • 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  58
  • 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 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 60
  • Onde consigo maisinformação sobre MySQL? 61
  • 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 62
  • Histórias de Clientes mysql.com/customers 63
  • Time MySQL Brasilmarcos.trujillo@oracle.com ana.guiselini@oracle.com airton.lastori@oracle.com @MySQLBR facebook.com/MySQLBR meetup.com/MySQL-BR 64
  • Obrigado! 65