SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Downloaden Sie, um offline zu lesen
MySQL
do ISAM ao noSQL




    Airton Lastori
os precursores...




        Allan Larsson, Monty Widenius & David Axmark
198x ... 1993




          • UNIREG
           • camada SGBD para DIAB ISAM handler – COBOL em hardware
             commodity
          • Atendia requisitos DW da época
           • 100k linhas com facilidade
           • Desafio era atingir 2-5M linhas
          • 5 anos de desenvolvimento
           • portado de ABC BASIC para C
           • DIAB ISAM handler descontinuado
           • MyISAM
1994




       • Requisitos do cliente
        • acesso aos dados MyISAM via Browser
       • Solução
        • interface SQL dos bancos de dados relacionais
        • mSQL considerado pouco flexível, SyBase lento
        • MySQL: pluggable storage engine architecture
...inspirou a arquitetura como é hoje
1995 ... 1996




          • David cria MySQL License inspirado por Richard Stallman,
            pai da licença GPL
          • David vê vantagens modelo Open Source
            • continuidade
            • estensível
          • MySQL AB é fundada
            • TCX
            • Detron
            • Monty Program
1997 ... 2000




          •   Drivers PHP, PERL, ODBC (Excel)
          •   MyISAM mais performático, escalável e portável
          •   Adoção da licença GPL
          •   Crescimento do ecosistema MySQL
              • LAMP Stack: Suse e Red Hat
              • Mais Storage Engines
              • Mais clientes
2001 ... 2002



                             versão 3.23
          • MySQL Logo e website
          • InnoDB Storage Engine GA
          • Conectores Java
          • Marten Mickos como CEO
          • Escritório no Vale do Sílício
          • Benchmarks da PCMag superam Oracle 9i, DB2 7.2, SQL
            Server 2010, SyBase ASE 12.5
          • MySQL para o mercado Enterprise
...InnoDB é hoje...
2003 ... 2004


                                versão 4.0
                                Cluster
          •   User conferences
          •   Aumento de times de Engenharia e Suporte
          •   Parcerias Intel, Zend, JBoss
          •   MySQL AB compra a Alzato (venture Ericsson fundada em
              2000) com seu NDB Cluster, que futuramente se tornaria
              um importante produto de seu portfolio, o MySQL Cluster.
...requisitos...
...como funciona o MySQL Cluster...
...como funciona o MySQL Cluster...
2005 ... 2007



                              versão 5.0
          • Oracle adquire Innobase OY (InnoDB) e Sleepycat Software
            (BerkeleyDB)
          • Nokia utiliza MySQL Cluster em produtos Telecom
          • Storage Engines Comerciais
            • InfoBright
            • NitroEDB
          • MySQL Enterprise Monitor
2008 ... 2009



                              versão 5.1
          • Sun adquire MySQL AB em jan-2008 por 1B US$
          • Melhorias das funcionalidades e ferramentas Enterprise
2010 ... 2011



                              versão 5.5
          • Oracle adquire Sun Microsystems em jan-2010 por
            aproximadamente 7,4B US$
          • Acordo com Comunidade Européia
          • Início de projetos de forks MySQL como MariaDB e Drizzle
          • Melhorias significativas no produto MySQL 5.5 e
            ferramentas Enterprise
hoje!
hoje!
NoSQL
        nova escola para
gerenciamento de dados
Performance        for web-based services

for   Non-structured      data stores and

with horizontal   Scalability.




                          Eric Evans, 2009
Tecnologias de gerenciamento de dados




fonte: 451Group
Tecnologias de gerenciamento de dados



   Usos comuns: processamento
   de transações, aplicações
   interativas transacionais

   Pontos Fortes: formas
   facilitadas de manipular registros;
   consistência; tecnologia
   comprovadamente robusta.

   Pontos Fracos: problemas de
   escalabilidade, especialmente
   para Queries contra grande
   volume de dados (dezenas de
   Terabytes).

fonte: 451Group
Tecnologias de gerenciamento de dados


        Usos comuns: análise de
        dados históricos, data
        warehousing, business
        intelligence.

        Pontos Fortes: suporte a
        Queries rápidas especialmente
        em datasets grandes e
        compressão.

        Pontos Fracos: não adequado
        para transações, importações e
        exportações rápidas; utilização
        de computação pesada.




