• Aucun résultat trouvé

Sommaire 27 Historique des changements MySQL

1.5 MySQL Plan de développement

Cette section donne un aperçu du plan de développement de MySQL, incluant les futures fonctionnalités prévues pour MySQL 4.0, 4.1, 5.0 et 5.1. Les sections suivantes donnent plus de détails sur chaque version.

La série de production est MySQL 4.0, qui a été déclarée stable pour un environnement de production depuis la version 4.0.12, publiée en Mars 2003. Cela signifie que les développements futurs de la série des 4.0 est limitée aux corrections de bugs. Pour les anciennes version 3.23, seuls les bugs critiques seront corrigés.

L'effort de développement MySQL a lieu actuellement dans les versions MySQL 4.1 et 5.0. Cela signifie que les nouvelles fonctionnalités sont ajoutées aux versions 4.1 et 5.0. Les versions 4.1 et 5.0 sont disponibles en version alpha.

Avant de mettre à jour une version vers une autre, lisez les notes de la section Mise à jour ou rétrogradage de MySQL .

Les plans de certains fonctionnalités sont résumés dans cette table.

Fonctionnalité version MySQL

Unions 4.0

Sous−requêtes 4.1

R−trees 4.1 (pour les tables MyISAM )

Procédures stockées 5.0

Vues 5.0 ou 5.1

Curseurs 5.0

Clés étrangères 5.1 (déjà implémentés en 3.23 par InnoDB )

Triggers 5.1

Jointures externes 5.1

Contraintes 5.1

1.5.1 MySQL 4.0 en bref

Promise depuis longtemps par MySQL AB

et attendue avec impatience par nos utilisateur, le serveur MySQL 4.0 est disponible en version de production.

MySQL 4.0 est disponible au téléchargement depuis http://www.mysql.com/ et nos miroirs. MySQL 4.0 a été testée par un grand nombre d'utilisateurs et il est en production sur de très grands sites. Les fonctionnalités principales de MySQL serveur 4.0 sont destinées à nos utilisateurs

professionnels et communautaire : elles améliorent le capacités de MySQL pour gérer les missions critiques et les systèmes fortement chargés. D'autres fonctionnalités sont destinées aux utilisateurs de solutions intégrées.

1.5.1.1 Fonctionnalités disponibles en MySQL 4.0

Amélioration des performances

MySQL 4.0 dispose d'un cache de requêtes qui peut vous accélérer grandement vos applications qui utilisent souvent les mêmes requêtes. Le cache de requêtes MySQL .

La version 4.0 accélère la vitesse du serveur MySQL dans de nombreux domaines, notamment les INSERT

de masse, la recherche sur les index compressés, la création d'index FULLTEXT

ainsi que les comptes COUNT(DISTINCT)

.

Serveur MySQL embarqué

La nouvelle bibliothèque Embedded Server

(au lieu de client/serveur) peut être facilement utilisée pour créer des applications indépendantes ou intégrées. Bibliothèque MySQL embarquée .

Le moteur InnoDB

en standard

Le moteur de tables InnoDB

est désormais livré en standard avec le serveur MySQL, apportant le support complet des transactions ACID, les clés étrangères avec modifications et effacement en cascade, ainsi que le verrouillage de ligne. Le moteur de tables InnoDB

.

Nouvelles fonctionnalités

Les nouvelles possibilités de recherche en FULLTEXT

de MySQL Serveur 4.0 permettent l'utilisation d'index FULLTEXT

sur de grandes quantités de texte, avec des logiques binaires ou en langage naturel. Les utilisateurs peuvent

paramétrer la taille minimum des mots, et définir leur propre liste de mots interdits, dans n'importe quel langue. Cela ouvre la possibilité de nombreuses applications avec MySQL Serveur. Fonctions de recherche en texte plein .

Respect des standards, portabilité et migration

Simplification de la migration depuis d'autres bases de données vers MySQL Serveur, et notamment TRUNCATE TABLE

(comme sous Oracle) et IDENTITY

comme synonyme pour les clés automatiquement incrémentées (comme sous Sybase).

De nombreux utilisateurs seront heureux de savoir que le serveur MySQL supporte aussi les requêtes UNION

, une fonctionnalité SQL attendue avec impatience.

