XOOPS Brasil

 

1.5. Mapa de Desenvolvimento do MySQL

Esta seção fornece uma amostra do mapa de desenvolvimento do MySQL, incluindo principais recursos imlementados ou planejados para o MySQL 4.0, 4.1, 5.0 e 5.1. A seguinte seção fornece informação para cada distribuição. O planejamento para alguns dos recursos mais requisitados estão listada na tabela a seguir.

FeatureMySQL version
Unions4.0
Subqueries4.1
R-trees4.1 (para tabelas MyISAM)
Stored procedures5.0
Views5.0 ou 5.1
Cursors5.0
Foreign keys5.1 (3.23 com InnoDB)
Triggers5.1
Full outer join5.1
Constraints5.1

1.5.1. MySQL 4.0 in a Nutshell

Muito aguardado por nossos utilizadores, o MySQL Server 4.0 agora está disponível em sua versão de produção.

O MySQL 4.0 está disponível para download em MySQL e nossos sites mirrors. O MySQL tem sido testado por um grande número de utilizadores e está em uso em mutios sites.

Os principais novos recursos do MySQL Server 4.0 são trabalhados em conjunto com os utilizadores corporativos e da comunidade, melhorando o programa de banco de dados MySQL como uma solução para missões críticas e sistemas de bancos de dados de alta carga. Outros novos recursos visam os utilizadores de bancos de dados embutidos.

O MySQL 4.0 foi declarado estável para uso em produção a partir da versão 4.0.12 em Março de 2003. Isto significa que, no futuro, apenas correção de erros serão feitas para a distribuição da série 4.0 e apenas correção de erros críticos serão feitas para a antiga série 3.23. Veja mais informações sobre isto na Seção 2.5.2, “Atualizando da Versão 3.23 para 4.0”.

Novos recursos para o MySQL está sendo adicionado ao MySQL 4.1 que também está disponível (versão alfa). Veja mais informações sobre isto na Seção 1.5.2, “MySQL 4.1 in a Nutshell”.

1.5.1.1. Recursos Disponíveis no MySQL 4.0

  • Aumento da velocidade

    • O MySQL 4.0 tem uma cache de consultas que pode dar uma grande aumento na velocidade de aplicações com consutas repetitivas. Veja mais informações sobre isto na Seção 6.9, “Cache de Consultas do MySQL”.

    • A versão 4.0 aumenta a velocidade do MySQL Server em um número e áreas tais como INSERTs em bloco, buscas em índices empacotados, criação de índices FULLTEXT, e COUNT(DISTINCT).

  • Introdução ao Servidor MySQL Embutido

    • A nova biblioteca do Servidor Ebutido pode ser facilmente usada em aplicações standalone e embarcadas. O servidor embutido fornce uma alternativa para o uso do MySQL em um ambiente cliente/servidor. Veja mais informações sobre isto na Seção 1.5.1.2, “Servidor Embutido MySQL”.

  • Mecanismo de armazenamento InnoDB como padrão

    • O mecanismo de armazenamento InnoDB é oferecido como um recurso padrão do servidor MySQL. Isto significa suporte a transações ACID, chaves estrangeiras com UPDATE/DELETE em cacata e lock de registro agora são recursos padrões. Veja mais informações sobre isto na Seção 7.5, “Tabelas InnoDB.

  • Novas fncionalidades

    • A melhora das propriedades de busca FULLTEXT do MySQL Server 4.0 habilita indexação FULLTEXT de grandes partes de texto com linguagem natural e binária de lógica de busca. Você pode personalizar o tamanho mínimo de palavras e definir a sua própria lista de palavras de parasa em qualquer linguagem humana, habilitando um novo conjunto de aplicações a serem construídas no MySQL Server. Veja mais informações sobre isto na Seção 6.8, “Pesquisa Full-text no MySQL”.

  • Compatibilidade com os padrões, portabilidade e migração

    • Recursos para simplificar a migração de outros sistemas de banco de dados para o MySQL Server incluem TRUNCATE TABLE (como no Oracle)

    • Muitos utilizadores também ficarão satisfeitos ao perceber que o MySQL Server agora suporta a instrução UNION, um recurso padrão SQL muito esperado.

    • O MySQL agora pode ser executado nativamente na plataforma Novell NetWare 6.0. Veja mais informações sobre isto na Seção 2.6.8, “Notas Novell NetWare”.

  • Internacionalização

    • Nossos utilizadores alemães, austríacos e suiços notarão que o MySQL agora suporta um novo conjunto de caracteres, latin1_de, que assegura que a Ordenação em alemão classificará palavras com umlauts na mesma ordem das agendas telefônicas alemãs.

  • Aprimoramento da Usabilidade

    No porcesso de construção de recursos para novos utilizadores, não esquecemos os pedidos de nossa leal comunidade de utilizadores.

    • A maioria dos parâmetros mysqld (opções de inicialização) agora podem ser definidas se finalizar o servidor. Isto é um recurso conveniente para Administradores de Bancos de Dados (DBAs). Veja mais informações sobre isto na Seção 5.5.6, “Sintaxe de SET.

    • Instruções DELETE e UPDATE multi-tabelas foram adicionadas.

    • Foi adicionado suporte ao mecanismo de armazenamento MyISAM para link simbólico no nível de tabela (e não apenas a nível de banco de dados como antes) e para habilitar o tratamento de links simbólicos no Windows por padrão.

    • SQL_CALC_FOUND_ROWS e FOUND_ROWS() são novas funções que tornaram possível encontrar o números de linhas que uma consulta SELECT que inclui uma cláusula LIMIT teria retornado se a cláusula não fosse utilizada.