fonte: 451Group
Tecnologias de gerenciamento de dados

                  Usos comuns: usado como cache
                  para armazenamento de dados
                  requisitados frequentemente,
                  especialmente em aplicações web.

                  Pontos Fortes: escalabilidade,
                  armazenamento e busca de dados
                  muito rápidos; dados não
                  estruturados e parcialmente
                  estruturados.

                  Pontos Fracos: usualmente todos
                  os dados tem que caber em
                  memória rápida; falta de recursos
                  para Queries complexas.




fonte: 451Group
Tecnologias de gerenciamento de dados

                  Usos comuns: aplicações web ou
                  outras que requerem melhor
                  performance e escalabilidade sem
                  que seja necessários definir
                  esquemas relacionais.

                  Pontos Fortes: armazenamento
                  persistente com recursos de
                  escalabilidade tais como sharding
                  nativo; melhor suporte a Queries
                  que apenas chave-valor.

                  Pontos Fracos: falta de recursos
                  para Queries complexas.




fonte: 451Group
Tecnologias de gerenciamento de dados


                  Usos comuns: log em tempo-real
                  para aplicações web ou financeiras.

                  Pontos Fortes: throughput muito
                  alto para Big Data (de Terabytes a
                  Petabytes); suporte excelente à
                  particionamento e acesso aleatório
                  de leitura-escrita.

                  Pontos Fracos: APIs de baixo-
                  nível, falta de recursos para realizar
                  Queries complexas, alta latência na
                  resposta de Queries.




fonte: 451Group
Tecnologias de gerenciamento de dados


                      Usos comuns: aplicações
                      científicas ou de tradução
                      direta do paradigma orientado
                      a objetos.

                      Pontos Fortes: performance e
                      mapeamento natural de
                      objetos.

                      Pontos Fracos: falta de
                      recursos para realizar Queries
                      complexas.




fonte: 451Group
Escolha com base nos seus requisitos:
chave-valor simples com escalabilidade   OU
garantias de consistência e robustez?
E se eu tiver AMBOS requisitos:
abordagem mista?

Implica em:
infra-estrutura extra, overhead de
administração, problemas de
compatibilidade e sincronismo...
Tecnologias de gerenciamento de dados




fonte: 451Group
MyNewSQL
           Not Only SQL




powered by Memcached API
Memcached é...
API popular que “fala” NoSQL chave-valor

Provê alta performance, especialmente para
aplicações web diminuindo a carga do banco de
dados relacional



  ... usado por Twitter, Facebook, Zynga, Youtube
 também suportado por Aplicações Empacotadas
      populares como Joomla, Drupal e Wordpress
Memcached também é...
uma Hash Table GIGANTE
pode ser distribuída entre vários servidores
reside somente na RAM disponível
Last Recently Used




   ... realmente muito útil para alta-performance,
                   mas os dados não são duráveis
Memcached Clients normalmente contém
alguma lógica para persistir os dados

 fetch from memcached
 and store in a variable
 If the variable is empty,
 select database...

 também para insert, update, delete

         ...esforço manual para sincronizar dados
MySQL + NoSQL
       como é possível?
MySQL 5.6
MySQL Cluster 7.2
Mesma infra-estrutura, recursos
NoSQL prontos para uso!
-Baixa latência, alto throughput
-Sem necessidade de implementar lógica de
persistência
-Reduz esforço de desenvolvimento e
administração
-Reuso de clientes memcached já existentes
-Compatível com drivers e bibliotecas para diversas
plataformas
Memcached melhorado
- transações persistentes, crash-safe & ACID
- fulltext search nos valores, Queries ricas SQL
- ferramentas de monitoramento e administração
- re-população do cache após indisponibilidade
- camada única de dados, sem duplicação
- sincronismo garantido pelo BD
- consistência acessando via SQL ou por chave
extra! extra!
 Oracle Loader for Hadoop
         Oracle NoSQL DB
           Oracle BigData