MySQL peut s'exécuter nativement sur les plates−formes NetWare 6.0. Installer MySQL sous NetWare .

Internationalisation

Nos utilisateurs allemands, autrichiens et suisses remarqueront que nous avons un nouveau jeu de caractères, latin1_de

, qui corrige les problèmes de tri

des valeurs allemandes , en plaçant les umlauts allemands dans le même

ordre que dans l'annuaire d'Allemagne.

Amélioration de l'ergonomie

Durant la mise en place de fonctionnalités pour de nouveaux utilisateurs, nous n'avons pas oublié notre communauté de loyaux utilisateurs.

Une fonctionnalité pratique pour les administrateurs de base de données est que la plupart des paramètres de démarrage de mysqld

peuvent être modifiées sans redémarrer le serveur. Syntaxe de SET

. Les commandes DELETE

et UPDATE

peuvent désormais fonctionner sur plusieurs tables.

En ajoutant le support des liens symboliques

à MyISAM

au niveau des tables (et non plus au niveau des bases, comme auparavant), et en autorisant les liens symboliques sur Windows, nous espérons que nous avons pris au sérieux vos demandes d'amélioration.

Des fonctions comme SQL_CALC_FOUND_ROWS

et FOUND_ROWS()

rendent possible le comptages de lignes sans utiliser la clause LIMIT

.

La section sur les nouveautés du manuel rassemble toutes les nouveautés. Changements de la version 4.0.x (Production) .

1.5.1.2 MySQL Server intégré (embedded) libmysqld

rend le serveur MySQL disponible pour toute une gamme d'applications très vaste. En utilisant la bibliothèque du serveur MySQL intégré, vous pouvez utiliser MySQL dans différentes applications et appareillages, où l'utilisateur final n'aura même pas idée de sa présence. Le serveur MySQL intégré est idéal pour équiper les bornes internet, les kiosques publics, les paquets

matériel/ logiciels clé en main, les serveurs MySQL haute performances, et les bases de données autonomes sur CDrom.

De nombreux utilisateurs de libmysqld

profiteront de la double licence . Pour ceux qui ne souhaitent pas être liés par la licence GPL, la bibliothèque est aussi disponible avec une licence commerciale. La bibliothèque MySQL intégrée utilise la même interface que la bibliothèque cliente classique, ce qui la rend pratique à utiliser. libmysqld, la bibliothèque intégrée MySQL .

1.5.2 MySQL 4.1 en bref

MySQL 4.0 a posé les fondations pour de nouvelles fonctionnalités telles que les sous−requêtes imbriquées et l'Unicode qui sont d'ores et déjà implémentées en version 4.1, ainsi que les procédures stockées SQL−99, qui seront disponibles pour la version 5.0. Ils représentent les fonctionnalités les plus demandées par de nombreux clients.

Avec ces améliorations, les critiques du serveur de base de données MySQL devront être plus imaginatifs que jamais pour identifier des manques dans le serveur MySQL. Déjà connu depuis longtemps pour sa stabilité, sa rapidité et sa facilité d'emploi, le serveur MySQL va désormais satisfaire la liste de tous les voeux des clients les plus exigeants.

1.5.2.1 Fonctionnalités disponibles en MySQL 4.1

Les fonctionnalités ci−dessous sont implémentées en MySQL 4.1. Quelques autres fonctionnalités sont prévues pour MySQL 4.1, mais très peu. Voyez Ce qui est prévu pour la version 5.0 .

Les plus récentes fonctionnalités en cours de réalisation, comme par exemple les procédures stockées, seront disponibles en MySQL 5.0. Ce qui est prévu pour la version 5.0 .

Support des sous−requêtes et tables dérivées

Une sous−requête est une commande SELECT

imbriquée dans une autre requête. Une table dérivée (une vue anonyme) est une sous−requête dans une clause FROM

d'une autre commande. Syntaxe des sous−requêtes .

Accélération

Protocole binaire plus rapide, avec préparation des commandes et paramétrage. Commandes préparées en C .

Indexation BTREE

pour les tables HEAP

, ce qui améliore significativement le temps de réponse pour les recherches non exactes.

Nouvelle fonctionnalité

CREATE TABLE table_name2 LIKE table_name1

vous permet de créer, avec une seule commande, une nouvelle table, avec une structure identique à celle d'une autre table existante.

