FluxRSS FlickR Twitter

Maxime Gaillard

DESCARTES : Je pense, donc je blog !

17 nov 09

RealTime Web : les bases de données sont le problème

Posté dans Internet | Tags :, , , | 6 Commentaires »


Il y a quelque chose qui me préoccupe pas mal depuis quelques temps, c’est le web en temps réel ou real time web. C’est le buzz word de ces dernières semaines, notamment de l’autre côté de l’atlantique. Personnellement je m’y intéresse depuis le début de l’année 2009.

J’ai testé plusieurs solutions, toutes plus révolutionnaires les unes que les autres. Toutes plus performantes les unes que les autres. Mais au final il y a un problème. La base de donnée. Pour comprendre, une explication s’impose.

Le RealTime Web est né d’un principe simple. Que l’internaute qui est sur un site soit informé en temps réel d’un changement. Par exemple vous publiez un article sur votre blog, sous quelques secondes, tous les abonnées à votre flux rss le reçoivent. L’idée n’est donc plus que le client (l’internaute) demande les données au serveur mais que le serveur envoie les données quand elles sont modifiées. On passe du Pull au Push. Un peu comme pour les mails sur nos magnifiques smartphones modernes.

Il y a donc en permanence une connexion d’ouverte entre le client et le serveur. Ainsi votre serveur agit comme un serveur de streaming. Tout est en temps réel. Niveau performance, avec un serveur bien fait, on peut monter très haut en connexion simultanées. Ajax Push Engine promet 100 000 connexions, mais je n’ai pas testé ! Dans tous les cas préférez un serveur codé en C qu’en PHP et Nginx à Apache. Pour le coup moi j’ai quelques attirances vers Python + Nginx, mais chuuut ;)

Votre serveur peut ainsi aller chercher une information comme par exemple dans une base de donnée et renvoyer le tout aux clients intéressés. Sur le principe c’est beau et magique. Mais la réalité est plus sombre. Pour que vos internautes soient avertis en temps réel il faut que votre serveur sache quand envoyer les nouvelles données et il doit interroger en permanence la base de donnée. Le problème est donc à ce niveau. Car le serveur doit faire des requêtes disons toutes les secondes. Si il doit vérifier quelques entrées c’est bon, mais imaginons qu’il y est 100 000+ entrées à vérifier. Vous voyez le problème ?

C’est pourquoi il faudrait que les bases de données implémentent un système de callback. Lors d’une modification d’une entrée, il suffirait d’envoyer un ping au « serveur de temps réel » pour qu’il vienne vérifier l’information. Car les bases de données n’ont pas été faites pour être active mais passive. Elles donnent des informations, mais ne les envoient pas. Et c’est pour moi un vrai problème.

Voilà où j’en suis actuellement dans mes réflexions ! Si quelqu’un en sait plus, ou veut m’expliquer quelque chose, ou n’a rien compris, les commentaires sont ouverts ;)

22 déc 08

PHP Mini Admin : le petit frère du grand…

Posté dans Internet | Tags :, , , | Pas encore de commentaire »


Pour ceux qui connaissent PHPMyAdmin, PHPMiniAdmin et la même chose mais beaucoup plus simple et léger. Regardez les quelques screenshots ci-dessous pour avoir un léger aperçu.

 

Pour les autres c’est que vous ne devez sûrement pas avoir besoin de triturer votre/vos BDD (Bases de données). :D

phpminiadmin_1

phpminiadmin_2

phpminiadmin_3

1 pages




Agence Web Grenoble Django

Articles récents

Nuage de Tags

Articles les plus populaires


Catégories


Articles Aléatoires