• # Théorème CAP

    Posté par (site web personnel) . En réponse à la dépêche MongoDB 1.4, prêt pour la production. Évalué à 10.

    L'article suivant explique bien la différence fondamentale entre les bases de données relationnelles (MySQL, PostgreSQL et toutes les autres) et les bases NoSQL :
    http://blog.nahurst.com/visual-guide-to-nosql-systems

    CAP est un sigle pour désigner (traduction approximative) :
    - Consistency (cohérence) : chaque client a toujours la même vue des données
    - Availability (disponibilité) : tous les clients peuvent lire et écrire
    - Partition tolerance (tolérance au partionnement ?) : le système peut être réparti physiquement à travers le réseau

    Le théorème CAP dit qu'on peut pas tout avoir : au mieux, on peut en avoir que deux.

    Les bases de données relationnelles ont choisi Consistency+Availability (donc mauvaise performance pour une base distribuée), Cassandra et CouchDB ont choisi Availability+Partition tolerance (donc mauvaise cohérence), et MongoDB a choisi Consistency+Partition tolerance (donc mauvaise disponibilité).