como anunciado no OOW SF
Oracle Loader for Hadoop é...
- Um utilitário para carregar dados do Hadoop no
Oracle Database
- Útil para análises no Oracle 11G
- Utiliza processamento MapReduce para criar os
datasets
- Gera formatos nativos Oracle para carga mais
rápida e consumindo menos recursos
Oracle NoSQL Database é...
- Um banco de dados comercial NoSQL chave-valor
- Baseado do BerkeleyDB
- Modelo de dados dinâmico
- Altamente escalável e disponível
- Load balancing transparente
- Queries complexas suportadas via Hadoop ou
Oracle Database operando sobre o Oracle NoSQL
Database
Oracle BigData é...
Appliance que inclui uma distribuição open source
do Apache Hadoop

Inclui também:
-Oracle Data Integrator Application Adapter for
Hadoop;
- Oracle NoSQL Database*;
- Oracle Loader for Hadoop*;
- Oracle R Enterprise.

(*) também disponíveis separadamente
MySQL & Oracle NoSQL DB
MySQL & MySQL Cluster                   Oracle NoSQL Database
com acesso NoSQL via
memcached
• Maioria dos dados estruturados.       • Dados não estruturados ou mudanças
• Necessidade de fazer consultas via    frequentes de tipos e estrutura.
chave valor ou SQL no mesmo dataset.    • Necessidade quase exclusiva de
• Reutilização da infraestrutura        queries NoSQL, mas com a
memcached já existente com adição de    possibilidade de executar queries
persistência, alta-disponibilidade e    complexas via Hadoop ou Oracle DB.
escalabilidade de escrita.              • Necessidade de manipular grandes
• Flexibilidade no acesso aos dados,    quantidades de dados com crescimento
incluindo REST, Java, LDAP, C++.        exponencial na casa de dezenas de
• Clientes que já utilizam MySQL com    Terabytes ou mais.
necessidades de operações chave-valor   • Necessidade de escalabilidade para
sem duplicar infra-estrutura.           manipular dados através de centenas de
• Open Souce.                           nós.
Mensagens que ficam...
NoSQL é uma realidade inspiradora

A Oracle continua investindo cada vez mais
para manter o MySQL o Banco de Dados
Open Source mais popular do mundo

MySQL 5.6* e MySQL Cluster** oferecem
capacidades NoSQL interessantíssimas

*disponíves para testes em labs.mysql.com
**disponíves para download em dev.mysql.com
Obrigado!


airton.lastori@oracle.com
     meetup.com/mysql-br
               @mysqlbr

Weitere ähnliche Inhalte

Was ist angesagt?

Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...iMasters
 
Alta-disponibilidade e alta performance com o MySQL Cluster 7.3
Alta-disponibilidade e alta performance com o MySQL Cluster 7.3Alta-disponibilidade e alta performance com o MySQL Cluster 7.3
Alta-disponibilidade e alta performance com o MySQL Cluster 7.3MySQL Brasil
 
MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Brasil
 
Evento CA ArcServe D2D on Demand
Evento CA ArcServe D2D on DemandEvento CA ArcServe D2D on Demand
Evento CA ArcServe D2D on DemandAllen Informática
 
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA CareerMarcus Vinicius Miguel Pedro
 
Servidores Dell PowerEdge 13a geracao
Servidores Dell PowerEdge 13a geracaoServidores Dell PowerEdge 13a geracao
Servidores Dell PowerEdge 13a geracaoBravo Tecnologia
 
MySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de ProdutoMySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de ProdutoMySQL Brasil
 
Desenvolvendo serviços escaláveis e de alta performance com MySQL
Desenvolvendo serviços escaláveis e de alta performance com MySQLDesenvolvendo serviços escaláveis e de alta performance com MySQL
Desenvolvendo serviços escaláveis e de alta performance com MySQLMySQL Brasil
 
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...MySQL Brasil
 
Guia essencial para embarcar o MySQL em seu produto
Guia essencial para embarcar o MySQL em seu produtoGuia essencial para embarcar o MySQL em seu produto
Guia essencial para embarcar o MySQL em seu produtoMySQL Brasil
 
RDBMS x NoSQL x NewSQL
RDBMS x NoSQL x NewSQLRDBMS x NoSQL x NewSQL
RDBMS x NoSQL x NewSQLOrlando Vitali
 
