• Nenhum resultado encontrado

Mapa de Desenvolvimento do MySQL

No documento 1 Informa¸c˜ oes Gerais . . . . 1 (páginas 55-60)

1 Informa¸c˜ oes Gerais

1.5 Mapa de Desenvolvimento do MySQL

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

Feature MySQL version

Unions 4.0

Subqueries 4.1

R-trees 4.1 (para tabelas MyISAM)

Stored procedures 5.0

Views 5.0 ou 5.1

Cursors 5.0

Foreign keys 5.1 (3.23 com InnoDB)

Triggers 5.1

Full outer join 5.1

Constraints 5.1

1.5.1 MySQL 4.0 in a Nutshell

Muito aguardado por nossos usu´arios, o MySQL Server 4.0 agora est´a dispon´ivel em sua vers˜ao de produ¸c˜ao.

O MySQL 4.0 est´a dispon´ivel para download em http://www.mysql.com/ e nossos sites mirrors. O MySQL tem sido testado por um grande n´umero de usu´arios e est´a em uso em mutios sites.

Os principais novos recursos do MySQL Server 4.0 s˜ao trabalhados em conjunto com os usu´arios corporativos e da comunidade, melhorando o programa de banco de dados MySQL como uma solu¸c˜ao para miss˜oes cr´iticas e sistemas de bancos de dados de alta carga. Outros novos recursos visam os usu´arios de bancos de dados embutidos.

O MySQL 4.0 foi declarado est´avel para uso em produ¸c˜ao a partir da vers˜ao 4.0.12 em Mar¸co de 2003. Isto significa que, no futuro, apenas corre¸c˜ao de erros ser˜ao feitas para a distribui¸c˜ao da s´erie 4.0 e apenas corre¸c˜ao de erros cr´iticos ser˜ao feitas para a antiga s´erie 3.23. Veja Se¸c˜ao 2.5.2 [Upgrading-from-3.23], P´agina 123.

Novos recursos para o MySQL est´a sendo adicionado ao MySQL 4.1 que tamb´em est´a dispon´ivel (vers˜ao alfa). Veja Se¸c˜ao 1.5.2 [MySQL 4.1 Nutshell], P´agina 24.

1.5.1.1 Recursos Dispon´iveis no MySQL 4.0

Aumento da velocidade

O MySQL 4.0 tem uma cache de consultas que pode dar uma grande au-mento na velocidade de aplica¸c˜oes com consutas repetitivas. Veja Se¸c˜ao 6.9 [Query Cache], P´agina 624.

A vers˜ao 4.0 aumenta a velocidade do MySQL Server em um n´umero e

´areas tais comoINSERTs em bloco, buscas em ´indices empacotados, cria¸c˜ao de ´indicesFULLTEXT, e COUNT(DISTINCT).

Introdu¸c˜ao ao Servidor MySQL Embutido

A nova biblioteca do Servidor Ebutido pode ser facilmente usada em aplica¸c˜oes standalone e embarcadas. O servidor embutido fornce uma alternativa para o uso do MySQL em um ambiente cliente/servidor. Veja Se¸c˜ao 1.5.1.2 [Nutshell Embedded MySQL], P´agina 24.

Mecanismo de armazenamento InnoDB como padr˜ao

O mecanismo de armazenamento InnoDB ´e oferecido como um recurso padr˜ao do servidorMySQL. Isto significa suporte atransa¸c˜oes ACID,chaves

estrangeiras com UPDATE/DELETE em cacata e lock de registro agora s˜ao recursos padr˜oes. Veja Se¸c˜ao 7.5 [InnoDB], P´agina 642.

Novas fncionalidades

