Transcript
Page 1: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

Trilha – Banco de DadosCarlos Eduardo Smanioto

SGDB OpenSource/Free vs Mercado

Page 2: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

AVISO

Page 3: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

AgendaWho I am

O Por que do tema

O que temos hoje ?

Desafios Desafios

Disponibilidade

Escalabilidade

Auditoria

Gerenciamento

Suporte Técnico

Arquitetura é tudoMistura de Tecnologias – NoSQL + SQL

Planejamento, algo que sempre esquecem

O Mercado para os futuros DBAs Free/OpenMercado MYSQL

Mercardo PostgreSQL

Page 4: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

NERD Report

How I am

[email protected]

•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

Page 5: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

Porque do tema

Page 6: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

Porque do tema

2.Guerra entre DBAs de produtos comerciais x Free

3.O que o mercado AINDA não conhece o potencial REAL sobre os SGDBs FREE/Open

4.Entender até onde pode se chegar com baixo custo.

Page 7: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

O Que temos hoje

Page 8: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

O Que temos hoje - PGSQL

1986 Berkeley com $$$ da DARPA, AROP (Miltar)

1995 Postgres95

Adicionado o SQL Liberado na WEB

1996 Nome PostgreSQL

26 anos de história

Page 9: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

O Que temos hoje - PGSQL

• 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

Principais Features

Page 10: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

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)

Page 11: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

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)

Page 12: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

O Que temos hoje - PGSQL

Resultado da query

Page 13: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

O Que temos hoje - PGSQL

• Replicação Sincrona

• Suporte a JSON, permitindo integração hibrida DBs que falam JSON com o NoSQL MongoDB

Principais Features 9.2

Page 14: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

O Que temos hoje - PGSQL

Page 15: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

O Que temos hoje - MySQL

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

33 anos de história

Page 16: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

O Que temos hoje - MySQL

Principais Features

• Suporte a vários Store Engines

• GAMBETA MARAVILHOSA: INSERT IGNORE

• Replicação extremamente Flexível

Page 17: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

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

Page 18: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

O Que temos hoje - MySQL

Page 19: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

Desafios

Page 20: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

Desafios

•Desafio 1 - Disponibilidade•Desafio 2 – Escalabilidade

•Desafio 3 – Auditoria•Desafio 4 – Gerenciamento

•Desafio 5 – Profissionais Qualificados

Page 21: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

Desafio - Disponibilidade

Page 22: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

Desafios - Disponibilidade

• MySQL• Master – Slave - Balancamento de Carga Read Only• Log transacional - BinLog

• PostgreSQL• Master – Slave Sincrono• Slony• Hot Standby

• Archive

Page 23: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

Desafios - Disponibilidade

PostgreSQL – Slony (Triger Repliction)

Page 24: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

Desafios - Escalabilidade

Page 25: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

Desafios - Escalabilidade

• MySQL• MySQL Cluster – 16,6 milhões de querys segundo.• Master – Master – Balancamento de Carga RW

Page 26: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

Desafios - Escalabilidade

MySQL Cluster

Page 27: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

Desafios - Escalabilidade

MySQL Multi-Master

/etc/my.cnf do NODE Bauto_increment_increment = 10auto_increment_offset = 2

Page 28: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

Desafios - EscalabilidadeMySQL

Multi-MasterCircular

/etc/my.cnf do NODE A auto_increment_increment = 10auto_increment_offset = 1

/etc/my.cnf do NODE B auto_increment_increment = 10auto_increment_offset = 2

/etc/my.cnf do NODE C auto_increment_increment = 10auto_increment_offset = 3

/etc/my.cnf do NODE D auto_increment_increment = 10auto_increment_offset = 4

Page 29: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

Desafios - EscalabilidadeMySQL Multi-Master Circular

[node A] +----+------+| id | c |+----+------+| 1 | a || 11 | aa || 21 | aaa |+----+------+

[node B] +----+------+| id | c |+----+------+| 2 | b || 12 | bb || 22 | bbb |+----+------+

[node C] +----+------+| id | c |+----+------+| 3 | c || 13 | cc || 23 | ccc |+----+------+

[node D] +----+------+| id | c |+----+------+| 4 | d || 14 | dd || 24 | ddd |+----+------+

+----+------+| id | c |+----+------+| 1 | a || 11 | aa || 21 | aaa || 4 | d || 14 | dd || 24 | ddd || 3 | c || 13 | cc || 23 | ccc || 2 | b || 12 | bb || 22 | bbb |+----+------+

SELECT após replicação

Page 30: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

Desafios - Escalabilidade

• PostgreSQL •PostgreSQL-XC

•PgPOOL•PGCluster

Page 31: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

Desafios - Escalabilidade

PostgreS-XC

GTM Coordinator

Data Node Data Node

APP

PostgreSQL 9.1

Page 32: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

Desafios - Escalabilidade

PostgreS-XC

GTM

Coordinator

Data Node

Coordinator lida com cada instruções SQL a partir de aplicações, determina que Datanode ir, e se decompõe em locais instruções SQL para cada Datanode

GTM(Global Transaction Management) é responsável pela propriedade ACID - .

Datanode armazena dados nas tabelas e lidar com instruções SQL localmente

Page 33: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

Desafios - Escalabilidade

PgPool• Pool• Replicação• Load Balance

Page 34: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

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

Page 35: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

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

Page 36: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

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

Page 37: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

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

Page 38: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

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

Page 39: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

Desafios - Gerenciamento

• PostgreSQL• Administração

• Ferramentas Pagas• EMS SQL Manager for PostgreSQL

• Open/FreeWare• TeamPostgreSQL WebManager• PHPPgAdmin• PGADMIN III – Tradicional

Page 40: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

Desafios - Gerenciamento

Team PostgreSQL Web Interface

Page 41: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

Arquitetura é tudo

Page 42: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

Arquitetura é tudo

Onde 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

Onde usar o MySQL ?•Foco em WEB faz frente ao SQL Server

Por que ?•Diferentes Store Engines•Simples

Page 43: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

Desafios - Suporte

Page 44: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

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

Page 45: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

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

Page 46: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

Mercado para os DBAs

Page 47: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

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

Page 48: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

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

Page 49: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

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

Page 50: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

CONCLUSÃO

Page 51: SGDB OpenSource/Free vs Mercado

Globalcode – Open4education

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


Top Related