Hadoop streaming avec PHP et extraction HIVE – part 2

Dans cette suite de billets consacrés à HADOOP, HIVE et Map Reduce, nous allons présenter «Hadoop streaming» et voir comment il est simple d’utiliser les fonctions natives de Map Reduce du framework «Hadoop» avec PHP.

En reprenant le schéma de la première partie consacré à l’introduction d’«hadoop» et à son installation, nous nous attarderons sur les services de «Logs», «App Engine», «HIVE» et «HDFS» de l’architecture. Pour avoir une idée de comment s’articule l’ensemble de ces services jusqu’à la visualisation des métriques marketing, je vous propose le plan suivant :

  • collecte et centralisation des logs,
  • manipulation des logs et utilisation de Map Reduce,
  • introduction à HIVE,
  • extraction de données.

Lire la suite

Caching avancé et stratégie d’optimisation pour des applications web à forte charge

Avant de détailler les systèmes de caching que l’on peut trouver au sein d’une infrastructure, je vous recommande de lire le billet sur le système de cache fichier pour bien appréhender le mécanisme d’optimisation sous-jacent.

pour répondre aux problématiques de montée en charge des services, on aura recourt à plusieurs niveaux de cache. Cette stratégie d’optimisation est faîte de manière globale et prend en compte tous les paramètres de l’infrastructure et de l’application pour être optimale. Ces moyens permettent de soulager l’infrastructure et de résorber des goulots d’étranglements. Le design et l’intégration de ces solutions imposent tout de même d’avoir les réflexions suivantes :

  • Est-ce que nous devons tout mettre en cache ?
  • Est-ce que tout est cachable ?
  • Le mécanisme d’invalidation du cache peut-il remettre en cause le choix technique ou impose-t-il des développements complémentaires ?

Lire la suite

Gearman fait son job

Gearman est un service de «pool request». Il reçoit d’un côté les demandes de traitement à faire (jobs) et transmet les ordres d’exécution aux workers qui réaliseront la tâche demandée.

    Les «jobs» demandés à Gearman peuvent être :

  • synchrone : le client attend que Gearman renvoie le résultat de l’exécution de la tâche,
  • asynchrone : le client demande à faire faire un traitement par Gearman en tache de fond et n’attend aucun résultat en retour.

Lire la suite