Désolé pour la réponse un peu longue ...
Je n'ai que 25 ans mais je suis à peu près certain que les bases de données et l'environnement ont légèrement évolué en 30 ans, donc je ne vois pas comment une société spécialisée dans un domaine depuis 30 ans serait automatiquement meilleure qu'une société spécialisée dans le même domaine depuis 10 ans.
Tu serais étonné de constater que non. Il y a eu très peu d'évolution dans le domaine du stockage des fichiers des SGBD et des manières de les traiter. On retrouve essentiellement à la base les technologies ISAM et VSAM dont les spécifs de bases ont été définies par IBM dans les années 70 ou 80 et que l'on retrouve également sur les mainframe Cobol/CICS.
Ne me fais pas dire ce que je n'ai pas dit : bien sûr que ça a évolué en 30 ans et les bases de données ne sont pas du Cobol. Mais les évolutions ont essentiellement sur les algorithmes d'optimisation des requêtes, sur les index, sur l'intégrité des données, sur les bases de données réparties. Et bien sûr sur la sécurité des données. Mais les principes ont assez peu bougé.
D'autre part, l'avantage d'avoir commencé avec 20 ans d'avance, c'est que certains bugs ont été résolus depuis pas mal de temps ou que certaines fonctionnalités ont été mises en place depuis plusieurs années. Encore une fois, je trouve remarquable le travail de MySQL ou d'InnoDB, mais ils sont encore très loin des possibilités d'un SGBDR Oracle, Sybase ou IBM et continuent à debugger des problèmes qui sont de lointains souvenirs pour ces anciens. Par exemple, les vues, triggers, fonctions et procédures stockées viennent à peine de faire leur entrée dans MySQL 5 et il y a un manque de recul quant à leur fiabilité.
Concernant la sécurité : je viens à l'instant de faire un simple essai sur mon serveur de développement. Je suis webmaster et je fais une fausse manip ...
J'efface accidentellement un fichier de données Oracle --> opération refusée.
J'efface accidentellement un fichier de données MySQL (MyISAM ou InnoDB) --> le fichier est effacé.
Rien que ce simple test m'incite à dire qu'il est suicidaire de mettre des données sensibles pour l'entreprise dans une base MySQL.
On peut également citer les problèmes de pertes de données avoués par MySQL en cas de plantage lors de l'écriture d'un fichier (voir également l'expérience citée par gwendal). D'un autre côté, un des mes clients a débranché des dizaines de fois un serveur Oracle pendant des phases d'écritures de données pour tester la robustesse : il n'a jamais perdu une seule donnée.
Cas InnoDB :
MySQL intègre un moteur développé par InnoDB. Mais on ne peut pas dire qu'il s'agit de bases MySQL. La meilleure preuve étant que lorsqu'on parle de base MySQL, on sous-entend MyISAM et qu'on est obligé de préciser quand il s'agit d'une autre technologie. D'ailleurs, il est possible que ce moteur ne soit bientôt plus dispo sous MySQL puisque depuis le rachat par Oracle, des renégociations sont en cours.
Concernant ce rachat d'InnoDB par Oracle et la tentative manquée d'achat de MySQL par Oracle. Oracle a toujours eu un manque sur le marché des SGBD légers et n'arrive pas à imposer sa solution Oracle Lite. La solution passe donc par un rachat, comme l'avait fait Sybase il y a une dizaine d'années en rachetant l'excellent moteur Watcom SQL pour le renommer en SQL Anywhere. De plus, Oracle flirte pas mal de temps avec le monde de l'opensource et c'est là une occasion d'y mettre un bon pied.
MyISAM pour des applications très rapides à forts volumes en lecture ou écriture mais qui n'ont pas besoin d'utiliser de transaction ou d'intégrité référentielle
Je ne comprends pas bien. Toutes les applications qui utilisent des bases de données font des lectures et des écritures. Et quand la volumétrie monte, MyISAM n'est pas un moteur particulièrement réputé pour sa robustesse, ni pour sa rapidité : il n'y a pas besoin d'avoir fait de longues études en informatique pour se rendre compte que le fait que MyISAM stocke chaque table dans trois fichiers différents entraîne des temps d'ouverture/fermeture plus longs qu'un stockage comme Oracle où tout est stocké dans un seul fichier organisé en fonction de la volumétrie de chaque table (voire deux fichiers, un pour les données et l'autre pour les index).
D'autre part, toutes les applications ont besoin d'intégrité référentielle. Ou plutôt devraient en avoir besoin. C'est justement parce que MySQL n'intègrait pas ces mécanismes qu'on a fait semblant de croire qu'on n'en avait pas besoin ou qu'on a développé des programmes complexes pour pallier à leur manque.
Tout cela pour dire que oui, MySQL, MyISAM et InnoDB sont des produits fantastiques. Mais qu'il ne faut pas les utiliser n'importe comment et qu'il faut se poser de sérieuses questions quant à leur fiabilité si des données sensibles pour l'entreprise doivent y être stockées.
voire même ARCHIVE, MEMORY ou CSV pour des applications spécifiques
Avis personnel : il vaut mieux, satisfaire 99% des utilisateurs en améliorant MyISAM plutôt que de faire joujou en intégrant des moteurs utilisés au maximum pour 1% des utilisateurs. Question d'efficacité.