A melhora das propriedades de busca FULLTEXT do MySQL Server 4.0 habilita indexa¸c˜ao FULLTEXT de grandes partes de texto com linguagem natural e bin´aria de l´ogica de busca. Vocˆe pode personalizar o tamanho m´inimo de palavras e definir a sua pr´opria lista de palavras de parasa em qualquer linguagem humana, habilitando um novo conjunto de aplica¸c˜oes a serem constru´idas no MySQL Server. Veja Se¸c˜ao 6.8 [Fulltext Search], P´agina 618.

Compatibilidade com os padr˜oes, portabilidade e migra¸c˜ao

Recursos para simplificar a migra¸c˜ao de outros sistemas de banco de dados para o MySQL Server incluemTRUNCATE TABLE(como no Oracle)

Muitos usu´arios tamb´em ficar˜ao satisfeitos ao perceber que o MySQL Server agora suporta a instru¸c˜ao UNION, um recurso padr˜ao SQL muito esperado.

O MySQL agora pode ser executado nativamente na plataforma Novell NetWare 6.0. Veja Se¸c˜ao 2.6.8 [Novell NetWare], P´agina 164.

Internacionaliza¸c˜ao

Nossos usu´arios alem˜aes, austr´iacos e sui¸cos notar˜ao que o MySQL agora suporta um novo conjunto de caracteres, latin1_de, que assegura que a Ordena¸c~ao em alem~aoclassificar´a palavras com umlauts na mesma ordem das agendas telefˆonicas alem˜as.

Aprimoramento da Usabilidade

No porcesso de constru¸c˜ao de recursos para novos usu´arios, n˜ao esquecemos os pedidos de nossa leal comunidade de usu´arios.

A maioria dos parˆametros mysqld (op¸c˜oes de inicializa¸c˜ao) agora podem ser definidas se finalizar o servidor. Isto ´e um recurso conveniente para Administradores de Bancos de Dados (DBAs). Veja Se¸c˜ao 5.5.6 [SET OP-TION], P´agina 461.

Instru¸c˜oesDELETEeUPDATEmulti-tabelas foram adicionadas.

Foi adicionado suporte ao mecanismo de armazenamentoMyISAMpara link simb´olico no n´ivel de tabela (e n˜ao apenas a n´ivel de banco de dados como antes) e para habilitar o tratamento de links simb´olicos no Windows por padr˜ao.

SQL_CALC_FOUND_ROWS e FOUND_ROWS() s˜ao novas fun¸c˜oes que tornaram poss´ivel encontrar o n´umeros de linhas que uma consultaSELECTque inclui uma cl´ausulaLIMITteria retornado se a cl´ausula n˜ao fosse utilizada.

A se¸c˜ao de novidades deste manual inclui uma lista mais aprofundada dos recursos. Veja Se¸c˜ao C.3 [News-4.0.x], P´agina 957.

1.5.1.2 Servidor Embutido MySQL

libmysqld faz o MySQL Server adequado para uma grande ´area de aplica¸c˜oes. Usando a biblioteca do servidor MySQL embutido, pode embarcar o MySQL Server em v´arios aplica-tivos e disposiaplica-tivos eletrˆonicos, onde o usu´ario final n˜ao tˆem conhecimento de possuir um banco de dados b´asico. O servidor MySQL embutido ´e ideal para uso nos bastidores em aplica¸c˜oes de Internet, quiosques p´ublicos, respons´avel por unidades de combina¸c˜ao hard-ware/software, servidores Internet de alta performance, banco de dados de auto-conten¸c˜ao distribu´idos em CDROM, e assim por diante

Muitos usu´arios da libmysqld se benficiar˜ao da iLicen¸ca Dual do MySQL. Para aqueles que n˜ao desejam ser limitar pelaGPL, o software ´e tambem est´a dispon´ivel sob uma licen¸ca comercial. A biblioteca embutida do MySQL tamb´em usa a mesma interface que a biblioteca do cliente normal, sendo ent˜ao conveniente e f´acil de usar. Veja Se¸c˜ao 12.1.15 [libmysqld], P´agina 860.

1.5.2 MySQL 4.1 in a Nutshell