IBTA - Oracle Database Security
IBTA - Oracle Database SecurityIBTA - Oracle Database Security
IBTA - Oracle Database SecurityRodrigo Almeida
 
MySQL Cluster e Big Data
MySQL Cluster e Big DataMySQL Cluster e Big Data
MySQL Cluster e Big DataMySQL Brasil
 
Oracle Exadata
Oracle ExadataOracle Exadata
Oracle ExadataiMasters
 
Alta Performance e Escalabilidade para Java / Java EE e Aplicativos Oracle us...
Alta Performance e Escalabilidade para Java / Java EE e Aplicativos Oracle us...Alta Performance e Escalabilidade para Java / Java EE e Aplicativos Oracle us...
Alta Performance e Escalabilidade para Java / Java EE e Aplicativos Oracle us...Ricardo Ferreira
 
Desvendando Oracle Exadata X2-2
Desvendando Oracle Exadata X2-2Desvendando Oracle Exadata X2-2
Desvendando Oracle Exadata X2-2Rodrigo Almeida
 
Oracle Premier Support para MySQL
Oracle Premier Support para MySQLOracle Premier Support para MySQL
Oracle Premier Support para MySQLMySQL Brasil
 
Serviços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e JavaServiços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e JavaMySQL Brasil
 

Was ist angesagt? (20)

Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
 
Alta-disponibilidade e alta performance com o MySQL Cluster 7.3
Alta-disponibilidade e alta performance com o MySQL Cluster 7.3Alta-disponibilidade e alta performance com o MySQL Cluster 7.3
Alta-disponibilidade e alta performance com o MySQL Cluster 7.3
 
MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geral
 
IDC Summit 2015 - DBaaS
IDC Summit 2015 - DBaaSIDC Summit 2015 - DBaaS
IDC Summit 2015 - DBaaS
 
Evento CA ArcServe D2D on Demand
Evento CA ArcServe D2D on DemandEvento CA ArcServe D2D on Demand
Evento CA ArcServe D2D on Demand
 
Sql server 2019 big data cluster
Sql server 2019 big data clusterSql server 2019 big data cluster
Sql server 2019 big data cluster
 
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
 
Servidores Dell PowerEdge 13a geracao
Servidores Dell PowerEdge 13a geracaoServidores Dell PowerEdge 13a geracao
Servidores Dell PowerEdge 13a geracao
 
MySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de ProdutoMySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de Produto
 
Desenvolvendo serviços escaláveis e de alta performance com MySQL
Desenvolvendo serviços escaláveis e de alta performance com MySQLDesenvolvendo serviços escaláveis e de alta performance com MySQL
Desenvolvendo serviços escaláveis e de alta performance com MySQL
 
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
 
Guia essencial para embarcar o MySQL em seu produto
Guia essencial para embarcar o MySQL em seu produtoGuia essencial para embarcar o MySQL em seu produto
Guia essencial para embarcar o MySQL em seu produto
 
RDBMS x NoSQL x NewSQL
RDBMS x NoSQL x NewSQLRDBMS x NoSQL x NewSQL
RDBMS x NoSQL x NewSQL
 
IBTA - Oracle Database Security
IBTA - Oracle Database SecurityIBTA - Oracle Database Security
IBTA - Oracle Database Security
 
MySQL Cluster e Big Data
MySQL Cluster e Big DataMySQL Cluster e Big Data
MySQL Cluster e Big Data
 
Oracle Exadata
Oracle ExadataOracle Exadata
Oracle Exadata
 
Alta Performance e Escalabilidade para Java / Java EE e Aplicativos Oracle us...
Alta Performance e Escalabilidade para Java / Java EE e Aplicativos Oracle us...Alta Performance e Escalabilidade para Java / Java EE e Aplicativos Oracle us...
Alta Performance e Escalabilidade para Java / Java EE e Aplicativos Oracle us...
 
Desvendando Oracle Exadata X2-2
Desvendando Oracle Exadata X2-2Desvendando Oracle Exadata X2-2
Desvendando Oracle Exadata X2-2
 
Oracle Premier Support para MySQL
Oracle Premier Support para MySQLOracle Premier Support para MySQL
Oracle Premier Support para MySQL
 
