SGDB OpenSource/Free vs       MercadoTrilha – Banco de Dados    Carlos Eduardo Smanioto                              Globa...
AVISO        Globalcode – Open4education
Agenda Who I am  O Por que do tema O que temos hoje ? Desafios     Desafios     Disponibilidade     Escalabilidade     Au...
NERD Report How I am  carlos.smanioto@datapower.com.br •NERD confesso •Consultor PostgreSQL/MySQL – Data Power  •DBA Sen...
Porque do tema                 Globalcode – Open4education
Porque do tema2.Guerra entre DBAs de produtos comerciais x Free3.O que o mercado AINDA não conhece o potencial REALsobre o...
O Que temos hoje                   Globalcode – Open4education
O Que temos hoje -     PGSQL           26 anos de história       1986          Berkeley com $$$ da DARPA, AROP (Miltar) ...
O Que temos hoje -      PGSQL            Principais Features      • SQL: Window Function e Recursive (v 8.4 - 2009)      •...
O Que temos hoje -         PGSQL                Sem Window Function   SELECT f2.departamento, f2.nome, f2.salario,   (    ...
O Que temos hoje -       PGSQL              Com Window Function   SELECT departamento, nome, salario,   avg(salario) OVER ...
O Que temos hoje -   PGSQL          Resultado da query                               Globalcode – Open4education
O Que temos hoje -       PGSQL            Principais Features 9.2      • Replicação Sincrona      • Suporte a JSON, permit...
O Que temos hoje -   PGSQL                             Globalcode – Open4education
O Que temos hoje -      MySQL                 33 anos de história         1979 – Nasce a TcX Consultoria             Mic...
O Que temos hoje -       MySQL                  Principais Features      • Suporte a vários Store Engines      • GAMBETA M...
O Que temos hoje -        MySQL              Principais Features – 5.6• NotOnlySQL com MemCache• Replicação   • Time-Delay...
O Que temos hoje -   MySQL                             Globalcode – Open4education
Desafios           Globalcode – Open4education
Desafios•Desafio 1 - Disponibilidade•Desafio 2 – Escalabilidade•Desafio 3 – Auditoria•Desafio 4 – Gerenciamento•Desafio 5 ...
Desafio - Disponibilidade                            Globalcode – Open4education
Desafios -   Disponibilidade• MySQL  • Master – Slave - Balancamento de Carga Read Only  • Log transacional - BinLog• Post...
Desafios -   DisponibilidadePostgreSQL – Slony (Triger Repliction)                                     Globalcode – Open4e...
Desafios -   Escalabilidade                              Globalcode – Open4education
Desafios -   Escalabilidade• MySQL  • MySQL Cluster – 16,6 milhões de querys segundo.  • Master – Master – Balancamento de...
Desafios -   Escalabilidade   MySQL Cluster                              Globalcode – Open4education
Desafios -    Escalabilidade    MySQL   Multi-Master                  /etc/my.cnf do NODE B                  auto_incremen...
Desafios -   Escalabilidade                                               MySQL                                           ...
Desafios -    Escalabilidade     MySQL Multi-Master Circular                                      SELECT após replicação [...
Desafios -   Escalabilidade• PostgreSQL  •PostgreSQL-XC  •PgPOOL  •PGCluster                              Globalcode – Ope...
Desafios -   EscalabilidadePostgreS-XC                              APP                            Coordinator            ...
Desafios -    EscalabilidadePostgreS-XC                    Coordinator lida com cada instruções SQL a partir              ...
Desafios -   Escalabilidade                              • Pool                              • Replicação  PgPool         ...
Desafios -   Auditoria• MySQL  • LOG das ações     • Make do it - POG’s POWER        • http://dev.mysql.com/doc/refman/5.5...
Desafios -    Auditoria• PostgreSQL  • Log das ações (Connect Fail, DDL e DML,    Disconnect)     • Configuração no postgr...
Desafios -   Gerenciamento • MySQL    • Performance Analyze      • Ferramentas Pagas         • Spotlight da Quest Software...
Desafios -   Gerenciamento        • MySQL             • Administração               • Ferramentas Pagas                  •...
Desafios -   Gerenciamento        • PostgreSQL             • Performance Analyze                • Ferramentas Pagas       ...
Desafios -   Gerenciamento               • PostgreSQL                 • Administração                    • Ferramentas Pag...
Desafios -   Gerenciamento  Team PostgreSQL Web Interface                                  Globalcode – Open4education
Arquitetura é tudo                     Globalcode – Open4education
Arquitetura é tudoOnde usar o MySQL ?  •Foco em WEB faz frente ao SQL ServerPor que ?  •Diferentes Store Engines  •Simples...
Desafios -   Suporte                       Globalcode – Open4education
Desafios -   Suporte        • PostgreSQL             • Comunidade Forte               • postgresql.org               • Pla...
Desafios -   Suporte        • MySQL             • Planet MySQL (Agora em PT-BR)               • http://pt.planet.mysql.com...
Mercado para os DBAs                       Globalcode – Open4education
Mercado para os DBAs      • MySQL        • ORACLE com planos ambiciosos          • Divulgação do SGDB como sendo rápido e ...
Mercado para os DBAs      • MySQL        • Administração inicial bastante simples          mas a falta de conhecimento pod...
Mercado para os DBAs      • PostgreSQL        • SGDB Open Features Expressívas          • Mais próximo do Oracle Database ...
CONCLUSÃO            Globalcode – Open4education
Conclusão  • Saber definir qual é o SGDB Free Usar  • Não ser Xiita em um SGDB, quando é low-    cost é interessante a int...
Upcoming SlideShare
Loading in …5
×

SGDB OpenSource/Free vs Mercado

2,147 views
2,078 views

Published on

Conhecer as características dos principais SGDBs OpenSource/Free nos dá vantagem para decidirmos até onde podemos ir com facilidade.

É apresentado o MySQL e o PostgreSQL por serem os dois principais produtos que podem entrar nessa guerra.

Published in: Technology

SGDB OpenSource/Free vs Mercado

  1. 1. SGDB OpenSource/Free vs MercadoTrilha – Banco de Dados Carlos Eduardo Smanioto Globalcode – Open4education
  2. 2. AVISO Globalcode – Open4education
  3. 3. Agenda Who I am  O Por que do tema O que temos hoje ? Desafios Desafios Disponibilidade Escalabilidade Auditoria Gerenciamento Suporte Técnico Arquitetura é tudo Mistura de Tecnologias – NoSQL + SQL Planejamento, algo que sempre esquecem O Mercado para os futuros DBAs Free/Open Mercado MYSQL Mercardo PostgreSQL Globalcode – Open4education
  4. 4. NERD Report How I am  carlos.smanioto@datapower.com.br •NERD confesso •Consultor PostgreSQL/MySQL – Data Power  •DBA Senior na Buscapé Company •Diversos artigos escrito na SQL Magazine •Instrutor Oracle University – MySQL •Consultor Linux desde os 17 anos Globalcode – Open4education
  5. 5. Porque do tema Globalcode – Open4education
  6. 6. Porque do tema2.Guerra entre DBAs de produtos comerciais x Free3.O que o mercado AINDA não conhece o potencial REALsobre os SGDBs FREE/Open4.Entender até onde pode se chegar com baixo custo. Globalcode – Open4education
  7. 7. O Que temos hoje Globalcode – Open4education
  8. 8. O Que temos hoje - PGSQL 26 anos de história  1986  Berkeley com $$$ da DARPA, AROP (Miltar)  1995  Postgres95  Adicionado o SQL  Liberado na WEB  1996  Nome PostgreSQL Globalcode – Open4education
  9. 9. O Que temos hoje - PGSQL Principais Features • SQL: Window Function e Recursive (v 8.4 - 2009) • Trabalha com herança de tabelas • Archive, HotStandBy e Streaming Replication • Suporte a Store Procedure em Java, Perl, C • Trabalho com o conceito de ROLEs Group, Schema, Database e TableSpace Globalcode – Open4education
  10. 10. O Que temos hoje - PGSQL Sem Window Function SELECT f2.departamento, f2.nome, f2.salario, ( SELECT avg(f1.salario) FROM funcionario f1 WHERE f1.departamento = f2.departamento GROUP BY f1.departamento ) as media FROM funcionario f2 ORDER BY f2.departamento; (cost=2675.12..2675.65 rows=210 width=352) Globalcode – Open4education
  11. 11. O Que temos hoje - PGSQL Com Window Function SELECT departamento, nome, salario, avg(salario) OVER (PARTITION BY departamento) AS media FROM funcionario ORDER BY departamento; (cost=20.20..23.87 rows=210 width=352) Globalcode – Open4education
  12. 12. O Que temos hoje - PGSQL Resultado da query Globalcode – Open4education
  13. 13. O Que temos hoje - PGSQL Principais Features 9.2 • Replicação Sincrona • Suporte a JSON, permitindo integração hibrida DBs que falam JSON com o NoSQL MongoDB Globalcode – Open4education
  14. 14. O Que temos hoje - PGSQL Globalcode – Open4education
  15. 15. O Que temos hoje - MySQL 33 anos de história  1979 – Nasce a TcX Consultoria  Michael Monty desenvolve o UNIREG  1994  TcX decide colocar no UNIREG o SQL  Uniu forças com o mSQL de David Hugles  Arquitetura via API  1995  Nasce o MySQL e a empresa MySQL-AB  Nome: Arquivos com prefixo my é histórico  Nome: A filha de Monty tambem se chama My  2008  Sun adquire por aproximadamente $ 1 bilhão  2009  Oracle adquire a Sun aproxidamente $ 7.4 bilhões Globalcode – Open4education
  16. 16. O Que temos hoje - MySQL Principais Features • Suporte a vários Store Engines • GAMBETA MARAVILHOSA: INSERT IGNORE • Replicação extremamente Flexível Globalcode – Open4education
  17. 17. O Que temos hoje - MySQL Principais Features – 5.6• NotOnlySQL com MemCache• Replicação • Time-Delayed Replication • Multi-Thread • Para SQL_Thread e IO_Thread Globalcode – Open4education
  18. 18. O Que temos hoje - MySQL Globalcode – Open4education
  19. 19. Desafios Globalcode – Open4education
  20. 20. Desafios•Desafio 1 - Disponibilidade•Desafio 2 – Escalabilidade•Desafio 3 – Auditoria•Desafio 4 – Gerenciamento•Desafio 5 – Profissionais Qualificados Globalcode – Open4education
  21. 21. Desafio - Disponibilidade Globalcode – Open4education
  22. 22. Desafios - Disponibilidade• MySQL • Master – Slave - Balancamento de Carga Read Only • Log transacional - BinLog• PostgreSQL • Master – Slave Sincrono • Slony • Hot Standby • Archive Globalcode – Open4education
  23. 23. Desafios - DisponibilidadePostgreSQL – Slony (Triger Repliction) Globalcode – Open4education
  24. 24. Desafios - Escalabilidade Globalcode – Open4education
  25. 25. Desafios - Escalabilidade• MySQL • MySQL Cluster – 16,6 milhões de querys segundo. • Master – Master – Balancamento de Carga RW Globalcode – Open4education
  26. 26. Desafios - Escalabilidade MySQL Cluster Globalcode – Open4education
  27. 27. Desafios - Escalabilidade MySQL Multi-Master /etc/my.cnf do NODE B auto_increment_increment = 10 auto_increment_offset = 2 Globalcode – Open4education
  28. 28. Desafios - Escalabilidade MySQL Multi-Master Circular /etc/my.cnf do NODE A auto_increment_increment = 10 auto_increment_offset = 1 /etc/my.cnf do NODE B auto_increment_increment = 10 auto_increment_offset = 2 /etc/my.cnf do NODE C auto_increment_increment = 10 auto_increment_offset = 3 /etc/my.cnf do NODE D auto_increment_increment = 10 auto_increment_offset = 4 Globalcode – Open4education
  29. 29. Desafios - Escalabilidade MySQL Multi-Master Circular SELECT após replicação [node A] [node B] +----+------+ +----+------+ +----+------+ | id | c | | id | c | | id | c | +----+------+ +----+------+ +----+------+ | 1 | a | | 2 | b | | 1 | a | | 11 | aa | | 12 | bb | | 11 | aa | | 21 | aaa | | 22 | bbb | | 21 | aaa | +----+------+ +----+------+ | 4 | d | | 14 | dd | | 24 | ddd | [node C] [node D] | 3 | c | +----+------+ +----+------+ | 13 | cc | | id | c | | id | c | | 23 | ccc | +----+------+ +----+------+ | 2 | b | | 3 | c | | 4 | d | | 12 | bb | | 13 | cc | | 14 | dd | | 22 | bbb | | 23 | ccc | | 24 | ddd | +----+------+ +----+------+ +----+------+ Globalcode – Open4education
  30. 30. Desafios - Escalabilidade• PostgreSQL •PostgreSQL-XC •PgPOOL •PGCluster Globalcode – Open4education
  31. 31. Desafios - EscalabilidadePostgreS-XC APP Coordinator PostgreSQL 9.1 GTM Data Node Data Node Globalcode – Open4education
  32. 32. Desafios - EscalabilidadePostgreS-XC Coordinator lida com cada instruções SQL a partir de aplicações, determina que Datanode ir, e se Coordinator decompõe em locais instruções SQL para cada Datanode GTM(Global Transaction Management) é GTM responsável pela propriedade ACID - . Datanode armazena dados nas tabelas e lidar com instruções SQL localmente Data Node Globalcode – Open4education
  33. 33. Desafios - Escalabilidade • Pool • Replicação PgPool • Load Balance Globalcode – Open4education
  34. 34. Desafios - Auditoria• MySQL • LOG das ações • Make do it - POG’s POWER • http://dev.mysql.com/doc/refman/5.5/en/writing-audit- plugins.html • Mcaffee Audit Plugin >= 5.0 • Road Map da Oracle – Audit Plugin + Oracle Firewall, etc • long_slow_query = 0 seconds • Trilha de auditoria • Gravar o histórico de uma alteração no ambiente • By Trigger • By Aplicação Globalcode – Open4education
  35. 35. Desafios - Auditoria• PostgreSQL • Log das ações (Connect Fail, DDL e DML, Disconnect) • Configuração no postgresql.conf • Trilha de Auditoria (Alteração nos dados) • PgFoundry - audittrail2 • Code.google - pgtrail • By Trigger • By Aplicação Globalcode – Open4education
  36. 36. Desafios - Gerenciamento • MySQL • Performance Analyze • Ferramentas Pagas • Spotlight da Quest Software • MonYog • Oracle Enterprise Monitor (Free na versão MySQL Enterprise) • Open/FreeWare • RacherHacker – MySQL Tuner • InnoTOP • Hackmysql.com – MySQLReport Globalcode – Open4education
  37. 37. Desafios - Gerenciamento • MySQL • Administração • Ferramentas Pagas • SQLYog • MySQL WorkBench Enterprise (Free na versão MySQL Enterprise) • Quest Software – Toad for MySQL • Open/FreeWare • MySQL WorkBench Community • Quest Software – Toad for MySQL Communit • PHPMyAdmin Globalcode – Open4education
  38. 38. Desafios - Gerenciamento • PostgreSQL • Performance Analyze • Ferramentas Pagas • PostgreSQL Enterprise Manager • Open/FreeWare • PGSnap (OraSnap) • NO BRAÇO! • vmstats, etc... • http://wiki.postgresql.org/wiki/ Performance_Analysis_Tools • Pg_log verificando frequencia de checkpoint Globalcode – Open4education
  39. 39. Desafios - Gerenciamento • PostgreSQL • Administração • Ferramentas Pagas • EMS SQL Manager for PostgreSQL • Open/FreeWare • TeamPostgreSQL WebManager • PHPPgAdmin • PGADMIN III – Tradicional Globalcode – Open4education
  40. 40. Desafios - Gerenciamento Team PostgreSQL Web Interface Globalcode – Open4education
  41. 41. Arquitetura é tudo Globalcode – Open4education
  42. 42. Arquitetura é tudoOnde usar o MySQL ? •Foco em WEB faz frente ao SQL ServerPor que ? •Diferentes Store Engines •SimplesOnde usar o PostgreSQL • Foco em Data warehouse faz frente ao DB2/Oracle principalmente por ser muito similar Por que ? • Permite Herança de tabelas • Consultas Recursivas e Window Function Globalcode – Open4education
  43. 43. Desafios - Suporte Globalcode – Open4education
  44. 44. Desafios - Suporte • PostgreSQL • Comunidade Forte • postgresql.org • Planet PostgreSQL • http://planet.postgresql.org/ • Forte Documentação • http://www.postgresql.org/docs/ • Bons Livros • Consultores/Empresas Como Data Power and Me :D Globalcode – Open4education
  45. 45. Desafios - Suporte • MySQL • Planet MySQL (Agora em PT-BR) • http://pt.planet.mysql.com/ • ORACLE dando retaguarda • Bons Livros • Consultores/Empresas • Como Data Power and Me :D • ORACLE Brasil Globalcode – Open4education
  46. 46. Mercado para os DBAs Globalcode – Open4education
  47. 47. Mercado para os DBAs • MySQL • ORACLE com planos ambiciosos • Divulgação do SGDB como sendo rápido e estável • Nova Versão com Features interessantes para concentrar Desenvolvedores NoSQL e SQL no mesmo produto – Not Only SQL através do MemCache Protocol integrado com o Store Engine InnoDB • Plano de Certificação através da Oracle Univerity Globalcode – Open4education
  48. 48. Mercado para os DBAs • MySQL • Administração inicial bastante simples mas a falta de conhecimento pode comprometer os futuros ajustes de performance (Default – 1 unico datafile) • Baixíssima manutenção • Tuning bem simples de aplicar Globalcode – Open4education
  49. 49. Mercado para os DBAs • PostgreSQL • SGDB Open Features Expressívas • Mais próximo do Oracle Database tanto para developers quanto para DBAs • Muito robusto para Data Warehouse • A cada versão novidades cruciáveis para o mercado como Replicação SINCRONA, • Muito forte na região SUL do país • Ganhando cada vez mais adeptos em grandes empresas Globalcode – Open4education
  50. 50. CONCLUSÃO Globalcode – Open4education
  51. 51. Conclusão • Saber definir qual é o SGDB Free Usar • Não ser Xiita em um SGDB, quando é low- cost é interessante a integração de vários SGDBs • Estar atento as novas features • Planejar bem durante a fase de projeto Globalcode – Open4education

×