A seção de novidades deste manual inclui uma lista mais aprofundada dos recursos. Veja mais informações sobre isto na Seção D.3, “Alterações na distribuição 4.0.x (Production)”.

1.5.1.2. Servidor Embutido MySQL

libmysqld faz o MySQL Server adequado para uma grande área de aplicações. Usando a biblioteca do servidor MySQL embutido, pode embarcar o MySQL Server em vários aplicativos e dispositivos eletrônicos, onde o utilizador final não têm conhecimento de possuir um banco de dados básico. O servidor MySQL embutido é ideal para uso nos bastidores em aplicações de Internet, quiosques públicos, responsável por unidades de combinação hardware/software, servidores Internet de alta performance, banco de dados de auto-contenção distribuídos em CDROM, e assim por diante

Muitos utilizadores da libmysqld se benficiarão da iLicença Dual do MySQL. Para aqueles que não desejam ser limitar pela GPL, o software é tambem está disponível sob uma licença comercial. A biblioteca embutida do MySQL também usa a mesma interface que a biblioteca do cliente normal, sendo então conveniente e fácil de usar. Veja mais informações sobre isto na Seção 12.1.15, “libmysqld, a Biblioteca do Servidor Embutido MySQL”.

1.5.2. MySQL 4.1 in a Nutshell

MySQL Server 4.0 prepara a criação de novos recursos como subqueries e Unicode (implementado na versão 4.1) e o funcionamento de stored procedures do SQL-99 está sendo feito para a versão 5.0. Estes recursos estão no topo da lista de recursos desejados de muitos de nossos clientes.

Com estas adições, os críticos do MySQL Database Server devem ser mais imaginativos que nunca para apontar as deficiências do MySQL Database Management System. Já conhecido por sua estabilidadem velocidade e facilidade de uso, o MySQL Server estará apto a atender as necessidades de vários compradores exigentes.

1.5.2.1. Recursos Disponíveis no MySQL 4.1

Os recursos listados nesta seção estão implementados no MySQL 4.1. Outros poucos recursos estão planejados para o MySQL 4.1. Veja mais informações sobre isto na Seção 1.6.1, “Novos Recursos Planejados Para a Versão 4.1”.

