Your SlideShare is downloading. ×
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Cluster - visão geral
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

MySQL Cluster - visão geral

1,915

Published on

Uma visão geral sobre o MySQL Cluster, suas capacidades, funcionalidades e casos de uso. …

Uma visão geral sobre o MySQL Cluster, suas capacidades, funcionalidades e casos de uso.

O MySQL Cluster é um produto derivado do popular MySQL Server que é o "M" do LAMP stack. Trata-se de um banco de dados distribuído com arquitetura shared-nothing e que pode oferecer 99,999% de disponibilidade e performance superior a 1 bilhão de escritas por minuto. Nesta apresentação abordaremos as principais características do MySQL Cluster, entre elas:

* sua capacidade de alta-disponibilidade de 99,999%
* alto-desempenho, baixa latência e escalabilidade de escrita
* conformidade com o modelo ACID, Foreign Keys e flexibilidade das interfaces NoSQL
* geo-replicação multi-master
* casos de sucesso como Playful Play e PayPal
* guia de como começar a utilizar o MySQL Cluster via Auto-installer

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,915
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
29
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.1 Airton Lastori airton.lastori@oracle.com 12-set-2013 MySQL Cluster – visão geral
  • 2. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.2 @MySQLBR meetup.com/MySQL-BR facebook.com/MySQLBR MySQLBR
  • 3. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.3 Agenda  O que é o MySQL Cluster?  Como começar?  Como o MySQL Cluster funciona?  Perguntas?
  • 4. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.4 O que é o MySQL Cluster?
  • 5. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.5 MySQL Cluster • Escalabilidade linear de Escritas e Leituras • Elasticidade, crescimento incremental, distrib. simétricaEscalabilidade • 99,999% de disponibilidade, 5min / ano • Self-healing, failover menor que 1s, geo-replicaçãoAlta Disponibilidade • Performance em tempo real, in-memory e em disco • Latência baixa e preditiva, acessos paralelosAlta Performance • Modelo relacional ACID, SQL e Foreign Keys • APIs NoSQL (C++, Java, Memcached, Node.js)Flexibilidade • Open Source, suporte e ferramentas comerciais opcionais • Hardware commodityBaixo TCO
  • 6. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.6 Enterprise Management Services and Utilities Backup & Recovery Monitor Workbench Utilities Connection Pool, SQL Interface, Parser, Optimizer, Caches Clients & Connectors Native C API, JDBC, ODBC, .Net, PHP, Ruby, Python, VB, Perl mysqld Clients and Apps Arquitetura MySQL Server Storage Engines InnoDB, MyISAM, Memory, Archive, Cluster (NDB API), etc… Filesystems, Files & Logs Data, Index, Logs…
  • 7. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.7 Storage Engines MyISAM InnoDB NDB Cluster Transações ✖ ✔ ✔ Nível de Lock Tabela Linha Linha Replicação Assíncrona ou Semi-síncrona Assíncrona ou Semi-síncrona, crash-safe Síncrona, Multi-master, crash-safe sem SPOF Foreign Keys ✖ ✔ ✔ Full-text indexes ✔ ✔ ✖ Compressão de dados somente Leitura ✔ ✖ Caches somente Índices Dados e Índices Dados e Índices Suporte Geoespacial Tipos de Dados e Índices somente Tipos de Dados somente Tipos de Dados Limite de armazenamento 256TB 64TB 384EB (~3TB em RAM) dev.mysql.com/doc/refman/5.6/en/storage-engines.html
  • 8. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.8 Cluster Data Nodes NDB NDB Connection Pool, SQL Interface, Parser, Optimizer, Caches Enterprise Management Services and Utilities Backup & Recovery Monitor Workbench Utilities Clients & Connectors Native C API, JDBC, ODBC, .Net, PHP, Ruby, Python, VB, Perl Arquitetura MySQL Cluster Storage Engines InnoDB, MyISAM, Memory, Archive, Cluster (NDB API), etc… Filesystems, Files & Logs Data, Index, Logs… mysqld Clients and Apps ndbd mgm_ndbd Management
  • 9. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.9 Data Layer Application Layer Management mgm_ndbd MySQL Cluster: arquitetura simplificada Clients MySQL Cluster Data Nodes ndbd ndbd mysqld mysqld
  • 10. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.10 O que NÃO é o MySQL Cluster 1. SGBD de uso geral, “bala de prata” • Tabelas NDB ainda não são recomendadas para todos tipos de aplicações / workloads • NDB ainda não é 100% compatível com InnoDB, mas podem ser usados em conjunto • MySQL Cluster requer relativamente mais memória RAM 2. Cluster do tipo Shared-All que requer Shared Storage • Como, por exemplo, Oracle RAC • Cada Data Node tem sua unidade de armazenamento independente 3. Replicação tradicional do MySQL Server • MySQL Cluster possui seu próprio mecanismo interno de replicação síncrona • Também pode ser usado opcionalmente em conjunto com replicação externa tradicional do MySQL 4. “Apenas” o MySQL Server (mysqld) • MySQL Cluster possui outros componentes: ndbd, ndb_mgmd 5. Produto de código fechado • Possui edição community (GPL) e carrier-grade edition (suporte e ferramentas comerciais)
  • 11. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.11 Tabelas InnoDB vs NDB Cluster dev.mysql.com/doc/refman/5.6/en/mysql-cluster-compared.html Preferível InnoDB • Datasets ou linhas muito grandes, muitos BLOBs, tabelas histórico, fulltext search • Memória RAM mais limitada • Transações muito longas ou com isolamento diferente de READ COMMITTED • Foreign keys sob uso intensivo • Muitos full table scans, queries analíticas Preferível NDB Cluster • Escalabilidade de escrita, multi-master, auto- sharding • 99,999% uptime com operações online: adição de nós, upgrade, manutenção do esquema • Baixa latência para transações mais curtas, performance tempo-real, paralelismo • APIs NoSQL schemaless: Java, node.js, REST, C++, memcached • Uso limitado de colunas BLOB • Foreign keys são suportadas, porém podem causar impacto na performance em condições extremas
  • 12. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.12 NDB + InnoDB Replicação Síncrona Replicação Assíncrona NDB API NDB Cluster Data Nodes MySQL Cluster InnoDB local InnoDB externo
  • 13. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.13 Replicação síncrona Replicação assíncrona InnoDB + NDB Cluster Opções com Geo-Replicação Replicação síncrona entre os grupos de nós para HA Geo-Replicação assíncrona ou síncrona entre nós remotos NDB para redundância geográfica Replicação assíncrona entre Storage Engines diferentes para aplicações especializadas como geração de relatórios Cluster 1 InnoDB InnoDB InnoDB Cluster 2
  • 14. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.14 Alguns Clientes MySQL Cluster
  • 15. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.15  sistema de recomendações de games casuais que identifica o visitante e exibe conteúdo direcionado ao seu perfil  já nos testes, com 2 data nodes, capacidade de 87k INSERTs por segundo e 3k SELECTs por segundo  latência extremamente baixa (sub- milisegundos) e alta-disponibilidade  NoSQL ClusterJ API (Java) Caso de Sucesso MySQL Cluster “As a strategic project, we couldn’t afford to take any chances. MySQL Cluster provided us with a proven and trusted solution to meet the demands of both our business and our users.” Sean Chighizola Database Director, Big Fish mysql.com/why-mysql/case-studies/mysql-cs-bigfish.html
  • 16. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.16
  • 17. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.17  sistema global de detecção de fraudes que monitora transações financeiras, sessões dos usuários e histórico em tempo real  Trabalha com mais de 100TB e 100m de usuários, transações ACID, R/W <1 segundo em qualquer parte do mundo com geo- replicação  Escalabilidade linear com 99,999% de disponibilidade, na nuvem AWS Caso de Sucesso ACID em tempo real “Technologies such as MySQL Cluster enables users to get the best of both world’s: the agility of NoSQL systems with the trust, maturity and reliability of the SQL model.” Daniel Austin Chief Architect, Paypal mysql.com/customers/view/?id=1223
  • 18. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.18 PayPal
  • 19. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.19  Social game para Facebook  2 milhões usuários, com +30k novos usuários por dia  10K usuários concorrentes, ~10K TPS  99.999% uptime Caso de Sucesso Online Games “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
  • 20. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.20 Playful Play
  • 21. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.21 MySQL Cluster Customers mysql.com/customers/cluster
  • 22. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.22 Como começar a usar o MySQL Cluster?
  • 23. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.23 MySQL Cluster Auto-Install downloads.mysql.com/tutorials/cluster/mysql_wp_cluster_quickstart.pdf clusterdb.com/u/ai
  • 24. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.24 1. Download MCM/Cluster edelivery.oracle.com: 2. Unzip e execute o comando com usuário diferente de root: MySQL Cluster Manager Para testes em uma única máquina C:MySQLmcmbin> mcmd --bootstrap MySQL Cluster Manager 1.1.2 started Connect to MySQL Cluster Manager by running “C:MySQLmcmbinmcm" -a NOVA:1862 Configuring default cluster 'mycluster'... Starting default cluster 'mycluster'... Cluster 'mycluster' started successfully ndb_mgmd NOVA:1186 ndbd NOVA ndbd NOVA mysqld NOVA:3306 mysqld NOVA:3307 ndbapi * Connect to the database by running “C:MySQLmcmclusterbinmysql" -h NOVA -P 3306 -u root
  • 25. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.25 Data Layer Application Layer Management 1186 MySQL Cluster Manager Bootstrap MySQL Cluster Data Nodes ndbd ndbd 3306 3307
  • 26. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.26 Teste via MySQL Workbench: 3306 ou 3307
  • 27. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.27 Teste via MySQL Workbench: Modelo com FKs
  • 28. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.28 Flexibilidade na interação com os dados • Escalabilidade linear de Escritas e Leituras • Elasticidade, crescimento incremental, distrib. simétricaEscalabilidade • 99.999% de disponibilidade, 5min / ano • Self-healing, failover menor que 1s, geo-replicaçãoAlta Disponibilidade • Performance em tempo real, in-memory e em disco • Latência baixa e preditiva, acessos paralelosAlta Performance • Modelo relacional ACID, SQL e Foreign Keys • APIs NoSQL (C++, Java, Memcached, Node.js)Flexibilidade • Open Source, suporte e ferramentas comerciais opcionais • Hardware commodityBaixo TCO
  • 29. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.29 Clients Application Layer MySQL Cluster exemplo simplificado com APIs NoSQL Data Layer ndbd ndbd
  • 30. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.30 Os mesmos dados acessados simultaneamente através de interfaces SQL e NoSQL APIs de Acesso aos Dados ClusterJ MySQL JDBC Apps JPA JNI Python Ruby ClusterJPA Apps Apps Apps Apps Apps Node.js JS Apps mod-ndb Apache Apps ndb-eng Memcached Apps Apps NDB API (C++) MySQL Cluster Data Nodes Apps PHP PERL Apps
  • 31. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.31 Qual API devo usar? SQL • Padrão da indústria • Joins e Queries complexas • Modelo relacional ClusterJ / OpenJPA • ORM Java • Simplicidade • Acesso nativo e rápido ao Cluster • Ex: Web e Telco memcached • chave/valor • Simples de usar • Driver para diversas linguagens • Ex: PHP Proxy node.js • Javascript • Mesma tecnologia do browser no lado do servidor • Ex: Mobile Apps mod_ndb • REST/JSON • HTML • Uso do Apache httpd C++ • Performance extrema • Tempo real • Desenvolved or experiente • Mais baixo nível
  • 32. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.32 Exemplos Memcached API Blog: Scalable, persistent, HA NoSQL Memcache storage using MySQL Cluster 15 February 2012 clusterdb.com/mysql-cluster/scalabale-persistent-ha-nosql-memcache- storage-using-mysql-cluster
  • 33. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.33 <estado:SP,Campinas> prefix key value <estado:SP,Campinas> key value Prefix Table Key-col Val-col policy estado: mapa.cidades sigla_estado cidade cluster Config tables sigla_estado ... cidade ... SP ... Campinas ... Tabela cidades do DB mapa visão da Aplicação visão MySQL Cluster Cluster & Memcached Schema configurável SELECT * FROM mapa.cidades WHERE cidade LIKE ’C%’;
  • 34. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.34 Exemplos JavaScript / Node.js API Blog: MySQL Cluster Tutorial: NoSQL JavaScript Connector for Node.js 17 April 2013 blogs.oracle.com/MySQL/entry/mysql_cluster_tutorial_nosql_api
  • 35. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.35 Como o MySQL Cluster funciona?
  • 36. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.36 Como escalar leituras e escritas? • Escalabilidade linear de Escritas e Leituras • Elasticidade, crescimento incremental, distrib. simétricaEscalabilidade • 99.999% de disponibilidade, 5min / ano • Self-healing, failover menor que 1s, geo-replicaçãoAlta Disponibilidade • Performance em tempo real, in-memory e em disco • Latência baixa e preditiva, acessos paralelosAlta Performance • Modelo relacional ACID, SQL e Foreign Keys • APIs NoSQL (C++, Java, Memcached, Node.js)Flexibilidade • Open Source, suporte e ferramentas comerciais opcionais • Hardware commodityBaixo TCO
  • 37. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.37 Data Layer Application Layer ndbd ndbd ndbd ndbd Clients mysqld mysqld MySQL Cluster exemplo simplificado: 2 SQL + 4 Data Nodes
  • 38. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.38 Data Node 1 Data Node 2 Data Node 3 Data Node 4 Table T1 P2 P3 P4 P1 Data Sharding: escalando ESCRITAS
  • 39. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.39 Data Node 1 Data Node 2 F1 Data Node 3 Data Node 4 Table T1 P2 P3 P4 P1 Data Sharding: escalando ESCRITAS
  • 40. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.40 Data Node 1 Data Node 2 F1 F3 Data Node 3 Data Node 4 Table T1 P2 P3 P4 P1 Data Sharding: escalando ESCRITAS
  • 41. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.41 Data Node 1 Data Node 2 F1 F3 Data Node 3 Data Node 4 F2 Table T1 P2 P3 P4 P1 Data Sharding: escalando ESCRITAS
  • 42. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.42 Data Node 1 Data Node 2 F1 F3 Data Node 3 Data Node 4 F2 F4 Table T1 P2 P3 P4 P1 Data Sharding: escalando ESCRITAS
  • 43. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.43 Data Layer Application Layer MySQL Cluster: auto-sharding Table T1 P2 P3 P4 P1F1 F3 F2 F4 ndbd ndbd ndbd ndbd Clients Table T1 visão da Aplicação visão MySQL Cluster SQL NDB API mysqld mysqld
  • 44. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.44 In-Memory, parallel thrds, AQL, Pushdown Joins 1. Memória RAM mais barata e redes mais rápidas • Escrever em memória RAM remota é mais rápido que em disco local 2. Múltiplas threads trabalhando em paralelo em diversas máquinas • Uso de arquiteturas multi-core 3. Adaptative Query Localization • Queries mais complexas, envolvendo apenas Data Nodes necessários 4. Pushdown Joins • JOINs resolvidos nos Data Nodes, em paralelo
  • 45. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.45  NoSQL C++ API, flexaSynch benchmark  30 x Intel E5-2600 Intel Servers, 2 socket, 64GB  ACID Transactions, Synchronous Replication 0 5 10 15 20 25 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 MillionsofUPDATEsper Second MySQL Cluster Data Nodes 20 Milhões de UPDATEs / seg
  • 46. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.46 Como garantir a alta-disponibilidade? • Escalabilidade linear de Escritas e Leituras • Elasticidade, crescimento incremental, distrib. simétricaEscalabilidade • 99.999% de disponibilidade, 5min / ano • Self-healing, failover menor que 1s, geo-replicaçãoAlta Disponibilidade • Performance em tempo real, in-memory e em disco • Latência baixa e preditiva, acessos paralelosAlta Performance • Modelo relacional ACID, SQL e Foreign Keys • APIs NoSQL (C++, Java, Memcached, Node.js)Flexibilidade • Open Source, suporte e ferramentas comerciais opcionais • Hardware commodityBaixo TCO
  • 47. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.47 Data Layer Application Layer ndbd ndbd ndbd ndbd Clients mysqld mysqld MySQL Cluster exemplo: 2 SQL + 4 data + 2 mgmt nodes Management mgm_ndbd Management mgm_ndbd
  • 48. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.48 Data Node 1 Data Node 2 F1 F1 Data Node 3 Data Node 4 Table T1 P2 P3 P4 P1 Data Sharding + Replicação
  • 49. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.49 Data Node 1 Data Node 2 F1 F3 F1 Data Node 3 Data Node 4 Table T1 P2 P3 P4 P1 F3 Data Sharding + Replicação
  • 50. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.50 Data Node 1 Data Node 2 F1 F3 F3 F1 Data Node 3 Data Node 4 F2 F2 Table T1 P2 P3 P4 P1 Data Sharding + Replicação
  • 51. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.51 Data Node 1 Data Node 2 F1 F3 F3 F1 Data Node 3 Data Node 4 F2 F4 F4 F2 Table T1 P2 P3 P4 P1 Data Sharding + Replicação
  • 52. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.52 Data Node 1 Data Node 2 F1 F3 F3 F1 Data Node 3 Data Node 4 F2 F4 F4 F2 Group1 Table T1 P2 P3 P4 P1 Data Sharding + Replicação Group2
  • 53. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.53 Data Node 1 Data Node 2 F1 F3 F3 F1 Data Node 3 Data Node 4 F2 F4 F4 F2 Group1 Table T1 P2 P3 P4 P1 Data Sharding + Replicação Group2
  • 54. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.54 visão da Aplicação MySQL Cluster Data Nodes Data Layer Application Layer Management mgm_ndbd MySQL Cluster: alta-disponibilidade Table T1 F1 F3 F3 F1 F2 F4 F4 F2 Management mgm_ndbd ndbd ndbd ndbd ndbd Clients mysqld mysqld
  • 55. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.55 Qual o custo?
  • 56. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.56 Como manter TCO baixo? • Escalabilidade linear de Escritas e Leituras • Elasticidade, crescimento incremental, distrib. simétricaEscalabilidade • 99.999% de disponibilidade, 5min / ano • Self-healing, failover menor que 1s, geo-replicaçãoAlta Disponibilidade • Performance em tempo real, in-memory e em disco • Latência baixa e preditiva, acessos paralelosAlta Performance • Modelo relacional ACID, SQL e Foreign Keys • APIs NoSQL (C++, Java, Memcached, Node.js)Flexibilidade • Open Source, suporte e ferramentas comerciais opcionais • Hardware commodityBaixo TCO
  • 57. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.57 Principais componentes do TCO 1. Custo de aquisição • Licenciamento do Software (desenvolvimento e produção) • Hardware necessário • Conhecimento da equipe • Produtividade do time de desenvolvimento 2. Custo de manutenção e evolução • Hospedagem e manutenção do hardware • Conhecimento da equipe • Estabilidade e maturidade do software • Suporte do fabricante • Produtividade: Ferramentas de gerenciamento, monitoramento e backup • Produtividade do time de evolução do produto
  • 58. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.58 Carrier Grade Edition (CGE) - comercial MySQL Cluster Suporte Monitor & Backup Plug-ins Cluster Manager mysql.com/products/cluster/features.html
  • 59. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.59 Agilidade e redução do risco de downtime Gerenciamento Automatizado • Start / Stop de nós individuais ou todo cluster • Escalabilidade On-Line • Reconfiguração On-Line • Upgrades On-Line • Backup & Restore On-Line Self-Healing • Monitoramentos dos nós • Auto-recovery nos nós SQL + mgmt Alta-disponibilidade • Configuração consistente em todo cluster • Configurações persistentes • Agentes para HA
  • 60. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.60 Como o MySQL Cluster Manager pode ajudar? Exemplo: upgrade do MySQL Cluster 7.0 para 7.3 • 1 x preliminary check of cluster state • 8 x ssh commands per server • 8 x per-process stop commands • 4 x scp of configuration files (2 x mgmd & 2 x mysqld) • 8 x per-process start commands • 8 x checks for started and re-joined processes • 8 x process completion verifications • 1 x verify completion of the whole cluster. • Excludes manual editing of each configuration file. Total: 46 comandos - 2,5 horas de operações manuais Sem MySQL Cluster Manager Com MySQL Cluster Manager upgrade cluster --package=7.3 mycluster; Total: 1 comando – operações automatizadas
  • 61. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.61 Aprenda mais…
  • 62. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.62 Mais sobre como começar com MySQL Cluster Whitepaper: MySQL Cluster Evaluation Guide June 2013 mysql.com/why-mysql/white-papers/mysql- cluster-evaluation-guide
  • 63. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.63 Próximo passo: documentação Reference Manual Cap. 17.1, MySQL Cluster Overview 1. MySQL Cluster Core Concepts 2. MySQL Cluster Nodes, Node Groups, Replicas, and Partitions 3. MySQL Cluster Hardware, Software, and Networking Requirements 4. MySQL Cluster Development History 5. MySQL Server Using InnoDB Compared with MySQL Cluster 6. Known Limitations of MySQL Cluster dev.mysql.com/doc/refman/5.6/en/mysql-cluster.html
  • 64. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.64 Mais sobre como MySQL Cluster para Web Whitepaper: Guide to Scaling Web Databases with MySQL Cluster June 2013 mysql.com/why-mysql/white-papers/guide-to- scaling-web-databases-with-mysql-cluster
  • 65. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.65 MySQL Boot Camp Accelerated MySQL Performance Tuning Boot Camp Accelerated MySQL for Begginers MySQL for Database Administrators MySQL Performance Tuning MySQL High Availability MySQL Cluster MySQL DBA MySQL Boot Camp Accelerated MySQL for Developers MySQL Performance Tuning Boot Camp Accelerated MySQL for Begginers MySQL and PHP Developing Dynamic Web Applicationg MySQL Advanced Stored Procedures MySQLDeveloper mysql.com/training Certificações Opcional Necessário Treinamentos e certificações
  • 66. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.66 Sumário  O MySQL Cluster é um produto derivado do popular MySQL Server que é o "M" do LAMP stack.  Trata-se de um banco de dados distribuído com arquitetura shared-nothing e que pode oferecer 99,999% de disponibilidade, performance superior a 1 bilhão de escritas por minuto, escalabilidade linear, conformidade com o modelo ACID, flexibilidade das interfaces NoSQL e geo-replicação multi- master.  Instale, migre algumas tabelas e comece a usar!
  • 67. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.67 @MySQLBR facebook.com/MySQLBR Obrigado! Slides disponíves em…

×