Sie sind auf Seite 1von 16

ESCOLA ESTADUAL DE ENSINO TÉCNICO DR.

SOLON TAVARES
TÉCNICO EM DESENVOLVIMENTO DE SOFTWARE

DANIEL
RICARDO LUIS OLIVEIRA NUNES

MySQL

GUAIBA
2011
1

DANIEL
RICARDO LUIS OLIVEIRA NUNES

MySQL

Trabalho Técnico sobre Banco de Dados:


MySQL do curso Técnico em Desenvolvimento
de Softwares, da Escola Técnica Dr. Solon
Tavares, como requisito parcial para obtenção
da nota na disciplina de Banco de Dados.

GUAIBA
2011
2

SUMÁRIO

1 - HISTÓRIA ..................................................................................................................... 3

2 - LINHA DO TEMPO ....................................................................................................... 4

3 - INFORMAÇÕES GERAIS ............................................................................................ 4

4 - PRINCIPAIS CARACTERÍSTICAS ............................................................................. 5


4.1 – SGBD ........................................................................................................................... 5
4.2 – PORTABILIDADE ....................................................................................................... 5
4.3 – MULTITHREADS ........................................................................................................ 5
4.4 - FORMAS DE ARMAZENAMENTO ............................................................................ 6
4.5 – VELOCIDADE ............................................................................................................. 6
4.6 – SEGURANÇA .............................................................................................................. 6
4.7 – SQL .............................................................................................................................. 6
4.8 - FULLTEXT SEARCH ................................................................................................... 7
4.9 – CAPACIDADES ........................................................................................................... 7

5 - SEGURANÇA NO MYSQL ........................................................................................... 7

6 - POR QUE USAR? .......................................................................................................... 8

7 - LICENÇA DE USO ........................................................................................................ 8

8 - EMPRESAS QUE O UTILIZAM .................................................................................. 9

9 – COMPARAÇÕES ........................................................................................................ 10

10 – VANTAGENS ............................................................................................................ 10
10.1 - DESEMPENHO ........................................................................................................ 10
10.2 – SEGURANÇA .......................................................................................................... 11
10.3 - APLICABILIDADE ................................................................................................. 11
10.4 – GRATUITO .............................................................................................................. 11

11 – LIMITAÇÕES ............................................................................................................ 11

12 - AMBIENTE WEB ...................................................................................................... 12

13 - GERENCIAMENTO DE LOG .................................................................................. 13

14 - EXPECTATIVAS FUTURAS .................................................................................... 13

15 - CONSIDERAÇÕES FINAIS ...................................................................................... 14

REFERÊNCIAS BIBLIOGRAFICAS .............................................................................. 15


3

1 - HISTÓRIA

O MySQL teve origem quando os desenvolvedores David Axmark, Allan Larsson e


Michael “Monty” Widenius, na década de 90, precisaram de uma interface SQL compatível
com as rotinas ISAM que utilizavam em suas aplicações e tabelas. Em um primeiro momento,
tentaram utilizar a API mSQL, contudo a API não era tão rápida quanto eles precisavam, pois
utilizavam rotinas de baixo nível (mais rápidas que rotinas normais). Utilizando a API do
mSQL, escreveram em C e C++ uma nova API que deu origem ao MySQL.
Surgiu, então, da idéia de se criar um banco de dados que tivesse todas estas
características, primordiais tanto no mercado on-line (internet) quanto no mercado corporativo
(desktop), e que acima de tudo tivesse seu custo reduzido.
Na época da criação, um dos objetivos era que ele rodasse em Linux, embora existam
hoje versões para diversos Sistemas Operacionais, o que acabou popularizando o sistema em
1999, quando o sistema operacional do Sr. Linus Torvalds e o Movimento Open Source
deslancharam no mercado mundial.
Com o ótimo resultado gerado por essa nova API, o MySQL começou a ser difundido
e seus criadores fundaram a empresa responsável por sua manutenção, que é a MySQL AB.
A partir dessa fase, o MySQL 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 e firmando, assim, sua posição no mercado.
No dia 16 de Janeiro de 2008, a MySQL AB, desenvolvedora do MySQL foi adquirida
pela Sun Microsystems, por US$ 1 bilhão, um preço jamais visto no setor de licenças livres.
No dia 20 de Abril de 2009 a Oracle compra a Sun Microsystems e todos o seu produtos,
incluindo o MySQL.
Hoje seu desenvolvimento e manutenção empregam aproximadamente 400
profissionais no mundo inteiro, e mais de mil contribuem testando o software, integrando-o a
outros produtos, e escrevendo a respeito dele.
O MySQL hoje suporta Unicode, Full Text Indexes, replicação, Hot Backup, GIS,
OLAP e muitos outros recursos.
O resultado disso foi que hoje, o MySQL, considerado um dos banco de dados mais
rápidos do mercado, tornou-se alternativa barata e viável para uma grande parte do mercado
corporativo e on-line.
4

