-
O MySQL passou de um “brinquedo” nas mãos dos desenvolvedores para “o banco de dados de código aberto mais popular do mundo” hoje. O processo foi acompanhado por atualizações de versão do produto e pela adição de alguns novos recursos (especialmente recursos de banco de dados corporativos). O MySQL passou de um “brinquedo” nas mãos dos desenvolvedores para “o banco de dados de código aberto mais popular do mundo” hoje. O processo é acompanhado por atualizações de versão do produto e pela adição de alguns novos recursos (especialmente recursos de banco de dados corporativos). Agora, com o MySQL 5.0 sendo perfeitamente desenvolvido, poucas pessoas chamam mais o MySQL de “banco de dados de brinquedo”. As ricas funções do MySQL atendem às necessidades de muitos usuários. As ações recentes da Oracle mostram que eles levam o MySQL muito a sério - a Oracle expressou sua intenção de adquirir o MySQL várias vezes.
Roteiro do produto MySQL
Vamos começar com as versões mais influentes do MySQL e dar uma olhada nas atualizações do MySQL.
MySQL 4.0
O MySQL 4.0 foi lançado em março de 2003, tornando os novos aplicativos baseados em MySQL mais amplamente disponíveis. Mas na versão 4.0, o MySQL não suporta procedimentos armazenados, gatilhos, ponteiros do lado do servidor ou visualizações. O MySQL 4.0 foi desenvolvido a partir da versão 3.23. Ele foi bastante aprimorado em comparação com a versão 3.23. Atualmente, o MySQL ainda não é um banco de dados de nível empresarial.
A seguir estão os principais novos recursos do MySQL 4.0:
Índice FULLTEXT: Talvez a coisa mais esperada pelos usuários seja o índice FULLTEXT.
FULLTEXT cria um índice em um campo de texto, fornecendo um mecanismo poderoso e flexível para realizar pesquisas booleanas no índice. De acordo com a experiência geral de desenvolvimento, os desenvolvedores geralmente precisam criar índices e acessar dados de texto, e os índices FULLTEXT são muito melhores do que se imaginava.
Embora muitas soluções sejam limitadas a índices de palavras completas, os índices FULLTEXT não têm essa limitação, permitindo aos desenvolvedores adicionar ou dividir frases.
ANSI SQL UNION: Suporta a instrução ANSI SQL UNION, que coleta resultados de consulta em um conjunto de resultados.
Operações multi-tabelas: UPDATE e DELETE multi-tabelas podem ser executadas.
Novas instruções: Adicionadas algumas novas instruções não padrão familiares a outros usuários de DBMS (como IDENTITY e TRUNCATE TABLE), bem como novas funções como FOUND_ROWS(), que podem retornar o número de registros que podem ser retornados sem uma cláusula LIMIT .
Mecanismo de armazenamento InnoDB: O mecanismo de armazenamento InnoDB era um recurso padrão do servidor na época e se tornou uma opção adicional na versão 4.0. InnoDb é um tipo de tabela que permite transações compatíveis com ACID em vez do tipo de tabela MyISAM padrão, o que pode acelerar o uso geral, mas não é muito útil para operações críticas.
As tabelas InnoDB usam bloqueio em nível de linha, o que significa que as atualizações em um registro bloqueiam apenas esse registro, não a tabela inteira. O bloqueio de toda a tabela é bastante rápido quando a seleção acessa um banco de dados grande (como é o caso da maioria dos sites), mas mais lento quando o número de inserções e atualizações se aproxima do número de opções. As críticas ao MySQL há muito se concentram em questões de segurança e consistência com tabelas MyISAM, e tabelas InnoDB compatíveis com ACID ajudam muito na solução desses problemas.
Cache de consulta: MySQL 4.0 pode ser mais rápido em alguns casos. Isso é realizado principalmente por meio do cache de consulta, que armazena resultados de consulta duplicados para melhorar a velocidade, embora muitos aplicativos maduros executem sua própria funcionalidade de cache de consulta em algum nível de código. Certas declarações também foram melhoradas em velocidade.
Servidor incorporado: MySQL 4.0 vem com uma biblioteca de servidor incorporado que permite que aplicativos usem MySQL como banco de dados subjacente.
latin1_de: MySQL 4.0 suporta um conjunto de caracteres adicional latin1_de, que garante que as palavras em alemão sejam armazenadas corretamente.
MyISAM: As tabelas MyISAM no MySQL 4.0 atualmente suportam links simbólicos no nível da tabela, então os usuários do Windows podem criar links simbólicos no nível da tabela (isso sempre funcionará para usuários Unix).
Modelo de segurança: O modelo de segurança do MySQL 4.0 foi aprimorado, permitindo que os administradores autorizem permissões de maneira mais granular. As novas permissões permitem que os usuários criem tabelas temporárias, bloqueiem tabelas, executem determinadas tarefas de replicação, visualizem todos os bancos de dados existentes e até mesmo se conectem quando o limite máximo de conexão for atingido – muito útil para DBAs realizarem tarefas emergenciais e até permitir a execução de procedimentos de armazenamento ( este recurso foi implementado no MySQL 5). Contando com o modo de segurança aprimorado, os DBAs também podem limitar o número de conexões, atualizações ou consultas que os usuários podem fazer por hora.
MySQL 4 foi projetado para rodar em Novell Netware 6.0. Além disso, muitas variáveis do servidor MySQL podem ser alteradas sem reiniciar o servidor, o que é muito útil, pois a reinicialização restaurará as configurações antigas.
MySQL 4.1
Após o lançamento do MySQL 4.1, para alguns usuários, o 4.1 tem possibilidades de atualização mais interessantes do que o MySQL 4.0:
MySQL 4.1 suporta subconsultas
Muitas consultas podem ser escritas com mais eficiência sem o uso de subconsultas, mas há exceções. As subconsultas são um recurso ANSI SQL padrão.
Suporta Unicode (UTF-8), permitindo uma internacionalização mais ampla.
Cada coluna, tabela ou banco de dados pode ter um conjunto de caracteres diferente, o que é necessário se os dados forem armazenados em vários idiomas.
Suporta dados geográficos (OpenGIS)
Envio de aviso aprimorado. Se um não for suficiente, o MySQL 4.1 pode enviar vários avisos ao cliente, o que é muito útil para o processamento geral de dados.
Melhorou um pouco a velocidade. Mas essas melhorias de velocidade podem ser compensadas por todo o peso extra que o MySQL 4.1 assume.
Embora o Manual do MySQL seja um dos melhores manuais lançados, o MySQL 4.1 vem com um comando HELP que só funciona com essa versão.
Tabelas derivadas são suportadas, como:
SELECT tabela1.campo1 FROM tabela, (SELECT * FROM tabela2) tabela3 WHERE tabela1.campo1=tabela3.campo1
Suporta consultas de várias linhas, permitindo que várias consultas sejam executadas e, em seguida, os resultados finais sejam lidos.
Várias instruções de manutenção são armazenadas no log binário, permitindo simplificar as tarefas de manutenção durante a replicação.
CREATE...LIKE permite que os desenvolvedores criem facilmente novas tabelas com a estrutura exata das tabelas existentes.
Além disso, três recursos notáveis do MySQL 4.1 incluem: suporte estável a OpenSSL, mais instruções de preparação de teste e mais testes de múltiplos conjuntos de caracteres para uma tabela.
MySQL 4.1 pode ser a primeira versão do MySQL que realmente “cresce”. Devido a alguns recursos e funções recém-adicionados na versão 4.1 (como dados geográficos, instruções de sub-seleção, tabelas derivadas), a Oracle começou a realmente prestar atenção ao MySQL pela primeira vez.
MySQL 5.0
Suporta procedimentos armazenados. Procedimentos armazenados são o padrão ANSI SQL mais comumente usado por desenvolvedores em outros ambientes de banco de dados. Para MySQL, isso já deveria ser feito há muito tempo. A sintaxe dos procedimentos armazenados suportados pelo MySQL 5.0 é semelhante ao Oracle PL/SQL e T-SQL.
Programa de gatilho (chamado de procedimento armazenado quando ocorre um evento)
Dicas de suporte
Verdadeiro suporte para o tipo de dados VARCHAR, resolvendo um bug VARCHAR de longa data do MySQL.
O suporte para índices RTREE em tabelas MyISAM facilitará o acesso aos dados geográficos.
MySQL 5.1
Comparado com a versão 5.0, o MySQL 5.1 implementa alguns novos recursos:
Backup online (permite adicionar escravos de replicação sem desligar o servidor mestre).
O tipo BIT na verdade ocupa 1 bit, não 1 caractere.
replicação à prova de falhas
-