May 25, 2010
Dans 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 »
5 Comments |
Base de données, Développement, conception, optimisation | Tagged: Mysql, optimisation |
Permalink
Posted by Marc
September 24, 2009
Comme annoncé dans ce précédent billet. La société Cloud Consulting, partenaire 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 »
4 Comments |
Architecture, Base de données, Clouds, Clustering, conception | Tagged: Architecture, Clustering, Haute Disponibilité |
Permalink
Posted by Marc
February 1, 2009
La 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 »
No Comments » |
Base de données, Développement, optimisation | Tagged: Cache, Danga, Dynamo, linkedin, memcached |
Permalink
Posted by Marc
January 16, 2009
Aujourd’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 »
1 Comment |
Architecture, Base de données, Développement, optimisation | Tagged: Architecture, MOM, Protocole, Queue |
Permalink
Posted by Marc
January 12, 2009
Traiter 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 »
2 Comments |
Base de données, Serveur | Tagged: Java, Mysql, sun, ZFS |
Permalink
Posted by Marc
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 »
2 Comments |
Base de données, Clustering | Tagged: Cluster, Clustering, Mysql, oracle RAC |
Permalink
Posted by Marc