História
Na 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ória
Surgiu 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ória
Em 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ória
O 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 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 Gerais
Robusto
Rápido
Multitarefa
Multiusuário
Licença Dupla
Informaçõ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 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ísticas
SGBD
Portabilidade
Multithreads
Formas de armazenamento
Velocidade
Segurança
SQL
Fulltext search
Capacidades
Segurança
Contra 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?
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 uso
Dois 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 uso
Comercial: mais apropriada para algumas situações de
suas aplicações comerciais, obter suporte diferenciado,
e mais ferramentas.
Empresas que o utilizam
Entre 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ções
Esses testes foram realizados baseados em um computador com
Windows NT4 e acesso via ODBC
Banco de dados
mysql_odbc
db2_odbc
ms-sql_odbc
oracle_odbc
sybase_odbc
Segundos
464
1.206
1.634
20.800
17.614
Tabela 1 - Leitura de 2.000.000 por índice
Comparações
Banco de dados
Segundos
mysql_odbc
619
db2_odbc
3.460
ms-sql_odbc
4.012
oracle_odbc
11.291
sybase_odbc
4.802
Tabela 2 - Inserção de 350.768 linhas
Vantagens
• Desempenho
• Segurança
• Aplicabilidade
• Gratuito
Limitações
De acordo com o Storage Engine:
Característica
Limite de armazenamento
Limite de tabelas
Limite de linhas por tabela
MyISAM
InnoDB
256 TB
64 TB
Indeterminado
Indeterminado
(232)2 (1.844E+19) Indeterminado
Limite de colunas por tabela
4096
1000
Limite de índices por tabela
64
Indeterminado
Comprimento máximo de chave 1000 bytes
3500 bytes
Comprimento máximo de linha
64 KB
4 GB
Comprimento máximo de coluna 64 KB
4 GB
Tabela de limitações do MySQL
Ambiente Web
WEB: 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 Log
O 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 Log
O 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 Futuras
Aquisição da Sun pela Oracle
Conclusão
O 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.