Améliorer les performances de MySQL en partionnant les tables

May 25, 2010

Base de données mysql optimiséeDans son document : “Scaling MySQL writes through Partitioning“, Philip Tellis nous explique comment il a réussi à augmenter très significativement le débit en écriture sur une base MySQL.

Le constat est assez basique, et le problème très répandu. Il s’agit d’optimiser les écritures sur une table qui augmente très vite. La premiere solution consiste à multiplier les machines et répartir les données sur plusieurs serveurs. Mais avant d’utiliser cette stratégie vous pouvez aussi optimiser votre serveur.

Lire la suite »


De MySQL à NoSQL

April 30, 2010

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.
Lire la suite »


La Haute Disponibilité

September 24, 2009

cactiComme annoncé dans ce précédent billet. La société Cloud Consultingpartenaire des IT souhaitant étudier leur migration vers le Cloud Computing nous propose d’intervenir sur ce blog afin d’apporter son éclairage et son expertise sur le Cloud Computing, et vous présenter ses solutions techniques.

Dans ce premier article, Cloud Consulting vous propose d’aborder sa vision de la haute disponibilité et un comparatif des définitions qu’en font les fournisseurs de Cloud Computing. Mais commençons tout d’abord par définir ce qu’est la Haute Disponibilité… Lire la suite »


Choisir le meilleur outil pour gérer vos données

June 3, 2009

optimisation-base-de-donnesLa plupart des sites web et des applications d’entreprise sont reliés à une base de données permettant le stockage des données utilisateurs ou celle de l’application. En général ce composant impact directement la performance et la stabilité de l’ensemble, c’est d’ailleurs souvent un maillon faible du système.
D’où l’importance de bien étudier le sujet !

Lire la suite »


Gestion des bases de données chez Netlog (PHP/MySQL)

March 11, 2009

netlogIl est assez rare d’avoir des informations détaillées de la part des sociétés européennes. C’est donc avec plaisir que j’ai consulté cet excellent post à propos des problématiques de gestion de bases de données chez Netlog. Netlog est un portail social pour les jeunes Européens, crée par la société Netlog S.A. basée à Gand, en Belgique. Cette plate forme est utilisée par plus de 41 millions de personnes à travers l’Europe.
Lire la suite »


Stockage distribué : Project Voldemort

February 1, 2009

voldemortLa gestion d’un nombre de requête important nécessite toujours la mise en place de système de cache. En général il s’agit de système permettant de stocker une valeur pour un ID donné.

Dans cette gamme de logiciel je vous ai déjà présenté memcached, ou les solutions de montée en charge de Danga, aujourd’hui je vous propose de regarder le projet Voldemort.

Ce nouveau système est en fait une implémentation libre du système Dynamo d’Amazon (Dynamo est également expliqué ici): Lire la suite »


Communiquer via une file d’attente de message [1/3]

January 16, 2009

boite-au-lettre-2Aujourd’hui la construction d’un service ou site web se fait généralement via l’appel de services et requêtes HTTP. Du coup la modélisation d’une architecture est souvent basée autour de ce protocole et toute l’architecture est basée sur ce principe.

Pourtant il existe d’autres techniques qui permettent à des systèmes de communiquer entre eux. Je vous propose donc via ces quelques pages de vous faire (re)-découvrir le principe de la communication par message asynchrone. La grande différence entre les messages asynchrones et les requêtes synchrones tient au fait que l’émetteur d’une requête va attendre sa réponse et il ne va pas interrompre la communication tant que le traitement ne sera pas terminé (get http par exemple).

Alors qu’avec un message, le récepteur va confirmer le bon enregistrement de la demande et la communication peut-être interrompue même si le traitement demandé dans le message n’est pas terminé.

Prenons l’exemple de l’inscription d’un utilisateur sur un site web, à la fin de l’inscription nous souhaitons lui envoyer un e-mail de confirmation/vérification :

Lire la suite »


79000 requêtes par seconde sur une base MySql

January 12, 2009

photo_sun_sparc_enterprise_t5440Traiter des dizaines de milliers de requêtes par seconde n’est pas une problématique courante. Que ce soit pour l’enregistrement du Loto ou du PMU, pour envoyer les SMS le 1er janvier  ou enregistrer les enchères sur Ebay, il existe en fait de nombreux cas de figure ou il est nécessaire de traiter des volumétries extrêmement importantes.

Auparavant le choix de plateforme s’orientait vers des systèmes propriétaires assez classiques (DB2, Oracle, Sybase ou encore Informix), mais de plus en plus, en surtout depuis le rachat de MySQL par Sun, cette dernière base de données arrive en challenger. Lire la suite »


Mettre en place une base de données MySQL Cluster

September 2, 2008

Le choix d’une base de données pour gérer les services vitaux d’une société n’est jamais trivial. Dans le monde de la finance ou des telecom Oracle remporte souvent la mise grâce à ses capacités de clusterisation sur plusieurs serveurs (Oracle RAC).

Cette version offre en effet des mécanismes de répartition de charge et de reprise sur erreur automatique extrêmement robustes. Malheureusement l’addition des coûts nécessaires à la mise en place d’une telle architecture n’est pas toujours compatible avec les budgets des applications et services Web.

Pour répondre à cette problématique il existe une version modifiée de MySql, la version Cluster. Cette version est optimisée pour être extrêmement disponible. Lire la suite »