Banco de Dados I 2007 Módulo VII: Comparação SGBDs (Aula 1) Clodis Boscarioli entre Agenda O que considerar ao escolher um SGBD; Características importantes; Exemplo de Benchmark; O que considerar? Número de Usuários; Crescimento da base de dados; Estabilidade; Robustez; Desempenho; Segurança; O que considerar? Deve-se observar principalmente características mais técnicas, que impactarão diretamente na administração dos dados; A escolha da ferramenta deve ser discutida entre toda a equipe; A ferramenta deve ir de encontro à filosofia da empresa e às expectativas de crescimento. O que considerar? Segue um exemplo de comparação entre 09 SGBDs, bastante conhecidos no mercado, explorando algumas características relevantes para o gerenciamento de banco de dados relacionais. Plataformas Suportadas SGBD Windows Mac OS X Linux UNIX DB2 Yes No Yes Yes Firebird Yes Yes Yes Yes Informix Yes No Yes Yes Ingres Yes No Yes Yes InterBase Yes No Yes Yes (Solaris) Microsoft SQL Server Yes No No No MySQL Yes Yes Yes Yes Oracle Yes Yes Yes Yes PostgreSQL Yes Yes Yes Yes Características Fundamentais ACID Integridade Referencial Transações DB2 Yes Yes Yes Firebird Yes Yes Yes Informix Yes Yes Yes Ingres Yes Yes Yes InterBase Yes Yes Yes Microsoft SQL Server Yes Yes Yes MySQL Yes Yes Yes Oracle Yes Yes Yes PostgreSQL Yes Yes Yes SGBD Tabelas e Visões SGBD Tabela Temporária Visão Materializada Yes Yes Firebird Will be in 2.1 No Informix Yes Yes Ingres Yes Ingres r4 InterBase Yes No Microsoft SQL Server Yes Yes MySQL Yes No Oracle Yes Yes PostgreSQL Yes No DB2 Índices SGBD R-/R+ Tree Hash Parcial GiST DB2 No ? No No Firebird No No No No Informix Yes Yes Yes No Ingres Yes Yes No No InterBase No No No No ? Non/Cluster & fill factor Yes No MySQL MyISAM tables only MEMORY, Cluster (NDB), InnoDB, tables only No No Oracle EE edition only Cluster Tables Yes No Yes Yes Yes Yes Microsoft SQL Server PostgreSQL Árvores B/B+ são consideradas “básicas”, suportadas por todos os SGBDs. Operadores de Conjunto SGBD União Inner Joins Outer Joins Merge DB2 Yes Yes Yes Yes Firebird Yes Yes Yes ? Informix Yes Yes Yes Yes Ingres Yes Yes Yes Yes ? Yes Yes ? Microsoft SQL Server Yes Yes Yes Yes MySQL Yes Yes Yes Yes Oracle Yes Yes Yes Yes PostgreSQL Yes Yes Yes Yes InterBase Outros objetos nativos Domínio dos Dados Cursor Trigger Funções Procedure External routine DB2 No Yes Yes Yes Yes Yes Firebird Yes Yes Yes Yes Yes Yes Informix ? Yes Yes Yes Yes Yes Ingres Yes Yes Yes Yes Yes Yes InterBase Yes Yes Yes Yes Yes Yes Yes (2000 and beyond) Yes Yes Yes Yes Yes MySQL No Yes Yes Yes Yes Yes Oracle Yes Yes Yes Yes Yes Yes PostgreSQL Yes Yes Yes Yes Yes Yes SGBD Microsoft SQL Server Outras Características Ferramentas Visuais de Administração; Capacidades de particionamento e replicação de dados; ... Benchmark Para mensurar a taxa de I/O, metodologias de benchmark são indicadas. Leitura do artigo: Comparativo de Desempenho entre Bancos de Dados de Código Aberto, de Carlos Eduardo Santos Pires, Rilson Oscar Nascimento e Ana Carolina Salgado. Referências Bibliográficas Comparison of Relational Database Management Systems, (Wikipedia) http://en.wikipedia.org/wiki/Comparison_of_SQL_database_managemen t_systems Comparison of Oracle, MySQL and PostgreSQL DBMS, Fermi National Accelerator Laboratory, http://wwwcss.fnal.gov/dsg/external/freeware/mysql-vs-pgsql.html Comparativo de Desempenho entre Bancos de Dados de Código Aberto, de Carlos Eduardo Santos Pires, Rilson Oscar Nascimento, Ana Carolina Salgado. Escola Regional de Banco de Dados, Passo Fundo,RS, 2006. http://www.upf.br/erbd/download/15997.pdf