O nome do golfinho do MySQL (logotipo) é Sakila, que foi escolhido pelos seus
fundadores de uma enorme lista de nomes sugeridos pelos usuários no concurso "Name the
Dolphin".

2 - 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
2009 – Aquisição da Sun Microsystems pela Oracle
2010 – Lançamento da versão 5.5 (versão atual)
2011 – Anuncio da prévia da versão 5.6

3 - INFORMAÇÕES GERAIS

O programa MySQL é um servidor robusto de bancos de dados SQL (Structured


Query Language - Linguagem Estruturada para Pesquisas) muito rápido, multitarefa e
multiusuário. O Servidor pode ser usado em sistemas de produção com alta carga e missão
crítica bem como pode ser embutido em programa de uso em massa.
MySQL é de Licença Dupla. Os usuários podem escolher entre usar o programa como
um produto Open Source sob os termos da GNU General Public License ou podem comprar
uma licença comercial padrão.
Um banco de dados é uma coleção de dados estruturados. Ele pode ser qualquer coisa
desde uma simples lista de compras a uma galeria de imagens ou a grande quantidade de
informação da sua rede coorporativa. Para adicionar, acessar, e processar dados armazenados
em um banco de dados de um computador, você necessita de um sistema de gerenciamento de
bancos de dados como o Servidor MySQL. Como os computadores são muito bons em lidar
5

com grandes quantidades de dados, o gerenciamento de bancos de dados funciona como a


engrenagem central na computação, seja como utilitários independentes ou como partes de
outras aplicações.
O MySQL é 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.

4 - PRINCIPAIS CARACTERÍSTICAS

4.1 - SGBD

O MySQL, além de banco de dados, contém todas as características de um SGBD


(Sistema Gerenciador de Banco de Dados), que é o MySQL Server. Além de armazenar os
dados, a ferramenta provê todas as características de multiacesso a estes, entre outras
funcionalidades de um SGBD, como, por exemplo, gerenciamento de acesso, integridade dos
dados e relacional, concorrência, transações, entre outros.

4.2 - PORTABILIDADE

Desenvolvido utilizando as linguagens de programação C e C++, unido com o uso de


GNU Automake, Autoconf e Libtool, torna o MySQL uma aplicação altamente portável entre
diferentes sistemas, plataformas e compiladores. Além disso, fornece sua API para várias
outras linguagens, como Java, Python, PHP, Perl, C, C++, entre outras.

4.3 - MULTITHREADS

Usa programação de threads utilizando-as diretamente no kernel da plataforma. Além


de aumentar significativamente a velocidade de processamento, ainda facilita a integração da
ferramenta em hardwares com mais de uma CPU.
6

4.4 - FORMAS DE ARMAZENAMENTO

O MySQL disponibiliza vários tipos de tabelas para armazenamento de dados, tendo


cada tipo suas próprias características. A vantagem dessa variedade de tabelas é a
possibilidade de escolher o tipo em cada situação diferente. Enquanto um tipo prioriza
velocidade, outro prioriza volume de dados, entre outras características.

4.5 - VELOCIDADE

Maior velocidade no acesso aos dados em razão de vários fatores em seu


desenvolvimento como tabelas ISAM (substituídas pelo novo mecanismo MyISAM na
versão5), utilização de cachês em consultas, utilização de indexação BTREE para tabelas do
tipo HEAP, algoritmos de buscas, entre outros recursos.

4.6 - SEGURANÇA

Sistema gerenciador de conexões que trabalha com criptografia no tráfego de senhas.


Ainda, em complemento ao uso de autenticação baseado em senhas, é possível habilitar uma
espécie de firewall de autenticação, responsável por habilitar as devidas conexões somente
para estações e domínios especificados em sua lista de acesso.

4.7 - SQL