Serviços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e JavaServiços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e Java
 

Andere mochten auch

PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porteFelipe Ribeiro
 
PHP - Programação para seres humanos
PHP - Programação para seres humanosPHP - Programação para seres humanos
PHP - Programação para seres humanosCaike Souza
 
Desenvolvimento Web em ambiente de software livre
Desenvolvimento Web em ambiente de software livreDesenvolvimento Web em ambiente de software livre
Desenvolvimento Web em ambiente de software livrePedro Neto
 
Bancos de dados open source
Bancos de dados open sourceBancos de dados open source
Bancos de dados open sourceRodrigo Aurélio
 
Alta Disponibilidade na Prática utilizando servidores Linux
Alta Disponibilidade na Prática utilizando servidores LinuxAlta Disponibilidade na Prática utilizando servidores Linux
Alta Disponibilidade na Prática utilizando servidores Linuxelliando dias
 

Andere mochten auch (7)

Introdução ao PHP
Introdução ao PHPIntrodução ao PHP
Introdução ao PHP
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porte
 
PHP - Programação para seres humanos
PHP - Programação para seres humanosPHP - Programação para seres humanos
PHP - Programação para seres humanos
 
Desenvolvimento Web em ambiente de software livre
Desenvolvimento Web em ambiente de software livreDesenvolvimento Web em ambiente de software livre
Desenvolvimento Web em ambiente de software livre
 
Bancos de dados open source
Bancos de dados open sourceBancos de dados open source
Bancos de dados open source
 
Bases de datos msql
Bases de datos msqlBases de datos msql
Bases de datos msql
 
Alta Disponibilidade na Prática utilizando servidores Linux
Alta Disponibilidade na Prática utilizando servidores LinuxAlta Disponibilidade na Prática utilizando servidores Linux
Alta Disponibilidade na Prática utilizando servidores Linux
 

Ähnlich wie MySQL do ISAM ao NoSQL

QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureQCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureFabrício Lopes Sanchez
 
Modernizando o papel do Data Lake em uma arquitetura de Data Fabric
Modernizando o papel do Data Lake em uma arquitetura de Data FabricModernizando o papel do Data Lake em uma arquitetura de Data Fabric
Modernizando o papel do Data Lake em uma arquitetura de Data FabricDenodo
 
MySQL no Windows: implementação eficiente de novas aplicações
MySQL no Windows: implementação eficiente de novas aplicaçõesMySQL no Windows: implementação eficiente de novas aplicações
MySQL no Windows: implementação eficiente de novas aplicaçõesMySQL Brasil
 
Uso estratégico do MySQL para empresas de TI: Novidades e Futuro
Uso estratégico do MySQL para empresas de TI: Novidades e FuturoUso estratégico do MySQL para empresas de TI: Novidades e Futuro
Uso estratégico do MySQL para empresas de TI: Novidades e Futuroassertimarilia
 
MySQL June/2009 FDTI - Portuguese Version
MySQL June/2009 FDTI - Portuguese VersionMySQL June/2009 FDTI - Portuguese Version
MySQL June/2009 FDTI - Portuguese VersionArtur Alves
 
MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Brasil
 
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big DataDeep Tech Brasil
 
Oracle - Visão Geral de IaaS e PaaS dos serviços de Nuvem da Oracle
Oracle - Visão Geral de IaaS e PaaS dos serviços de Nuvem da OracleOracle - Visão Geral de IaaS e PaaS dos serviços de Nuvem da Oracle
Oracle - Visão Geral de IaaS e PaaS dos serviços de Nuvem da OracleLuciano Condé
 
Desenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperDesenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperCesar Romero
 
Realmente devo pensar na versão Enterprise do MySQL?
Realmente devo pensar na versão Enterprise do MySQL?Realmente devo pensar na versão Enterprise do MySQL?
Realmente devo pensar na versão Enterprise do MySQL?Juliano de Oliveira Falcao
 
MySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresMySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresMySQL Brasil
 
MySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresMySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresAirton Lastori
 

Ähnlich wie MySQL do ISAM ao NoSQL (20)

QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureQCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
 