A maioria dos novos recursos em codificação, como stored procedures, estarão disponíveis no MySQL 5.0. Veja mais informações sobre isto na Seção 1.6.2, “Novos Recursos Planejados Para a Versão 5.0”.

  • Suporte a subqueries e tabelas derivadas

    • Uma subquery é uma instrução SELECT aninhada dentro de outras instruções. Uma tabela dericada (unnamed view) é uma subquery na cláusula FROM de outras instruções. Veja mais informações sobre isto na Seção 6.4.2, “Sintaxe de Subquery”.

  • Aumento na velocidade

    • Protocols binários mais rápidos com instruções preparadas e parâmetros de ligação. Veja mais informações sobre isto na Seção 12.1.4, “Instruções Preparadas da API C”.

    • Indexação BTREE agora é suportado por tabelas HEAP, aumentando de forma significante o tempo de resposta para busca que não são exatas.

  • Nova funcionalidade

    • CREATE TABLE tabela1 LIKE tabela2 lhe permite criar uma nova tabela com a estrutura exatamente igual a de uma tabela existente, usando um único comando.

    • Suporte aos tipos espaciais OpenGIS (dados geográficos). Veja mais informações sobre isto na Capítulo 10, Extensões Espacias em MySQL.

    • A replicação pode ser feita sobre conexão SSL.

  • Compatibilidade aos padrões, portabilidade e migração

    • O novo protocolo cliente/servidor adiciona a possibilidade de se passar múltiplos avisos ao cliente, no lugar se um único resultado. Isto faz com que o trabalho como uma grande carga de dados seja muito mais fácil de rastrear. SHOW WARNINGS mostra avisos para o último comando. Veja mais informações sobre isto na Seção 4.6.8.9, “SHOW WARNINGS | ERRORS.

  • Internacionalização

    • Para suportar nossa base de utilizador sempre em expansão usando linguagens locais nas aplicações, o programa MySQL agora oferece suporte Unicode extensivo por meio dos conjunto de caracteres utf8 e ucs2.

    • Os conjuntos de caracteres agora podem ser definidos por colunas, tabelas e banco de dados. Isto permite um alto grau de flexibilidade no desenho das aplicações, particularmente para sites-web multi-linguagens.

    • Para documentação sobre este suporte a conjunto de caracters aprimorados, veja Capítulo 9, Conjunto de Caracteres Nacionais e Unicode.

  • Aprimoramento da usabilidade

    • Em resposta a demanda popular, adicionamos um comando HELP com base no servidor que pode ser usado para conseguir ajuda para comandos MySQL. A vantagem de se ter esta informação no lado do servidor é que a informação é sempre aplicável para aquela versão do servidor em particular. Como esta informação está disponível executando uma instrução SQL, outros clientes também poderão ser escritos para acessá-la. Por exemplo, o cliente mysql de linha de comando foi modificado para ter esta capacidade.

    • No novo protocolo cliente/servidor, várias instruções podem ser feitas com uma única chamada. Veja mais informações sobre isto na Seção 12.1.8, “Tratando a Execução de Múltiplas Consultas na API C”.

    • O novo protocolo cliente/servidor também suporta retorno de vários resultados. Isto pode ocorrer como resultado de enviar várias instruções, por exemplo (Veja o item anterior).

    • Uma nova sintaxe INSERT ... ON DUPLICATE KEY UPDATE ... tem sido implementada. Isto lhe permite executar um UPDATE em um registro existente se o um INSERT criasse uma chave (índice) primária (PRIMARY) ou única (UNIQUE) (index) duplicada. Veja mais informações sobre isto na Seção 6.4.3, “Sintaxe INSERT.

    • Projetamos uma nova função de agrupamento GROUP_CONCAT(), adicionando a capacidade de concatenar colunas de registros agrupados em uma única string de resultado, o que é extremamente útil. Veja mais informações sobre isto na Seção 6.3.7, “Funções e Modificadores para Usar com Cláusulas GROUP BY.

A seção de novidades neste manual incluem uma lista mais completa de recursos. Veja mais informações sobre isto na Seção D.2, “Alterações na distribuição 4.1.x (Alpha)”.

1.5.2.2. Stepwise Rollout

Novos recursos estão sendo adicionados ao MySQL 4.1. A versão Alfa já stá disponível para download. Veja mais informações sobre isto na Seção 1.5.2.3, “Pronto para Uso em Desenvolvimento Imediato”.

O conjunto de recursos que estão sendo adicionados a versão 4.1 estão, na maioria, corrigidos. Desenvolvimento adicional já está em andamento na versão 5.0. O MySQL 4.1 passam pelos passos de Alfa (tempo no qual os novos recursos ainda podem ser adionados/alterados), Beta (quando já implementamos todos os recursos e apenas correções de erros são realizados0) e Gamma (indicando que ima distribuição de produção está quase pronta). No fim deste processo, o MySQL 4.1 se tornará o nova distribuição de produção).

1.5.2.3. Pronto para Uso em Desenvolvimento Imediato

O MySQL 4.1 está atualmente no estágio alfa e os binários estão disponíveis para download em http://www.mysql.com/downloads/mysql-4.1.html. Todas as distribuições binárias passaram por nossos extensivos teste sem nenhum erro na plataforma em que testamos. Veja mais informações sobre isto na Seção D.2, “Alterações na distribuição 4.1.x (Alpha)”.

Para aqueles que desejam usar o fonte mais recente do desenvolvimento do MySQL 4.1, deixamos nosso repositório do BitKeeper publicamente disponível. Veja mais informações sobre isto na Seção 2.3.4, “Instalando pela árvore de fontes do desenvolvimento”.

1.5.3. MySQL 5.0, A Próxima Distribuição de Desenvolvimento

O novo desenvolvimento para o MySQL está focado na distribuição 5.0, comrecursos como Stored Procedures entre outros. Veja mais informações sobre isto na Seção 1.6.2, “Novos Recursos Planejados Para a Versão 5.0”.

Para aqueles que desejam dar uma olhada no desenvolvimento do MySQL, deixamos o nosso repositórioo do BitKeeper para o MySQL versão 5.0 disponível publicamente. Veja mais informações sobre isto na Seção 2.3.4, “Instalando pela árvore de fontes do desenvolvimento”.