Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

SGDB OpenSource/Free vs Mercado

2,432 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

×