Modernizando o papel do Data Lake em uma arquitetura de Data Fabric
Modernizando o papel do Data Lake em uma arquitetura de Data FabricModernizando o papel do Data Lake em uma arquitetura de Data Fabric
Modernizando o papel do Data Lake em uma arquitetura de Data Fabric
 
MySQL no Windows: implementação eficiente de novas aplicações
MySQL no Windows: implementação eficiente de novas aplicaçõesMySQL no Windows: implementação eficiente de novas aplicações
MySQL no Windows: implementação eficiente de novas aplicações
 
Uso estratégico do MySQL para empresas de TI: Novidades e Futuro
Uso estratégico do MySQL para empresas de TI: Novidades e FuturoUso estratégico do MySQL para empresas de TI: Novidades e Futuro
Uso estratégico do MySQL para empresas de TI: Novidades e Futuro
 
Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
 
MySQL June/2009 FDTI - Portuguese Version
MySQL June/2009 FDTI - Portuguese VersionMySQL June/2009 FDTI - Portuguese Version
MySQL June/2009 FDTI - Portuguese Version
 
MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geral
 
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
 
Oracle - Visão Geral de IaaS e PaaS dos serviços de Nuvem da Oracle
Oracle - Visão Geral de IaaS e PaaS dos serviços de Nuvem da OracleOracle - Visão Geral de IaaS e PaaS dos serviços de Nuvem da Oracle
Oracle - Visão Geral de IaaS e PaaS dos serviços de Nuvem da Oracle
 
Trabalho de sgbd
Trabalho de sgbdTrabalho de sgbd
Trabalho de sgbd
 
5. rodando containers docker na aws
5. rodando containers docker na aws5. rodando containers docker na aws
5. rodando containers docker na aws
 
Desenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperDesenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack Developer
 
Realmente devo pensar na versão Enterprise do MySQL?
Realmente devo pensar na versão Enterprise do MySQL?Realmente devo pensar na versão Enterprise do MySQL?
Realmente devo pensar na versão Enterprise do MySQL?
 
Modelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDSModelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDS
 
Material Seminário NoSQL
Material Seminário NoSQLMaterial Seminário NoSQL
Material Seminário NoSQL
 
Tema3.pptx
Tema3.pptxTema3.pptx
Tema3.pptx
 
Tema3.pptx
Tema3.pptxTema3.pptx
Tema3.pptx
 
MySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresMySQL e Oracle para Desenvolvedores
MySQL e Oracle para Desenvolvedores
 
MySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresMySQL e Oracle para Desenvolvedores
MySQL e Oracle para Desenvolvedores
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 