O SQL utilizado pelo MySQL é altamente veloz. Isto se deve ao fato de a linguagem
ter sido implementada por meio de códigos e funções altamente otimizadas pelos seus
desenvolvedores.
Essa característica de otimização tem como consequência uma grande vantagem e uma
desvantagem: o lado bom é a velocidade na execução dos códigos SQL. O lado ruim é que
para otimizar tais códigos, nem todos os padrões da versão mais atual do SQL foram
migrados para o MySQL, pois poderiam comprometer a velocidade do banco de dados. O
MySQL baseia-se nas versões mais atuais do SQL, em parte incluindo sua versão 2003. Mas
na maioria dos casos, essa desvantagem não deve influenciar na aplicação.
7

4.8 - FULLTEXT SEARCH

A funcionalidade de busca no estilo fulltext search já estava presente na versão 4 do


MySQL, tendo aparecido pela primeira vez entre as versões 3 e 4. Este tipo de busca é um dos
mais utilizados em grandes soluções integradas com bancos de dados. Existem dois modos
com que o MySQL gerencia os índices, sendo um a criação de índices, tendo como base
campos do tipo texto (recomendado para bancos de dados de pequeno e médio portes), e outro
em uma tabela própria de índices, fornecendo um melhor desempenho para bancos de dados
de grande porte.

4.9 - CAPACIDADES

O MySQL tem um alto poder de execução e de armazenamento. Dependendo da


plataforma onde a ferramenta será utilizada, suas tabelas poderão armazenar espaços
extraordinários, ficando limitadas somente ao tamanho máximo de arquivos com que a
plataforma em questão pode manipular. No caso de tabelas do tipo InnoDB, cujo
armazenamento pode ser realizado por um ou mais arquivos separados, é possível armazenar
até 65.536 TB (terabytes).
No caso de expressões SQL, o SGBD suporta execuções de scripts SQL com até 61
uniões de tabelas (joins), e em se tratando de velocidade de execução, o MySQL pode ser
enquadrado entre os mais velozes, se não o mais veloz, justamente por este ter sido um dos
motivos que levou seus programadores a desenvolvê-lo, baseado em tecnologias que
permitiram tal fato.
O MySQL é um banco de dados extremamente poderoso, pronto para executar mais de
um bilhão de consultas por dia de um site, ou até mesmo processar milhares de transações por
minuto.

5 - SEGURANÇA NO MYSQL

O MySQL possuí componentes de segurança contra ameaças externas como crackers e


outros, e também protege os dados dos próprios usuários. O MySQL apresenta vários níveis
8

de segurança em relação ao acesso. Todas as informações de segurança estão armazenadas no


banco.
A filosofia de segurança em banco de dados refere-se a fornecer ao usuário apenas o
que é essencial para o seu trabalho.
O MySQL utiliza ACLs (“Acess Control Lists”) para verificar se o usuário está
autorizado a se conectar no banco, acessar o dado para consulta e atualização.
Não suporta a autenticação de usuários pelo sistema operacional, nem o
estabelecimento de prazo de validade para senha. O usuário MySQL não tem ligação com os
usuários do UNIX (conta) ou Windows. No entanto se o nome do usuário do MySQL não for
informado default é a conta do UNIX.
Suporta a execução de backup online do banco de dados.

6 - POR QUE USAR?

O servidor de banco de dados MySQL é extremamente rápido, confiável, e fácil de


usar. O Servidor MySQL também tem um conjunto de recursos muito práticos desenvolvidos
com a cooperação dos usuários.
Foi desenvolvido originalmente para lidar com bancos de dados 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. Apesar de estar em
constante desenvolvimento, o Servidor MySQL oferece hoje um rico e proveitoso conjunto de
funções. A conectividade, velocidade, e segurança fazem com que o MySQL seja altamente
adaptável para acessar bancos de dados na Internet.

7 - LICENÇA DE USO

O MySQL é desenvolvido e distribuído por meio de duas licenças que irão depender
do tipo de uso da ferramenta. Na maioria dos casos, seu uso é livre. Contudo, vale a pena
conhecer as duas possíveis licenças do MySQL.
A primeira, software livre, é baseada nas cláusulas da GNU-GPL (General Public
Licence), a qual estabelece o que se pode ou não fazer com a ferramenta e demais recursos.
9

