Upload
victoria-alto
View
222
Download
0
Embed Size (px)
Citation preview
HistóriaHistóriaNa década de 90, David Axmark, Allan Larsson e Michael
“Monty” Widenius, precisaram de uma interface SQL compatível com as rotinas ISAM que utilizavam em suas
aplicações e tabelas.
Primeiro, tentaram utilizar a API mSQL, contudo não era tão rápida quanto precisavam, pois utilizavam rotinas de baixo
nível.
Utilizando a API do mSQL, escreveram em C e C++ uma nova API que deu origem ao MySQL.
HistóriaHistóriaSurgiu a idéia de um BD com todas estas características, para
uso no mercado on-line (internet) e no mercado corporativo (desktop), e com custo reduzido.
Com o ótimo resultado, o MySQL começou a ser difundido e seus criadores fundaram a empresa MySQL AB.
A partir dessa fase, tornou-se mais conhecido por suas características de rápido acesso e cada vez mais utilizado.
Novas versões foram lançadas, contemplando novas necessidades.
HistóriaHistóriaEm Janeiro de 2008, a MySQL AB, foi adquirida pela Sun
Microsystems,
Em Abril de 2009 a Oracle compra a Sun Microsystems e todos o seu produtos, incluindo o MySQL.
HistóriaHistóriaO MySQL hoje suporta Unicode, Full Text Indexes, replicação, Hot Backup, GIS, OLAP e muitos outros
recursos.
Hoje, o MySQL, é considerado um dos BD mais rápidos do mercado, tornou-se alternativa barata e viável para uma
grande parte do mercado corporativo e on-line.
O nome do golfinho do MySQL (logotipo) é Sakila, escolhido pelos seus fundadores
Linha do TempoLinha do Tempo
1994 – Início do projeto
1995 – Lançamento da primeira versão
2001 – Lançamento da versão 3.23
2004 – Lançamento da versão 4.1
2005 – Lançamento da versão 5.0
2008 – Aquisição da MySQL AB pela Sun Microsystems
2008 – Lançamento da Versão 5.1 (versão atual)
2009 – Aquisição da Sun Microsystems pela Oracle
Informações GeraisInformações GeraisRobusto Rápido
Multitarefa
Multiusuário
Licença Dupla
Informações GeraisInformações Gerais
Um banco de dados é uma coleção de dados estruturados. Para adicionar, acessar, e processar dados armazenados em um banco de dados de um
computador, é necessário um SGBD como o Servidor MySQL.
O gerenciamento de bancos de dados funciona como a engrenagem central na computação.
Informações GeraisInformações Gerais
É um sistema de gerenciamento de bancos de dados relacional.
Um banco de dados relacional armazena dados em tabelas separadas em vez de colocar todos os dados
um só local.
Isso proporciona velocidade e flexibilidade.
Principais CaracterísticasPrincipais CaracterísticasSGBD
Portabilidade
Multithreads
Formas de armazenamento
Velocidade
Segurança
SQL
Fulltext search
Capacidades
SegurançaSegurançaContra ameaças externas, e os dados dos próprios
usuários.
Utiliza ACLs para verificar se o usuário está autorizado.
Não suporta a autenticação de usuários pelo sistema operacional, nem o estabelecimento de prazo de
validade para senha.
Suporta a execução de backup online do banco de dados.
Por que usar?Por que usar?Extremamente rápido, confiável, e fácil de usar.
Tem um conjunto de recursos muito práticos desenvolvidos com a cooperação dos usuários.
Desenvolvido para lidar com BD muito grandes de maneira muito mais rápida que as soluções existentes e tem sido usado em ambientes de
produção de alta demanda por diversos anos de maneira bem sucedida.
Conectividade, velocidade, e segurança fazem com que seja altamente adaptável para acessar bancos de
dados na Internet.
Licença de usoLicença de usoDois tipos:
Software livre: baseada nas cláusulas da GNU-GPL, a qual estabelece o que se pode ou não fazer com a
ferramenta e demais recursos.
Além do programa, o seu código-fonte também é disponibilizado, contudo, todas essas situações serão
tratadas e detalhadas na licença GNU-GPL.
Licença de usoLicença de uso
Comercial: mais apropriada para algumas situações de suas aplicações comerciais, obter suporte diferenciado,
e mais ferramentas.
Empresas que o utilizamEmpresas que o utilizamEntre os cases mais famosos, vale a pena citar o da
NASA.
O departamento NAIS, em razão da grande demanda de sua utilização e altos custos de manutenção do BD
Oracle, optou por migrar os seus BDs para uma solução open source e optaram por utilizar o MySQL.
ComparaçõesComparaçõesEsses testes foram realizados baseados em um computador com
Windows NT4 e acesso via ODBC
Banco de dados Segundosmysql_odbc 464db2_odbc 1.206ms-sql_odbc 1.634oracle_odbc 20.800sybase_odbc 17.614
Tabela 1 - Leitura de 2.000.000 por índice
ComparaçõesComparações
Tabela 2 - Inserção de 350.768 linhas
Banco de dados Segundos
mysql_odbc 619
db2_odbc 3.460
ms-sql_odbc 4.012
oracle_odbc 11.291
sybase_odbc 4.802
VantagensVantagens
• Desempenho
• Segurança
• Aplicabilidade
• Gratuito
LimitaçõesLimitaçõesDe acordo com o Storage Engine:
Característica MyISAM InnoDBLimite de armazenamento 256 TB 64 TBLimite de tabelas Indeterminado IndeterminadoLimite de linhas por tabela (232)2 (1.844E+19) IndeterminadoLimite de colunas por tabela 4096 1000Limite de índices por tabela 64 IndeterminadoComprimento máximo de chave 1000 bytes 3500 bytesComprimento máximo de linha 64 KB 4 GBComprimento máximo de
coluna64 KB 4 GB
Tabela de limitações do MySQL
Ambiente WebAmbiente WebWEB: rapidez, confiabilidade e funcionalidade.
MySQL está na condição de equilíbrio do custo/beneficio.
Uma das vantagens em se utilizar o MySQL para aplicações WEB é seu suporte a conexões simultâneas.
Outra característica significativa é que não há perda de desempenho nem na integridade física dos dados
enquanto essas conexões estejam simultaneamente em atividade.
Gerenciamento de LogGerenciamento de LogO MySQL mantêm um log de todas as operações que alteraram dados ou que potencialmente teriam alterado.
É utilizado para dois propósitos importantes:
- Recuperação
- Replicação
Gerenciamento de LogGerenciamento de LogO MySQL mantêm dois níveis de Log.
Statement-based Log
Row-based log
O sistema conta com uma ferramenta que exporta os logs em formato HTML.
Expectativas FuturasExpectativas Futuras
Aquisição da Sun pela Oracle
ConclusãoConclusãoO SGBD MySQL exerce bem sua função e é gratuito. É um
dos SGBDs mais rápidos e leves, tornando-se o mais utilizado em aplicações para web.
Definir o banco de dados adequado é uma questão de análise de características, recursos e capacidade, mas
independente da solução escolhida, pode-se sentir confortável ao se utilizar de sistemas gerenciadores de banco de dados livres, não deixando a desejar frente a
soluções proprietárias.