Comment réagir face à un plantage de la base de données ?


finstreet
WRInaute accro
WRInaute accro
 
Messages: 16999
Inscription: 10 Juil 2005

Comment réagir face à un plantage de la base de données ?

Message le Jeu Aoû 19, 2010 12:18

Bonjour à toutes et tous,

Petite question du jeudi. Supposons que vous ayez un plantage de votre base de données, sur un site dynamique. Deux options s'offrent à vous :

- bloquer tous les codes d'erreurs possibles et afficher un site où parfois y'aura de grand vide et où parfois le cache prendra le relais
- bloquer la totalité du site en affichant une page de maintenant par exemple

Le plantage de la BD peut être supérieur à 24h. L'idéal bien sur serait que la totalité du cache soit opérationnel, mais ce n'est pas gagné.

Des petites idées ? :)

Bye bye


JanoLapin
WRInaute accro
WRInaute accro
 
Messages: 4052
Inscription: 21 Sep 2008

Re: Comment réagir face à un plantage de la base de données ?

Message le Jeu Aoû 19, 2010 12:30

je suis loin d'être un spécialiste, mais bon:
est-ce que cela ne dépend aps du type de cache (selon qu'il soit en base de données ou ailleurs) .. ?


zeb
WRInaute accro
WRInaute accro
 
Messages: 4553
Inscription: 5 Déc 2004

Re: Comment réagir face à un plantage de la base de données ?

Message le Jeu Aoû 19, 2010 12:48

perso si c'est possible je remplacerai le contenu base par un message d'avertissement et j'allumerai un cierge pour que le cache fonctionne bien.

sinon autre option chez moi je devie tout sur une autre base (facile avec le cms utilisé) qui contiendrai une sauvegarde.


finstreet
WRInaute accro
WRInaute accro
 
Messages: 16999
Inscription: 10 Juil 2005

Re: Comment réagir face à un plantage de la base de données ?

Message le Jeu Aoû 19, 2010 13:22

le problème du cache c'est qu'il fonctionnera pour une grande partie des pages, mais seulement en théorie. C'est à dire que lors de la migration, les fichiers en cache devront aussi être transférés, et ca je garantis pas que ca se fasse sans problème.

Si je met un message d'avertissement par contre, j'afficherais pas le cache. C'est l'un ou l'autre :)


Marie-Aude
Modérateur
Modérateur
 
Messages: 11878
Inscription: 5 Juin 2006

Re: Comment réagir face à un plantage de la base de données ?

Message le Jeu Aoû 19, 2010 13:43

Une page de maintenance super détaillée, avec un mini script php (sur une autre base de données voir tout simplement en enregistrant les données sur un fichier texte) pour demander à être prévenu par mail de la remise en service.

dmathieu
Modérateur
Modérateur
 
Messages: 7244
Inscription: 9 Jan 2004

Re: Comment réagir face à un plantage de la base de données ?

Message le Jeu Aoû 19, 2010 13:47

Cela dépends fortement des données dans la base.
Sur mon blog, j'utilise PostgreSQL et Redis.

Le premier contient les données.
Le second est utilisé principalement pour des raisons statistiques.

Si PostgreSQL tombe alors, j'affiche une page "site en maintenance".
Si Redis tombe, j'ignore simplement les statistiques. C'est à usage interne, ce n'est pas perturbant pour l'utilisateur.


Après ce que tu peut faire, c'est, sur cette page de maintenance, afficher un lien "status", qui pointera vers une page affichant le status de ton application à l'heure actuelle.
Voir, pour des exemples :


N'oublie pas, bien sur, d'héberger cette application de status à un endroit différent de ton application ... Et de le tenir à jour.
Il existe une application Open Source pour Google AppEngine qui fait ça. Stashboard


finstreet
WRInaute accro
WRInaute accro
 
Messages: 16999
Inscription: 10 Juil 2005

Re: Comment réagir face à un plantage de la base de données ?

Message le Jeu Aoû 19, 2010 13:54

Merci beaucoup pour vos retours. Oui ca semble effectivement le plus simple de faire une jolie page de maintenance. Par contre si la panne dure un peu, peut être basculer les visiteurs sur une version cache (au moins pour une partie du contenu).

Merci en tout cas


Zecat
WRInaute accro
WRInaute accro
 
Messages: 11992
Inscription: 1 Mar 2005

Re: Comment réagir face à un plantage de la base de données ?

Message le Jeu Aoû 19, 2010 14:18

Moi j'ai résolu le probleme : pas de base de données et tout en fichier txt dans des dossiers et sous dossier :wink: Radical mais imparrable :wink:


aladdin
WRInaute passionné
WRInaute passionné
 
Messages: 1457
Inscription: 29 Avr 2005

Re: Comment réagir face à un plantage de la base de données ?

Message le Jeu Aoû 19, 2010 15:03

Zecat a écrit:Moi j'ai résolu le probleme : pas de base de données et tout en fichier txt dans des dossiers et sous dossier :wink: Radical mais imparrable :wink:


oui mais est utilisable que dans un certains nombre de cas ... son implémentation serait trop complexe avec des performances médiocres pour la plupart des applications et sites web


finstreet
WRInaute accro
WRInaute accro
 
Messages: 16999
Inscription: 10 Juil 2005

Re: Comment réagir face à un plantage de la base de données ?

Message le Jeu Aoû 19, 2010 15:06

Zecat a écrit:Moi j'ai résolu le probleme : pas de base de données et tout en fichier txt dans des dossiers et sous dossier :wink: Radical mais imparrable :wink:


J'aurais un peu de mal avec 100.000 fichiers texte qui devraient communiquer entre eux :)


Zecat
WRInaute accro
WRInaute accro
 
Messages: 11992
Inscription: 1 Mar 2005

Re: Comment réagir face à un plantage de la base de données ?

Message le Jeu Aoû 19, 2010 15:28

aladdin a écrit:
Zecat a écrit:Moi j'ai résolu le probleme : pas de base de données et tout en fichier txt dans des dossiers et sous dossier :wink: Radical mais imparrable :wink:


oui mais est utilisable que dans un certains nombre de cas ... son implémentation serait trop complexe avec des performances médiocres pour la plupart des applications et sites web

Ca c'est une idée reçue ... j'ai déployé ainsi un site avec l'équivalent de plusieurs millions d'enregistrements :

1 - Aucun probleme de perf , bien au contraire (un de mes potes, grand adepte de la Bdd, est lui même surpris par les perf ... et il reconnait qu'il est pas certain d'arriver à la meme chose en terme de vitesse avec une bdd derrière. Ca l'interpelle tellement qu'il m'a dit "faudra que je fasse des test pour en avoir le coeur net ..). Bon certes faut pas foncer tête baissée comme un bourrin et réfléchir un peu à ce que l'on fait et comment on le fait.

2 - Ce n'est pas plus complexe de gérer des fichiers et des lignes que de gérer des tables et des champs. C'est juste le "support" de l'info qui change. C'est même bien souvent plus souple en maintenance ...

Les 3 seuls inconvénients que j'ai pu relever de façon notable par rapport au travail en Bdd (que j'ai pratiqué durant 25 ans, donc je connais un peu ...) sont :

1 - Moins de souplesse pour faire des recherches complexes dans les datas
2 - Un conso en bande passante plus élevée puisque souvent on accède à un bloc d'info plus grand duquel on extrait l'info recherchée.
3 - La nécéssité quelque fois d'accepter certaines redondances sur des données peu mouvantes en raison de l'absence du support relationnel offert par le sbases de données.

Mais à part cela, c'est une démarche certes hors normes mais qui peut encaisser bien plus de charge que tu sembles le penser (ok je te concède que c'est vu avec un oeil d'informaticien traqueur de bits ...).
Dernière édition par Zecat le Jeu Aoû 19, 2010 15:42, édité 2 fois.


Zecat
WRInaute accro
WRInaute accro
 
Messages: 11992
Inscription: 1 Mar 2005

Re: Comment réagir face à un plantage de la base de données ?

Message le Jeu Aoû 19, 2010 15:29

finstreet a écrit:
Zecat a écrit:Moi j'ai résolu le probleme : pas de base de données et tout en fichier txt dans des dossiers et sous dossier :wink: Radical mais imparrable :wink:


J'aurais un peu de mal avec 100.000 fichiers texte qui devraient communiquer entre eux :)

Pourquoi 100.000 fichiers textes ? ca se regroupe les infos :wink: (c'ets même le principe même di modèles entité-association présent dans nombre de bases de données non ?)


finstreet
WRInaute accro
WRInaute accro
 
Messages: 16999
Inscription: 10 Juil 2005

Re: Comment réagir face à un plantage de la base de données ?

Message le Jeu Aoû 19, 2010 15:55

Zecat a écrit:J'aurais un peu de mal avec 100.000 fichiers texte qui devraient communiquer entre eux :)

Pourquoi 100.000 fichiers textes ? ca se regroupe les infos :wink: (c'ets même le principe même di modèles entité-association présent dans nombre de bases de données non ?)[/quote]

Oui enfin si je dois ouvrir un fichier txt de 10 Go, ca va ralentir :)

Bon sinon je finalise ma page maintenance :
-http://www.edubourse.com/maintenance.php

Elle est belle hein ? lol

dmathieu
Modérateur
Modérateur
 
Messages: 7244
Inscription: 9 Jan 2004

Re: Comment réagir face à un plantage de la base de données ?

Message le Jeu Aoû 19, 2010 16:00

@Zecat : tu devrais jeter un coup d'oeil à des bases de données orientées documents. MongoDB ou CouchDB par exemple.
C'est pas nouveau d'un point de vue informatique, mais assez récent en architecture client/serveur.

Et le mode de pensée correspond bien, je pense, au tiens.


Zecat
WRInaute accro
WRInaute accro
 
Messages: 11992
Inscription: 1 Mar 2005

Re: Comment réagir face à un plantage de la base de données ?

Message le Jeu Aoû 19, 2010 16:13

finstreet a écrit:Oui enfin si je dois ouvrir un fichier txt de 10 Go, ca va ralentir :)

Ca c'est ce que j'évoquais plus haut "foncer comme un bourrin" :mrgreen:

Par contre si tu as des doc bien rangés et structurés disons de 10k à 2Mo par doc et que tu t'es arrangé (pseudo index) pour savoir que telle info que tu recherches se trouve dans le doc XXXX à l'offset YYYY sur une longueur de ZZZZ, ca devient de suite plus rapide :wink: Dans d'autres cas sur les petits doc, un load complet et un simple strpos le font aussi ...

Comment réagir face à un plantage de la base de données ?

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité