IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

Quel SSD pour booster une base de données ?


Sujet :

PostgreSQL

  1. #1
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 391
    Points : 863
    Points
    863
    Par défaut Quel SSD pour booster une base de données ?
    bonjour,


    quelqu'un a-t-il un conseil pro pour un SSD 64Go destiné à booster une base de données (postgresql81) sur un serveur ?
    bien entendu, la sécurité prime sur le reste.
    est-ce vrai que dans tous les cas, un SSD apportera un gain de x10 par rapport à un disque dur ?

    Si quelqu'un a déjà fait l'expérience des gains en base de données avec un SSD, qu'il partage...

    bien à vous

  2. #2
    Expert éminent Avatar de kain_tn
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 564
    Points : 7 288
    Points
    7 288
    Par défaut
    Bonjour,

    Je ne sais pas quel gain réel tu peux avoir avec un SSD mais il y a quelques années, j'avais obtenu un gain assez important en séparant l'écriture des données de celle des journaux de transaction. En gros je les avais mises sur deux grappes de RAID différentes et c'était vraiment efficace (grappe de RAID 10 en 15rpm pour les journaux et RAID 5 en 10rpm pour les données).

    Pour expérimenter, j'avais commencé par créer une partition en RAM, et c'est en y écrivant les journaux de transaction que j'avais eu les meilleurs résultats.
    Copier c'est copier; voler c'est vendre un CD une vingtaine d'euros!


    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include <stdio.h>
     
    int main(int argc, char **argv) {
     
        printf("So long, and thanks for the fish, Dennis...\n");
        return 0;
    }

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 768
    Points : 52 719
    Points
    52 719
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Citation Envoyé par Michael REMY Voir le message
    bonjour,


    quelqu'un a-t-il un conseil pro pour un SSD 64Go destiné à booster une base de données (postgresql81) sur un serveur ?
    bien entendu, la sécurité prime sur le reste.
    est-ce vrai que dans tous les cas, un SSD apportera un gain de x10 par rapport à un disque dur ?

    Si quelqu'un a déjà fait l'expérience des gains en base de données avec un SSD, qu'il partage...

    bien à vous
    Oui, vous allez obtenir un gain, mais au détriment de la fiabilité de la base. En effet, les SSD sont actuellement limités à environ 700 000 cycles d'écriture ce qui peut arriver vite avec le journal des transactions mais aussi sur les données, à cause des opérations de maintenance des index.

    Vous pouvez aussi utiliser des cartes hybrides du genre fusionIO.

    Néanmoins et comme vous le conseille kain_tn, le mieux est de ventiler vos IO sur différents disques PHYSIQUE et non sur des SAN avec des LUN taillée dans la masse. Ceci sera beaucoup moins cher et beaucoup plus fiable.
    Par exemple mettre un RAID 10 (ou 0+1) avec 6 à 8 disques pour le journal et mettre un RAID 10 avec 4 <disque pour les data, fera divisé par 4 les temps de lecture et d'écriture... A condition que la carte RAID soit de bonne qualité (autorise les lectures asynchrones des disques en miroir).

    A lire : http://blog.developpez.com/sqlpro/p8...t-le-stocakge/

    Mais, vous aurez sans doute des gains beaucoup plus important (x100 souvent) en restructurant votre base et en l'indexant correctement, si elle est notablement mal modélisée (non respect des formes normales par exemple).

    A lire : http://blog.developpez.com/sqlpro/p1...ances-petites/

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 391
    Points : 863
    Points
    863
    Par défaut
    quelqu'un a-t-il déjà vu ou produit une perte de données sur un SSD ?

    j'entends parlé souvenant de cela mais jamais un détail précis.

    en gros une perte de données c'est quoi ? des données corrompues dans la base de données (chaines tronqués, indexes faux, incohérences..) ou bien c'est juste 5000oips au lieu de 6000iops ? Dans le second cas c'est pas grave du tout, dans le premier j'en conviens c'est catastrophique.

    pourquoi n'y-a-t-il pas de perte de données en RAM quand la base est cachée ou sur une carte pci-e fusionIO ??

    Le risque de cette potentielle perte de données est-il plus minimim voire nulle quand on a que 30 utilisateurs sur la base de moins de 1Go ?

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 768
    Points : 52 719
    Points
    52 719
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Michael REMY Voir le message
    quelqu'un a-t-il déjà vu ou produit une perte de données sur un SSD ?
    Oui, à deux reprises au moins, mais sur du SQL Server (environ 2000 transaction par minutes) SSD mort en moins d'un an

    j'entends parlé souvenant de cela mais jamais un détail précis.

    en gros une perte de données c'est quoi ? des données corrompues dans la base de données (chaines tronqués, indexes faux, incohérences..) ou bien c'est juste 5000oips au lieu de 6000iops ? Dans le second cas c'est pas grave du tout, dans le premier j'en conviens c'est catastrophique.
    Le SSD n'est pratiquement plus lisible.
    http://blog.2ndquadrant.com/en/2011/...-sherr-sh.html

    pourquoi n'y-a-t-il pas de perte de données en RAM quand la base est cachée ou sur une carte pci-e fusionIO ??
    Les ram des seveurs sont auto correctives. Fusion IO est une techno hybride

    Le risque de cette potentielle perte de données est-il plus minimim voire nulle quand on a que 30 utilisateurs sur la base de moins de 1Go ?
    Plus d'utilisateur = plus de transaction. Sur le Serveur mentionné en début d'article on avait en moyenne plus de 5 000 users.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/07/2010, 10h15
  2. [Conception] Creation d'une appli pour consulter une base de données
    Par nico.elgringo dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/07/2006, 11h58
  3. Quel langage pour attaquer une base MySQL ?
    Par shkyo dans le forum SQL Procédural
    Réponses: 8
    Dernier message: 30/06/2006, 13h48
  4. Réponses: 8
    Dernier message: 23/03/2005, 19h28
  5. aide pour exporter une base de donnée
    Par matt55 dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 06/04/2004, 14h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo