De MySQL à NoSQL

CassandraC’est désormais récurrent, de plus en plus d’infrastructures optimisent leurs modèles LAMP (Linux MySQL Apache et PHP) en y ajoutant des systèmes de stockage mémoire. La mode actuelle est au NoSQL. En effet après 20 ans de bons et loyaux services les bases de données relationnelles sont de moins en moins sollicitées sur les sites ayant des problématiques de volume très importants.

Le volume des données et le nombre d’utilisateurs simultanés de plus en plus importants demandent aujourd’hui des outils extrêmement rapides ou la quasi totalité des données est rapatriée dans la mémoire de plusieurs clusters de serveurs. La puissance des CPU, les quantités de mémoire disponibles permettent en effet de mettre en place des systèmes de stockage mémoire extrêmement performants.

Au delà des modèles propriétaires développés en interne (ie:Cassandra chez facebook) il existe de plus en plus d’outils libres/GPL permettant de mettre en place des espaces de stockage mémoire rapides, fiables et relativement simples à mettre en place.

Si ces modèles vous intéressent je vous conseille de regarder les projets HBase ou cassandra. Le dernier correspond à reprise par Apache d’un système initialement développé par les ingénieurs de facebook . Mais il en existe d’autres, et si votre architecture est simple un memcached peut également suffire à décharger votre infrastructure de manière très importante.

A retenir donc pour vos prochaines évolutions, l’ajout d’un système de cache mémoire pour optimiser votre architecture globale.

Si ce sujet vous intéresse et que vous souhaitez aller plus loin que le simple stockage clefs/valeurs sur un serveur vous trouverez également quelques liens pour poursuivre votre lecture, notamment l’utilisation de hbase par Adobe ou les évolutions chez DIGG :

Sur le même thème :

5 Responses to “De MySQL à NoSQL”

  1. sebest says:

    Cassandra et HBase sont très bien, mais pas très accessible pour des sites de taille raisonnable.

    Je conseillerai plutot Redis et mongodb.
    Car ils sont tout les deux très performant, et l’utilisation et la mise en place sont très simple (comparable a celle de memcache).

  2. Marc says:

    Merci Sébastien,

    Je n’ai pas de retour sur Redis, si quelqu’un l’a déjà utilisé je suis preneur des remarques.

    Marc

  3. Chloef says:

    Retour d’expériences : le Nosql est déjà en perte de vitesse. Après une annonce en grande pompe, Twitter par exemple a depuis renoncé à utiliser Cassandra pour ses tweets. Twitter utilise Cassandra uniquement pour les statistiques, les tweets sont gérés par Mysql. Idem pour Digg qui a connu beaucoup de soucis après son passage sous Cassandra. Quant à Facebook (créateur de Cassandra), il utilise Mysql pour 99% de ses bases de données.

  4. Baltox says:

    Facebook est passé sur HBase depuis 1 an…

  5. Marc says:

    Merci pour l’update, et désolé pour l’obsolescence mais je n’ai plus le temps de maintenir ce blog à jour…

Leave a Reply