Changeset 681

Show
Ignore:
Timestamp:
08/21/07 23:39:25 (1 year ago)
Author:
ioguix
Message:

Chapitre "Transactions and the Database Engine Core"

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • materials/advocacy/trunk/Why_PostgreSQL_Instead_of_MySQL.txt

    r680 r681  
    144144// change its own SQL Mode to override this, with the result that these validation constraints are still not  
    145145// necessarily enforced by the server. 
    146 Avant la version 5.0, MySQL méritait clairement sa réputation autorisant l'insertion de données inconsistantes dans la 
    147 base de données. "Guaranteeing Data Integrity with MySQL 5.0" explique les problèmes avec les plus vieilles versions de 
    148 MySQL, et comment ils pourraient être évité en utilisant le "Mode SQL" strict disponnible dans la version actuelle. 
    149 Bien entendu, tout client MySQL à la possibilité de changer son mode SQL et contourner ainsi ce comportement, 
    150 avec comme résultat que ces validations de contraintes ne soit plus forcément assurée coté serveur. 
     146Avant la version 5.0, MySQL méritait clairement sa réputation à propos d'insertion de données inconsistantes dans la 
     147base de données. "Guaranteeing Data Integrity with MySQL 5.0" explique les problèmes avec ces plus vieilles versions de 
     148MySQL, et comment ils pourraient être évités en utilisant le "Mode SQL" strict disponnible dans la version actuelle. 
     149Bien entendu, tout client MySQL a la possibilité de changer son mode SQL et contourner ainsi ce comportement, avec 
     150comme conséquences que ces validations de contraintes ne soient plus forcément assurées coté serveur. 
    151151 
    152152// PostgreSQL has always been strict about making sure data is valid before allowing it into the database, and there is 
     
    158158Les Transactions et le Moteur Interne de la Base de Donnée 
    159159 
    160 /* en cours de trad par ioguix 
    161160// The database core that gave MySQL its original reputation for speed is MyISAM. This engine has excellent read 
    162161// performance and its parser is very efficient for straightforward queries, which combine to make it very fast in 
     
    166165// it does not support foreign keys or transactions that would allow the database to have ACID properties. MyISAM 
    167166// also has issues dealing with concurrent reads and updates, since it only provides table level locking. 
    168  
     167MyISAM est le composant interne de MySQL à l'origine de sa réputation de rapidité. Ce moteur a d'excellentes 
     168performances en lecture et son analyseur est vraiment très efficace pour les requêtes simples, ce qui le rendent 
     169trés rapide pour les applications en lecture intensive comme les applications web qui emploient de simple SELECTs. 
     170Cependant, il est communément connu que MyISAM est plus vulnérable aux corruptions de données que la plupart des 
     171bases de données sérieuses ne sauraient tolérer, et en cas d'incident, il peut s'écouler un temps non négligeable 
     172durant lequel il reconstruit ses indexes avant que le serveur ne puisse redémarrer. En outre, il ne supporte pas les 
     173clés étrangères ou les transactions qui auraient permis à la base d'avoir des propriétés ACID. MyISAM a aussi un 
     174problème avec les accès concurrents en lecture et mise à jour car ne supporte que les verrous de niveau table. 
    169175 
    170176// The integration of the InnoDB Storage Engine to MySQL greatly improved over MyISAM in terms of data integrity, 
     
    174180// vulnerable to the traditional corruption issues associated with that storage engine. This issue is worked around 
    175181// using some complicated locking methods that have the potential to make a table alteration block for some time. 
     182L'intégration du moteur de stockage InnoDB à MySQL a grandement surpassé MyISAM en terme d'intégrité des données, 
     183ajoutant un mécanisme de ré-exécution des journaux plus robuste pour la restauration après incident et supportant des 
     184transactions ACID. Cependant, cette nouvelle approche apporte aussi beaucoup plus de charge, et les tables InnoDB ne 
     185sont pas aussi rapides que les MyISAM pour les accès en lecture pure. De plus, les tables des métadonnées internes à 
     186MySQL sont toujours stockées en MyISAM, ce qui signifie qu'elles restent vulnérables aux traditionnels problèmes de 
     187corruption associés à ce moteur de stockage. Ce problème peut-être contourné en utilisant plusieurs méthodes de 
     188verrous compliqués qui peuvent potentiellement bloquer l'édition d'une table pendant un certain temps. 
    176189 
    177190// PostgreSQL has always focused on data integrity at the transaction level, keeping locking issues to a minimum, and 
    178191// barring hardware failure or grossly improper configuration it is difficult to corrupt a database. 
     192PostgreSQL a toujours porté attention à l'intégrité des données au niveau transactionnel, se gardant ainsi des 
     193problèmes de verrou au minimum, et empêchant une erreur matériel ou une configuration extrêmement mauvaise de corrompre 
     194la base de données. 
    179195 
    180196// It is worth observing that the database engine is part of the core of PostgreSQL, whereas InnoDB is a 
     
    185201// testing before a mature product suitable for production use is available. Initial benchmarks suggest Falcon has 
    186202// plenty of rough edges that need to be addressed. 
    187 */ 
     203Il est intéressant de souligner que PostgreSQL intègre entièrement son moteur de base de donnée, alors que InnoDB 
     204est un produit sous licence double actuellement détenu par la société Oracle. L'histoire ne dit pas comment Oracle 
     205modifiera InnoDB dans le futur sachant qu'ils sont eux-même en concurrence avec MySQL AB, alors que PostgreSQL n'a 
     206aucun conflit d'intérêts de la sorte. MySQL AB développe un nouveau moteur de base de données interne appelé Falcon 
     207afin de se libérer de cette situation, mais historiquement, développer un de moteur de base rapide et fiable nécessite 
     208de nombreuses d'années de travail et de tests avant d'obtenir un produit mûr convenant à la production. Les premières  
     209évaluations suggèrent que Falcon a énormément de points d'approximations qui ont besoins d'être corrigés. 
    188210 
    189211// Foreign Keys