MySQL do ISAM ao NoSQL

2.102 visualizações

Publicada em

O MySQL nasceu como uma alternativa de alta-performance para armazenamento no padrão ISAM em hardware commodity, evoluiu para um banco de dados relacional ACID-compliant e hoje também incorpora recursos noSQL. Vamos revisitar esta história e entender quais os recursos noSQL presentes no banco de dados open source mais popular do mundo.

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

Sem downloads
Visualizações
Visualizações totais
2.102
No SlideShare
0
A partir de incorporações
0
Número de incorporações
14
Ações
Compartilhamentos
0
Downloads
38
Comentários
0
Gostaram
4
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

MySQL do ISAM ao NoSQL

  1. 1. MySQLdo ISAM ao noSQL Airton Lastori
  2. 2. os precursores... Allan Larsson, Monty Widenius & David Axmark
  3. 3. 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
  4. 4. 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
  5. 5. ...inspirou a arquitetura como é hoje
  6. 6. 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
  7. 7. 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
  8. 8. 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
  9. 9. ...InnoDB é hoje...
  10. 10. 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.
  11. 11. ...requisitos...
  12. 12. ...como funciona o MySQL Cluster...
  13. 13. ...como funciona o MySQL Cluster...
  14. 14. 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
  15. 15. 2008 ... 2009 versão 5.1 • Sun adquire MySQL AB em jan-2008 por 1B US$ • Melhorias das funcionalidades e ferramentas Enterprise
  16. 16. 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
  17. 17. hoje!
  18. 18. hoje!
  19. 19. NoSQL nova escola paragerenciamento de dados
  20. 20. Performance for web-based servicesfor Non-structured data stores andwith horizontal Scalability. Eric Evans, 2009
  21. 21. Tecnologias de gerenciamento de dadosfonte: 451Group
  22. 22. 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
  23. 23. 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
  24. 24. 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
  25. 25. 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
  26. 26. 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
  27. 27. 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
  28. 28. Escolha com base nos seus requisitos:chave-valor simples com escalabilidade OUgarantias de consistência e robustez?
  29. 29. E se eu tiver AMBOS requisitos:abordagem mista?Implica em:infra-estrutura extra, overhead deadministração, problemas decompatibilidade e sincronismo...
  30. 30. Tecnologias de gerenciamento de dadosfonte: 451Group
  31. 31. MyNewSQL Not Only SQLpowered by Memcached API
  32. 32. Memcached é...API popular que “fala” NoSQL chave-valorProvê alta performance, especialmente paraaplicações web diminuindo a carga do banco dedados relacional ... usado por Twitter, Facebook, Zynga, Youtube também suportado por Aplicações Empacotadas populares como Joomla, Drupal e Wordpress
  33. 33. Memcached também é...uma Hash Table GIGANTEpode ser distribuída entre vários servidoresreside somente na RAM disponívelLast Recently Used ... realmente muito útil para alta-performance, mas os dados não são duráveis
  34. 34. Memcached Clients normalmente contémalguma 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
  35. 35. MySQL + NoSQL como é possível?
  36. 36. MySQL 5.6
  37. 37. MySQL Cluster 7.2
  38. 38. Mesma infra-estrutura, recursosNoSQL prontos para uso!-Baixa latência, alto throughput-Sem necessidade de implementar lógica depersistência-Reduz esforço de desenvolvimento eadministração-Reuso de clientes memcached já existentes-Compatível com drivers e bibliotecas para diversasplataformas
  39. 39. 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
  40. 40. extra! extra! Oracle Loader for Hadoop Oracle NoSQL DB Oracle BigDatacomo anunciado no OOW SF
  41. 41. Oracle Loader for Hadoop é...- Um utilitário para carregar dados do Hadoop noOracle Database- Útil para análises no Oracle 11G- Utiliza processamento MapReduce para criar osdatasets- Gera formatos nativos Oracle para carga maisrápida e consumindo menos recursos
  42. 42. 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 ouOracle Database operando sobre o Oracle NoSQLDatabase
  43. 43. Oracle BigData é...Appliance que inclui uma distribuição open sourcedo Apache HadoopInclui também:-Oracle Data Integrator Application Adapter forHadoop;- Oracle NoSQL Database*;- Oracle Loader for Hadoop*;- Oracle R Enterprise.(*) também disponíveis separadamente
  44. 44. MySQL & Oracle NoSQL DBMySQL & MySQL Cluster Oracle NoSQL Databasecom acesso NoSQL viamemcached• 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 amemcached já existente com adição de possibilidade de executar queriespersistê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 crescimentoincluindo 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 parasem duplicar infra-estrutura. manipular dados através de centenas de• Open Souce. nós.
  45. 45. Mensagens que ficam...NoSQL é uma realidade inspiradoraA Oracle continua investindo cada vez maispara manter o MySQL o Banco de DadosOpen Source mais popular do mundoMySQL 5.6* e MySQL Cluster** oferecemcapacidades NoSQL interessantíssimas*disponíves para testes em labs.mysql.com**disponíves para download em dev.mysql.com
  46. 46. Obrigado!airton.lastori@oracle.com meetup.com/mysql-br @mysqlbr

×