Além do programa, o seu código-fonte também é disponibilizado para que qualquer pessoa
possa adaptá-lo às suas necessidades, contudo, todas essas situações serão tratadas e
detalhadas na licença GNU-GPL.
Basicamente, a licença do tipo GNU-GPL baseia-se nos seguintes princípios:
- Utilização: Permite utilizar o software para qualquer propósito.
- Distribuição: Permite a livre distribuição do software entre todas as pessoas.
- Didática: Permite que seu funcionamento seja estudado a partir de seu código-fonte.
- Colaboração: Permite que seu código-fonte seja alterado para evoluir a ferramenta,
desde que seu novo código-fonte continue sendo livre seguindo essa licença.
A segunda licença é comercial. Para algumas situações sobre como embutir o MySQL
dentro de suas aplicações comerciais (OEMs, ou seja, fora dos termos da GNU-GPL), obter
suporte diferenciado, ou obter pacotes com mais ferramentas, essa licença pode ser mais
apropriada.
O melhor tipo de licença variará de caso para caso, dependendo da necessidade de
treinamentos, suportes, entre outros fatores. Geralmente o MySQL pode ser utilizado
gratuitamente.

8 - EMPRESAS QUE O UTILIZAM

O portfólio de clientes e usuários do MySQL conta com centenas de grandes projetos


bem-sucedidos e de grande porte ao redor do mundo. Entre os cases mais famosos, vale a
pena citar o da NASA.
O departamento NAIS (dentro da NASA) é responsável pela gerência dos contratos da
empresa, movimentando transações que chegam a milhões de dólares por ano. Em razão da
grande demanda de sua utilização e altos custos de manutenção do banco de dados Oracle
utilizados anteriormente no sistema, a equipe do NAIS optou por migrar os seus bancos de
dados para uma solução open source. Com base nisso, estudaram qual seria a melhor opção de
código aberto e optaram por utilizar o MySQL.
Além deste, diversos outros grandes cases podem ser destacados em projetos de
missão crítica, entre eles: Bradesco, Telemar, HP-Compaq, Sony, Cisco Systems, Dataprev,
Nokia, Motorola, Alcatel, Ibest, Yahoo Finance, US Navy, US Army, US Federal Reserve
Bank, Suzuki, Hyperion, Lycos, além de muitos outros.
10

9 - COMPARAÇÕES

O MySQL conta com uma série de recursos para análise do tempo de execução de
operações. Isto possibilitou que seus desenvolvedores realizassem alguns testes comparativos
com outros bancos de dados.
Esses testes foram realizados baseados em um computador com Windows NT4 e
acesso via ODBC. Dentre os bancos de dados mais conhecidos, os resultados mostrados nas
tabelas 1 e 2 foram obtidos:

Banco de dados Segundos


mysql_odbc 464
db2_odbc 1.206
ms-sql_odbc 1.634
oracle_odbc 20.800
sybase_odbc 17.614
Tabela 1 - Leitura de 2.000.000 por índice

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

10 - VANTAGENS

10.1 - DESEMPENHO

O MySQL é considerado o banco de dados mais rápido. Agilidade tem sido um ponto
bastante relevante em matéria de sistemas, principalmente no quesito internet.
11

10.2 – SEGURANÇA

Com seus diversos tipos de tabelas, característica exclusiva do MySQL, é possível ter
um banco de dados bastante seguro e estável contando com integridade referencial, backup e
restore, controle de usuários e acessos, e ainda, se necessário, verificação e correção de
corrompimento de tabelas.

10.3 - APLICABILIDADE

Muitos me perguntam se o MySQL é usado somente para aplicações internet . A


resposta é não. O MySQL pode ser utilizado como banco de dados desktop , ou seja, em
aplicações corporativas. Dá suporte a diversas linguagens de programação incluindo o Delphi
da empresa Borland e o Java da Sun. Ambos podem acessar o MySQL através dos drivers
MySQL ODBC e MySQL JDBC, respectivamente.

10. 4 - GRATUITO

O MySQL está inscrito no tipo de licenciamento GNU General Public License.

11 - LIMITAÇÕES

Os limites do MySQL são determinados de acordo com o Storage Engine. Alguns


exemplos:
12

Característica MyISAM InnoDB