MySQL Server 4.0 prepara a cria¸c˜ao de novos recursos como subqueries e Unicode (imple-mentado na vers˜ao 4.1) e o funcionamento de stored procedures do SQL-99 est´a sendo feito para a vers˜ao 5.0. Estes recursos est˜ao no topo da lista de recursos desejados de muitos de nossos clientes.

Com estas adi¸c˜oes, os cr´iticos do MySQL Database Server devem ser mais imaginativos que nunca para apontar as deficiˆencias do MySQL Database Management System. J´a conhecido por sua estabilidadem velocidade e facilidade de uso, o MySQL Server estar´a apto a atender as necessidades de v´arios compradores exigentes.

1.5.2.1 Recursos Dispon´iveis no MySQL 4.1

Os recursos listados nesta se¸c˜ao est˜ao implementados no MySQL 4.1. Outros poucos recur-sos est˜ao planejados para o MySQL 4.1. Veja Se¸c˜ao 1.6.1 [TODO MySQL 4.1], P´agina 27.

A maioria dos novos recursos em codifica¸c˜ao, como stored procedures, estar˜ao dispon´iveis no MySQL 5.0. Veja Se¸c˜ao 1.6.2 [TODO MySQL 5.0], P´agina 27.

Suporte a subqueries e tabelas derivadas

Uma subquery ´e uma instru¸c˜ao SELECT aninhada dentro de outras in-stru¸c˜oes. Uma tabela dericada (unnamed view) ´e uma subquery na cl´ausula FROM de outras instru¸c˜oes. Veja Se¸c˜ao 6.4.2 [Subqueries], P´agina 569.

Aumento na velocidade

Protocols bin´arios mais r´apidos com instru¸c˜oes preparadas e parˆametros de liga¸c˜ao. Veja Se¸c˜ao 12.1.4 [C API Prepared statements], P´agina 824.

Indexa¸c˜aoBTREEagora ´e suportado por tabelasHEAP, aumentando de forma significante o tempo de resposta para busca que n˜ao s˜ao 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

´

unico comando.

Suporte aos tipos espaciais OpenGIS (dados geogr´aficos). Veja Cap´“ptexi tulo 10 [Spatial extensions in MySQL], P´agina 730.

A replica¸c˜ao pode ser feita sobre conex˜ao SSL.

Compatibilidade aos padr˜oes, portabilidade e migra¸c˜ao

O novo protocolo cliente/servidor adiciona a possibilidade de se passar m´ultiplos avisos ao cliente, no lugar se um ´unico resultado. Isto faz com que o trabalho como uma grande carga de dados seja muito mais f´acil de rastrear. SHOW WARNINGS exibe avisos para o ´ultimo comando. Veja Se¸c˜ao 4.6.8.9 [SHOW WARNINGS], P´agina 323.

Internacionaliza¸c˜ao

Para suportar nossa base de usu´ario sempre em expans˜ao usando linguagens locais nas aplica¸c˜oes, o programa MySQL agora oferece suporte Unicode extensivo por meio dos conjunto de caracteresutf8 eucs2.

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¸c˜oes, particularmente para sites-web multi-linguagens.

Para documenta¸c˜ao sobre este suporte a conjunto de caracters aprimorados, veja Cap´“ptexi tulo 9 [Charset], P´agina 707.

Aprimoramento da usabilidade

Em resposta a demanda popular, adicionamos um comando HELP com base no servidor que pode ser usado para conseguir ajuda para coman-dos MySQL. A vantagem de se ter esta informa¸c˜ao no lado do servidor ´e que a informa¸c˜ao ´e sempre aplic´avel para aquela vers˜ao do servidor em par-ticular. Como esta informa¸c˜ao est´a dispon´ivel executando uma instru¸c˜ao SQL, outros clientes tamb´em poder˜ao ser escritos para acess´a-la. Por ex-emplo, o cliente mysql de linha de comando foi modificado para ter esta capacidade.

