OVH Cloud OVH Cloud

transactions prévues pour mysql dans le futur ou migration obligatoire?

8 réponses
Avatar
J-F Portala
Bonjour,
Innodb permet de pallier au manque de transactions dans mysql.
Cela semble un palliatif avec des performances faibles ( ce que j'ai lu dans
plusieurs articles)
Est il est prévu dans le futur une gestion directe des transactions par
Mysql.
A quel horizon ?

J'utilise mysql avec PHP.
J'ai dans une application 10 utilisateurs, une base de 200Mo, ou plusieurs
utilisateurs peuvent se connecter en meme temps.

Dois je migrer vers une autre base (on m'a conseille PostGres), passer à
InnoDB ou attendre
que Mysql integre les transactions.

Merci de vos opinions.
Jeff

8 réponses

Avatar
Fred BROUARD - SQLpro
De nombreuses arternatives existes :

PostGreSQL => free et depui peu sur Win mais béta (avant uniquement linux)
FireBird => free en fait une dérive de InterBase de Borland plus pointue
SAPdb => plus ou moins free
Ocelot => free, SGBDR de Peter Gulutzan une base 100% SQL:1999
MSDE => pas free, mais gratuit, version bridée à 2 Go optimisé pour 5 user
simultané de SQL Server de MS
etc...


A +

J-F Portala a écrit:
Bonjour,
Innodb permet de pallier au manque de transactions dans mysql.
Cela semble un palliatif avec des performances faibles ( ce que j'ai lu dans
plusieurs articles)
Est il est prévu dans le futur une gestion directe des transactions par
Mysql.
A quel horizon ?

J'utilise mysql avec PHP.
J'ai dans une application 10 utilisateurs, une base de 200Mo, ou plusieurs
utilisateurs peuvent se connecter en meme temps.

Dois je migrer vers une autre base (on m'a conseille PostGres), passer à
InnoDB ou attendre
que Mysql integre les transactions.

Merci de vos opinions.
Jeff






--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Avatar
Michaël
Salut

Le 13.10.2004 09:27, J-F Portala a écrit :
Est il est prévu dans le futur une gestion directe des transactions par
Mysql.



InnodB est LE moteur transactionnel de MySQL depuis longtemps déjà (version
3.23). Qu'est ce que tu appelles "gestion directe des transactions" ?

Concernant les perfs, c'est bien de lire des articles de tests, ça donne des
idées, mais rien ne vaut les benchs que tu feras toi-même. Là, tu te feras ta
propre idée du moteur InnoDB.

Cdt,
Michaël
Avatar
Christophe Cuq
Fred BROUARD - SQLpro writes:

(avant uniquement linux)



Non, pas linux uniquement, mais tous les unix libres (linux et *BSD),
mac OSX et Solaris. Pour les autres unix propriétaires, il faut
vérifier, mais ça métonnerait qu'il n'ait pas fonctionné.

Et il fonctionnait très bien sous windows dans son port cygnus, pas
forcément simple à installer, mais bon, il fonctionnait.

--
CHC
Avatar
J-F Portala
Merci des references alternatives.
La question que je me pose est la suivante:
Mysql est largement utilisee.
C'etait aussi ce qui m'a fait choisir cette base pour remplacer ACCESS que
j'utilisais avant.
Est ce que le besoin de transactions est vraiment nécessaire à partir d'un
taille critique de bases et
d'un nombre d'utilisateurs connectés simultanément.
Je travaille sous windows avec php et apache, quelle est à votre avis la
premiere base à étudier
pour eventuellement une migration à partir de mysql.

Merci de vos avis.
Jeff
Avatar
Manu Pavy
J-F Portala a fait part de :

Merci des references alternatives.
La question que je me pose est la suivante:
Mysql est largement utilisee.
C'etait aussi ce qui m'a fait choisir cette base pour remplacer ACCESS que
j'utilisais avant.
Est ce que le besoin de transactions est vraiment nécessaire à part ir d'un
taille critique de bases et
d'un nombre d'utilisateurs connectés simultanément.
Je travaille sous windows avec php et apache, quelle est à votre avis la
premiere base à étudier
pour eventuellement une migration à partir de mysql.

Merci de vos avis.
Jeff




Suivant tes besoins de transactions, si tu as déjà tout développé au
niveau applicatif , tu peux essayer de bloquer tes tables si cela ne
concerne que quelques transactions à effectuer :
http://www.devshed.com/c/a/MySQL/Using-Transactions-In-MySQL-Part-2/5/

Manu
Avatar
Damien Dutreil
Manu Pavy wrote:

Suivant tes besoins de transactions, si tu as déjà tout développé au
niveau applicatif , tu peux essayer de bloquer tes tables si cela ne
concerne que quelques transactions à effectuer :
http://www.devshed.com/c/a/MySQL/Using-Transactions-In-MySQL-Part-2/5/



oui, mais tu bloques de manière exclusif l'accès à tes tables: pas cool.
vaux mieux mettre les tables en innoDb et les jouer dans une transaction
Avatar
gu1om
J-F Portala wrote:

Est ce que le besoin de transactions est vraiment nécessaire à parti r d'un
taille critique de bases et d'un nombre d'utilisateurs connectés simul tanément.



uniquement si tes utilisateurs peuvent faire eux-memes des modifs
concurrentes et/ou si le fait que tu fasses des modifs sur la base
pendant que des utilisateurs la consultent est genant.

Je travaille sous windows avec php et apache, quelle est à votre avis la
premiere base à étudier pour eventuellement une migration à partir de mysql.



si ta base et tes scripts n'utilisent pas trop de specificités de mysql ,
faire une migration vers postgres a partir d'un dump sql n'est amha pas
tres compliqué.
ensuite, l'utilisation de postgres est un peu moins userfriendly

my 2 cents

--
Guillaume
Avatar
J-F Portala
Merci de vos avis.
Les besoins en transaction sont effectivement faibles..
C'est en particulier lorsque j'archive une partie des données dans d'autres
tables pour alleger
les tables principales.

Je suis quand meme soucieux de trouver une autre solution pour des
applications futures.

J'ai regardé dans la doc PHP, et PostGres est géré.
Pourquoi dit on que postgres n'est pas user friendly (par rapport à Mysql?)
Pour moi les fonctions sont similaires.

En revanche, je n'ai pas vu de fonctions PHP utilisant
les transactions postgres. (alors que pour interbase, elle sont explicites).

Que pensez vous de interbase (ou plutot firebird) ?
Comment se fait la migration des tables Myisam vers InnoDB, est ce que cela
remet en cause mes applications PHP et comment se font les
Pour toutes mes interactions avec les bases de données, je travaille avec
une classe, cela devrait faciliter la migration.

Travaillant sous windows, je suis un peu inquiet car Postgres vient
recemment d'etre porte sous windows (est ce dejà fiable?)
J'ai aussi des applications en C++ qui peuvent interagir avec les bases de
données. J'ai vu qu'il existait une passerelle ODBC pour postgres.
Normalement, il ne devrait pas y avoir de soucis.


J'ai passé pas mal de temps il y a 4 ans pour me decider à utiliser Mysql
avec PHP. J'ai pas mal d'applications qui tournent
parfaitement avec Mysql, et ajouter une autre base oblige à une maintenance
double....

Encore merci de votre aide
Jeff