Limite de armazenamento 256 TB 64 TB
Limite de tabelas Indeterminado Indeterminado
Limite de linhas por tabela (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

12 - AMBIENTE WEB

Para desenvolver soluções baseadas na WEB precisamos de fatores como: rapidez,


confiabilidade e funcionalidade.
A necessidade em adotar um software de banco de dados como o MySQL está na
condição de equilíbrio do custo/beneficio que proporciona vantagens tanto para o
desenvolvedor, que não precisa levar em consideração decréscimo no seu custo horário por
conta de tecnologia cara, tanto para o cliente que terá um custo de manutenção muito mais
compacta e econômica, por se tratar de uma tecnologia de fácil acesso e grande aceitação no
mercado. 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.
Portanto, se há a necessidade de usar um banco de dados de baixo custo, suporte a
múltiplas conexões e sem relacionamentos complexos, o MySQL é uma excelente escolha.
13

13 - GERENCIAMENTO DE LOG

O MySQL mantêm um log de todas as operações que alteraram dados ou que


potencialmente teriam alterado, como um delete que não encontrou nenhum registro.
O log é feito a nível de linha, alem dos dados modificados ele guarda informações a
respeito do servidor que sejam relevantes para poder reproduzir as sentenças, códigos de erro,
metadados e o tempo que a sentença levou para ser executada.
O Log é utilizado para dois propósitos importantes:
- Recuperação. Após uma pane do sistema ou a restauração de um backup.
- Replicação. Quando se utilizam servidores relacionados em um esquema de
Master/Slave o log é utilizado para determinar quais dados precisam ser executados nos
servidores slave.
O MySQL mantêm dois níveis de Log. Um log de comandos SQL chamado de
Statement-based Log e outro com as modificações feitas em cada registro chamado de Row-
based log.
O sistema conta com uma ferramenta que exporta os logs em formato HTML.

14 - EXPECTATIVAS FUTURAS

Muito se discutiu recentemente com a aquisição da Sun pela Oracle e a possibilidade


dos novos proprietários considerarem o projeto um concorrente potencial ou, no mínimo,
perder o interesse por ele.
A verdade é que a Oracle ainda não se pronunciou a respeito, mas o mercado está
confiante na continuidade do MySQL pelos seguintes motivos:
Oracle e MySQL são produtos diferentes que atendem a nichos diferentes do mercado.
O MySQL tem código aberto, a Oracle é detentora da marca, mas nada impede que
qualquer usuário utilize o seu código fonte livre para derivar um produto 100% compatível
modificando somente o nome do sistema. Algo muito parecido aconteceu quando a Borland
liberou o código do Interbase e depois o fechou novamente. Baseado nesse código a
comunidade criou o Firebird que hoje é muito melhor e mais utilizado que o próprio
Interbase.
14

Quando um projeto open source atinge um número suficiente de usuários, o que é o


caso do MySQL, se torna muito difícil de matá-lo. Mesmo que o autor original perca o
interesse sempre existirão voluntários dispostos a mantê-lo.
Atualmente, os desenvolvedores do MySQL continuam tocando naturalmente o
desenvolvimento do sistema.

15 - CONSIDERAÇÕES FINAIS

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.
15

REFERÊNCIAS BIBLIOGRAFICAS

APOSTILANDO. WebMaster. SQL. Guia Completo do MySQL. Disponível em:


<http://www.apostilando.com/download.php?cod=152&categoria=MySQL>. Acesso em 17
de março de 2011.

APOSTILASPDF. Apostilas grátis. Apostila Manual de Banco de Dados MySQL.


Disponível em: <http://www.apostilaspdf.com/apostila-manual-banco-dados-mysql/>. Acesso
em 17 de março de 2011.

MYSQL. MySQL.com. Benchmarks. Disponível em:


<http://www.mysql.com/why-mysql/benchmarks/>. Acesso em 17 de março de 2011.

SQLMAGAZINE. Home devmedia. MySQL – Quem é você?. Disponível em:


<http://www.sqlmagazine.com.br/Colunistas/AdrianoSantos/02_MYSQL.asp>. Acesso em 17
de março de 2011.

WIKIPEDIA. A enciclopédia livre. Artigo. MySQL. Disponível em:


<http://pt.wikipedia.org/wiki/MySQL>. Acesso em 17 de março de 2011.

NOVATEC. Livros. MySQL Completo. Disponível em:


<http://www.novateceditora.com.br/livros/mysqlcompleto/capitulo8575221035.pdf>. Acesso
em 17 de março de 2011.

Das könnte Ihnen auch gefallen