MySQL do ISAM ao NoSQL

  • 1. MySQL do ISAM ao noSQL Airton Lastori
  • 2.
  • 3.
  • 4. os precursores... Allan Larsson, Monty Widenius & David Axmark
  • 5. 198x ... 1993 • UNIREG • camada SGBD para DIAB ISAM handler – COBOL em hardware commodity • Atendia requisitos DW da época • 100k linhas com facilidade • Desafio era atingir 2-5M linhas • 5 anos de desenvolvimento • portado de ABC BASIC para C • DIAB ISAM handler descontinuado • MyISAM
  • 6. 1994 • Requisitos do cliente • acesso aos dados MyISAM via Browser • Solução • interface SQL dos bancos de dados relacionais • mSQL considerado pouco flexível, SyBase lento • MySQL: pluggable storage engine architecture
  • 8. 1995 ... 1996 • David cria MySQL License inspirado por Richard Stallman, pai da licença GPL • David vê vantagens modelo Open Source • continuidade • estensível • MySQL AB é fundada • TCX • Detron • Monty Program
  • 9. 1997 ... 2000 • Drivers PHP, PERL, ODBC (Excel) • MyISAM mais performático, escalável e portável • Adoção da licença GPL • Crescimento do ecosistema MySQL • LAMP Stack: Suse e Red Hat • Mais Storage Engines • Mais clientes
  • 10. 2001 ... 2002 versão 3.23 • MySQL Logo e website • InnoDB Storage Engine GA • Conectores Java • Marten Mickos como CEO • Escritório no Vale do Sílício • Benchmarks da PCMag superam Oracle 9i, DB2 7.2, SQL Server 2010, SyBase ASE 12.5 • MySQL para o mercado Enterprise
  • 12. 2003 ... 2004 versão 4.0 Cluster • User conferences • Aumento de times de Engenharia e Suporte • Parcerias Intel, Zend, JBoss • MySQL AB compra a Alzato (venture Ericsson fundada em 2000) com seu NDB Cluster, que futuramente se tornaria um importante produto de seu portfolio, o MySQL Cluster.
  • 14. ...como funciona o MySQL Cluster...
  • 15. ...como funciona o MySQL Cluster...
  • 16. 2005 ... 2007 versão 5.0 • Oracle adquire Innobase OY (InnoDB) e Sleepycat Software (BerkeleyDB) • Nokia utiliza MySQL Cluster em produtos Telecom • Storage Engines Comerciais • InfoBright • NitroEDB • MySQL Enterprise Monitor
  • 17. 2008 ... 2009 versão 5.1 • Sun adquire MySQL AB em jan-2008 por 1B US$ • Melhorias das funcionalidades e ferramentas Enterprise
  • 18. 2010 ... 2011 versão 5.5 • Oracle adquire Sun Microsystems em jan-2010 por aproximadamente 7,4B US$ • Acordo com Comunidade Européia • Início de projetos de forks MySQL como MariaDB e Drizzle • Melhorias significativas no produto MySQL 5.5 e ferramentas Enterprise
  • 19. hoje!
  • 20. hoje!
  • 21. NoSQL nova escola para gerenciamento de dados
  • 22. Performance for web-based services for Non-structured data stores and with horizontal Scalability. Eric Evans, 2009
  • 23. Tecnologias de gerenciamento de dados fonte: 451Group
  • 24.
  • 25. Tecnologias de gerenciamento de dados Usos comuns: processamento de transações, aplicações interativas transacionais Pontos Fortes: formas facilitadas de manipular registros; consistência; tecnologia comprovadamente robusta. Pontos Fracos: problemas de escalabilidade, especialmente para Queries contra grande volume de dados (dezenas de Terabytes). fonte: 451Group
  • 26. Tecnologias de gerenciamento de dados Usos comuns: análise de dados históricos, data warehousing, business intelligence. Pontos Fortes: suporte a Queries rápidas especialmente em datasets grandes e compressão. Pontos Fracos: não adequado para transações, importações e exportações rápidas; utilização de computação pesada. fonte: 451Group
  • 27. Tecnologias de gerenciamento de dados Usos comuns: usado como cache para armazenamento de dados requisitados frequentemente, especialmente em aplicações web. Pontos Fortes: escalabilidade, armazenamento e busca de dados muito rápidos; dados não estruturados e parcialmente estruturados. Pontos Fracos: usualmente todos os dados tem que caber em memória rápida; falta de recursos para Queries complexas. fonte: 451Group
  • 28. Tecnologias de gerenciamento de dados Usos comuns: aplicações web ou outras que requerem melhor performance e escalabilidade sem que seja necessários definir esquemas relacionais. Pontos Fortes: armazenamento persistente com recursos de escalabilidade tais como sharding nativo; melhor suporte a Queries que apenas chave-valor. Pontos Fracos: falta de recursos para Queries complexas. fonte: 451Group
  • 29. Tecnologias de gerenciamento de dados Usos comuns: log em tempo-real para aplicações web ou financeiras. Pontos Fortes: throughput muito alto para Big Data (de Terabytes a Petabytes); suporte excelente à particionamento e acesso aleatório de leitura-escrita. Pontos Fracos: APIs de baixo- nível, falta de recursos para realizar Queries complexas, alta latência na resposta de Queries. fonte: 451Group
  • 30. Tecnologias de gerenciamento de dados Usos comuns: aplicações científicas ou de tradução direta do paradigma orientado a objetos. Pontos Fortes: performance e mapeamento natural de objetos. Pontos Fracos: falta de recursos para realizar Queries complexas. fonte: 451Group
  • 31. Escolha com base nos seus requisitos: chave-valor simples com escalabilidade OU garantias de consistência e robustez?
  • 32. E se eu tiver AMBOS requisitos: abordagem mista? Implica em: infra-estrutura extra, overhead de administração, problemas de compatibilidade e sincronismo...
  • 33. Tecnologias de gerenciamento de dados fonte: 451Group
  • 34. MyNewSQL Not Only SQL powered by Memcached API
  • 35. Memcached é... API popular que “fala” NoSQL chave-valor Provê alta performance, especialmente para aplicações web diminuindo a carga do banco de dados relacional ... usado por Twitter, Facebook, Zynga, Youtube também suportado por Aplicações Empacotadas populares como Joomla, Drupal e Wordpress
  • 36. Memcached também é... uma Hash Table GIGANTE pode ser distribuída entre vários servidores reside somente na RAM disponível Last Recently Used ... realmente muito útil para alta-performance, mas os dados não são duráveis
  • 37. Memcached Clients normalmente contém alguma lógica para persistir os dados fetch from memcached and store in a variable If the variable is empty, select database... também para insert, update, delete ...esforço manual para sincronizar dados
  • 38. MySQL + NoSQL como é possível?
  • 41. Mesma infra-estrutura, recursos NoSQL prontos para uso! -Baixa latência, alto throughput -Sem necessidade de implementar lógica de persistência -Reduz esforço de desenvolvimento e administração -Reuso de clientes memcached já existentes -Compatível com drivers e bibliotecas para diversas plataformas
  • 42. Memcached melhorado - transações persistentes, crash-safe & ACID - fulltext search nos valores, Queries ricas SQL - ferramentas de monitoramento e administração - re-população do cache após indisponibilidade - camada única de dados, sem duplicação - sincronismo garantido pelo BD - consistência acessando via SQL ou por chave
  • 43. extra! extra! Oracle Loader for Hadoop Oracle NoSQL DB Oracle BigData como anunciado no OOW SF
  • 44. Oracle Loader for Hadoop é... - Um utilitário para carregar dados do Hadoop no Oracle Database - Útil para análises no Oracle 11G - Utiliza processamento MapReduce para criar os datasets - Gera formatos nativos Oracle para carga mais rápida e consumindo menos recursos
  • 45. Oracle NoSQL Database é... - Um banco de dados comercial NoSQL chave-valor - Baseado do BerkeleyDB - Modelo de dados dinâmico - Altamente escalável e disponível - Load balancing transparente - Queries complexas suportadas via Hadoop ou Oracle Database operando sobre o Oracle NoSQL Database
  • 46. Oracle BigData é... Appliance que inclui uma distribuição open source do Apache Hadoop Inclui também: -Oracle Data Integrator Application Adapter for Hadoop; - Oracle NoSQL Database*; - Oracle Loader for Hadoop*; - Oracle R Enterprise. (*) também disponíveis separadamente
  • 47. MySQL & Oracle NoSQL DB MySQL & MySQL Cluster Oracle NoSQL Database com acesso NoSQL via memcached • Maioria dos dados estruturados. • Dados não estruturados ou mudanças • Necessidade de fazer consultas via frequentes de tipos e estrutura. chave valor ou SQL no mesmo dataset. • Necessidade quase exclusiva de • Reutilização da infraestrutura queries NoSQL, mas com a memcached já existente com adição de possibilidade de executar queries persistência, alta-disponibilidade e complexas via Hadoop ou Oracle DB. escalabilidade de escrita. • Necessidade de manipular grandes • Flexibilidade no acesso aos dados, quantidades de dados com crescimento incluindo REST, Java, LDAP, C++. exponencial na casa de dezenas de • Clientes que já utilizam MySQL com Terabytes ou mais. necessidades de operações chave-valor • Necessidade de escalabilidade para sem duplicar infra-estrutura. manipular dados através de centenas de • Open Souce. nós.
  • 48. Mensagens que ficam... NoSQL é uma realidade inspiradora A Oracle continua investindo cada vez mais para manter o MySQL o Banco de Dados Open Source mais popular do mundo MySQL 5.6* e MySQL Cluster** oferecem capacidades NoSQL interessantíssimas *disponíves para testes em labs.mysql.com **disponíves para download em dev.mysql.com
  • 49. Obrigado! airton.lastori@oracle.com meetup.com/mysql-br @mysqlbr