Support pour les types géométriques OpenGIS (données géométriques).

Extensions spatiale de MySQL .

La réplication peut être faite sur connexions SSL.

Compatibilité avec les standards, portabilité et migration

Le nouveau protocole client−serveur apporte la possibilité de faire passer plusieurs alertes au client, plutôt qu'une seule. Cela améliore grandement la gestion des erreurs lors des manipulations de masse.

SHOW WARNINGS

affiche les erreurs de la dernière commande. Syntaxe de SHOW WARNINGS

.

Internationalisation

Pour supporter notre base d'utilisateurs en pleine croissance, et leur configurations locales, MySQL exploite désormais l'Unicode (UTF8).

Les jeux de caractères peuvent désormais être définis par colonnes, tables et bases. Cela permet d'améliorer la souplesse dans la conception des

applications, en particuliers pour les sites multi−langues.

Pour la documentation sur l'amélioration du support des jeux de caractères, voyez Jeux de caractères .

Améliorations d'ergonomie

En réponse à la demande populaire, nous avons ajouté une commande HELP command

coté serveur, qui peut être utilisée en ligne de commande du client mysql

et d'autres clients, pour obtenir de l'aide sur les commandes SQL. Avec ces informations sur le serveur, elles seront parfaitement adaptées à la version et configuration du serveur.

Avec le nouveau protocole client/serveur, les requêtes multiples sont désormais activées. Cela vous permet d'émettre plusieurs requêtes en une seule commande, puis de lire tous les résultats en une seule fois. Gestion des requêtes multiples en C .

Le nouveau protocole client/serveur supporte aussi les jeux de résultats multiples. Cela peut arriver après une commande multiple, par exemple. Voir le point précédent.

Nous avons implémenté une syntaxe pratique INSERT ... ON DUPLICATE KEY UPDATE ...

. Elle vous permet de modifier une ligne avec UPDATE

, si l'insertion INSERT

avait généré un double dans la colonne PRIMARY

ou UNIQUE

. Syntaxe de INSERT

. Nous avons ajouté une fonction d'agrégation, GROUP_CONCAT()

, qui permet de concaténer des colonnes dans une seule chaîne de résultat. Fonctions à utiliser dans les définitions GROUP BY

.

La section sur les nouveautés du manuel rassemble toutes les nouveautés. Changements de la version 4.1.x (Gamma) .

1.5.2.2 Phases de publication

De nouvelles fonctionnalités sont ajoutées à MySQL 4.1, qui est déjà disponible dans notre système BitKeeper. Installer à partir des sources de l'arbre de développement .

Le jeu de fonctionnalités destiné à la version 4.1 est globalement définitif. Les nouveautés iront essentiellement à la nouvelle version de développement 5.0. MySQL 4.1 va suivre son

développement normal avec une phase Alpha (durant laquelle de nouvelles fonctionnalités peuvent être ajoutées ou modifiées), puis Beta (où les fonctionnalités sont fixées, et seules des corrections sont faîtes), puis Gamma (qui indique qu'une version de production verra le jour dans quelques semaines), avant que la version 4.1 ne deviennent la nouvelle version officielle.

1.5.2.3 Utilisation immédiate en production

MySQL 4.1 est actuellement en phase alpha, et les paquets binaires sont disponibles en

téléchargement sur http://www.mysql.com/downloads/mysql−4.1.html . Tous les paquets passent nos tests exhaustifs sans erreur, sur les plates−formes que nous utilisons. Changements de la version 4.1.x (Gamma) .

Pour ceux qui souhaitent utiliser les plus récents développement de MySQL 4.1, nous avons rendu notre serveur BitKeeper public. Installer à partir des sources de l'arbre de développement .

1.5.3 MySQL 5.0, les prochains développement

Les nouveaux développements de MySQL sont désormais concentrés sur la version 5.0. Les procédures stockées et d'autres fonctionnalités seront en vedette. Ce qui est prévu pour la version 5.0 .

Pour ceux qui veulent jeter un oeil aux tout derniers développements de MySQL, nous avons rendu notre serveur BitKeeper disponible au public pour MySQL version 5.0. Installer à partir des sources de l'arbre de développement . Depuis décembre 2003, des paquets binaires de MySQL version 5.0 sont aussi disponible.s