No novo protocolo cliente/servidor, v´arias instru¸c˜oes podem ser feitas com uma ´unica chamada. Veja Se¸c˜ao 12.1.8 [C API multiple queries], P´agina 851.

O novo protocolo cliente/servidor tamb´em suporta retorno de v´arios resul-tados. Isto pode ocorrer como resultado de enviar v´arias instru¸c˜oes, por exemplo (Veja o item anterior).

Uma nova sintaxeINSERT ... ON DUPLICATE KEY UPDATE ...tem sido im-plementada. Isto lhe permite executar umUPDATEem um registro existente se o um INSERT criasse uma chave (´indice) prim´aria (PRIMARY) ou ´unica (UNIQUE) (index) duplicada. Veja Se¸c˜ao 6.4.3 [INSERT], P´agina 578.

Projetamos uma nova fun¸c˜ao de agrupamento GROUP_CONCAT(), adicio-nando a capacidade de concatenar colunas de registros agrupados em uma

´

unica string de resultado, o que ´e extremamente ´util. Veja Se¸c˜ao 6.3.7 [Group by functions and modifiers], P´agina 555.

A se¸c˜ao de novidades neste manual incluem uma lista mais completa de recursos. Veja Se¸c˜ao C.2 [Novidades na vers˜ao 4.1.x], P´agina 948.

1.5.2.2 Stepwise Rollout

Novos recursos est˜ao sendo adicionados ao MySQL 4.1. A vers˜ao Alfa j´a st´a dispon´ivel para download. Veja Se¸c˜ao 1.5.2.3 [Nutshell Ready for Immediate Use], P´agina 26.

O conjunto de recursos que est˜ao sendo adicionados a vers˜ao 4.1 est˜ao, na maioria, cor-rigidos. Desenvolvimento adicional j´a est´a em andamento na vers˜ao 5.0. O MySQL 4.1 passam pelos passos de Alfa (tempo no qual os novos recursos ainda podem ser adiona-dos/alterados), Beta (quando j´a implementamos todos os recursos e apenas corre¸c˜oes de erros s˜ao realizados0) e Gamma (indicando que ima distribui¸c˜ao de produ¸c˜ao est´a quase pronta). No fim deste processo, o MySQL 4.1 se tornar´a o nova distribui¸c˜ao de produ¸c˜ao).

1.5.2.3 Pronto para Uso em Desenvolvimento Imediato

O MySQL 4.1 est´a atualmente no est´agio alfa e os bin´arios est˜ao dispon´iveis para download em http://www.mysql.com/downloads/mysql-4.1.html. Todas as distribui¸c˜oes bin´arias passaram por nossos extensivos teste sem nenhum erro na plataforma em que testamos.

Veja Se¸c˜ao C.2 [Novidades na vers˜ao 4.1], P´agina 948.

Para aqueles que desejam usar o fonte mais recente do desenvolvimento do MySQL 4.1, deix-amos nosso reposit´orio do BitKeeper publicamente dispon´ivel. Veja Se¸c˜ao 2.3.4 [Installing source tree], P´agina 100.

1.5.3 MySQL 5.0, A Pr´ oxima Distribui¸c˜ ao de Desenvolvimento

O novo desenvolvimento para o MySQL est´a focado na distribui¸c˜ao 5.0, comrecursos como Stored Procedures entre outros. Veja Se¸c˜ao 1.6.2 [TODO MySQL 5.0], P´agina 27.

Para aqueles que desejam dar uma olhada no desenvolvimento do MySQL, deixamos o nosso reposit´orioo do BitKeeper para o MySQL vers˜ao 5.0 dispon´ivel publicamente. Veja Se¸c˜ao 2.3.4 [Instalando a ´arvore fonte], P´agina 100.

No documento 1 Informa¸c˜ oes Gerais . . . . 1 (páginas 55-60)