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

Décisions SGBD Discussion :

[Avis] PostgreSQL pour BDD très importante


Sujet :

Décisions SGBD

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Octobre 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 28
    Points : 25
    Points
    25
    Par défaut [Avis] PostgreSQL pour BDD très importante
    Bonjour,

    J'aimerais avoir votre avis sur l'utilisation de PostgreSQL pour une base de donnée volumineuse.

    La base :
    Elle traite des mots dans dans nombreux document, il y aura donc environs un milliard d'entré à terme.
    Assez peu d'utilisateur ( centaine, voir millier)
    Assez peu de table, je pense qu'une table me servira à la jointure entre les autres pour alléger le traitement(est ce pertinent?)

    Questions:
    Le comparatif décris PostgreSQL comme efficace pour des bases de taille moyenne, est ce qu'à l'heure d'aujourd'hui il est viable pour les bases plus importante.
    Dans la négative quelle serait la meilleurs solution(gratuite)

    D'avance merci

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 759
    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 759
    Points : 52 540
    Points
    52 540
    Billets dans le blog
    5
    Par défaut
    un milliard d'entrée ne veut rien dire. Si vous faites de l'indexation textuelle vous aurez au plus 250 000 mots d'en moyenne 8 caractères soit une table de 500 Mo ce qui est ridicule...

    Pour votre croisement doc / mot, en comptant 20 000 mots par doc et en comptant 100 000 document on est en effet à 2 milliards de références, soit 2 colonnes d'entiers dans la table de jointure, soit 25 go... C'est gros mais pas énorme....
    Pour résoudre les temps d'accès un partitionnement de la table serait le bienvenu.. Sauf que la partitionnement dans PG est imbitable... A lire : http://blog.developpez.com/sqlpro/p1...paraison_postg

    Ne rêvez pas, gratuit et performant... y'a pas.

    Il existe cependant des éditions plus ou moins couteuses en fonction de vos besoins. par exemple SQL Server Web edition pourrait parfaitement convenir à votre situation...

    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/ * * * * *

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Octobre 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 28
    Points : 25
    Points
    25
    Par défaut
    Merci de votre avis,
    Je pensais mettre en place un index pour diminuer le temps d'accès est ce une bonne solution?

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 780
    Points
    30 780
    Par défaut
    C'est une question qui ne se pose pas !
    Il n'y a pas d'accès performant à une table sans index.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Octobre 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 28
    Points : 25
    Points
    25
    Par défaut
    Citation Envoyé par al1_24 Voir le message
    C'est une question qui ne se pose pas !
    Il n'y a pas d'accès performant à une table sans index.
    Je me suis mal exprimé, ma question serais plus de savoir si la mise en place d'un index sur les champs recherché SUFFIT à accélérer la recherche.

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Bonjour,

    Le SGBD prend plusieurs paramètre en compte afin de créer un plan d’exécution de votre requête, et selon le plan les indexs mis en place seront utilisés ou non.

    Quoiqu'il en soit pour votre projet, vous pourrez vous tourner vers les recherche dites "full text" :

    http://www.postgresql.org/docs/9.2/s...extsearch.html


    Sinon :
    Assez peu de table, je pense qu'une table me servira à la jointure entre les autres pour alléger le traitement(est ce pertinent?)
    Ne pensez pas mais modélisez correctement.
    Et testez avec de la charge si vous voullez commencer à sortir des chemin battu de la normalisation.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Octobre 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 28
    Points : 25
    Points
    25
    Par défaut
    Citation Envoyé par punkoff Voir le message
    Ne pensez pas mais modélisez correctement.
    Et testez avec de la charge si vous voullez commencer à sortir des chemin battu de la normalisation.
    Je suis entrain de modéliser ma table et je commencerais donc à la tester sur différent SGBD juste après.
    Ma grosse charge sera une table de plusieurs milliards de ligne *35 colonnes avec beaucoup de valeur null.

    Je ferais un benchmark de différentes solutions et reviendrais fournir les résultat à titre d'exemple si vous le souhaitez.

    EDIT :
    Citation Envoyé par punkoff Voir le message
    Quoiqu'il en soit pour votre projet, vous pourrez vous tourner vers les recherche dites "full text" :

    http://www.postgresql.org/docs/9.2/s...extsearch.html
    Merci mais justement mes enregistrements sont les mots traités sémantiquement, je garde le liens du document mais uniquement à des fins historique

  8. #8
    Membre expert

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2012
    Messages
    612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 612
    Points : 3 066
    Points
    3 066
    Par défaut
    Citation Envoyé par cyril_M Voir le message
    Je suis entrain de modéliser ma table et je commencerais donc à la tester sur différent SGBD juste après.
    Ma grosse charge sera une table de plusieurs milliards de ligne *35 colonnes avec beaucoup de valeur null.
    Êtes-vous sûr de votre modélisation ?
    Pourquoi "beaucoup de valeur null" ? Cela pourrait indiquer un problème de modélisation.

  9. #9
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 759
    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 759
    Points : 52 540
    Points
    52 540
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par cyril_M Voir le message
    ...
    Ma grosse charge sera une table de plusieurs milliards de ligne *35 colonnes avec beaucoup de valeur null...
    C'est exactement ce qu'il ne faut pas faire !

    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/ * * * * *

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Octobre 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 28
    Points : 25
    Points
    25
    Par défaut
    Cette table correspond à l'analyse d'un mot, imaginé le nombre de mot dans la littérature anglaise ou allemande (oui toute la littérature).

    Chaque mot à énormément de paramètre (les terminaisons,préfixe,suffixe...)
    Je pourrais éclater cette table en plusieurs tables relié en (1,1) mais est ce que le gains obtenus avec la limitation de colonne de la table principale ne serait pas moindre que le coût demandé par la jointure à chaques fois qu'il y a un suffixe par exemple

  11. #11
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    pourquoi en 1,1 ?

    un préfix / suffix sera commun à plusieurs mots

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Octobre 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 28
    Points : 25
    Points
    25
    Par défaut
    Non,
    L'outil permet de corriger les analyses, ainsi un linguiste pourra dire "non le préfixe ici n'est pas "dé" mais "dés" (pour le verbe habiller mais c'est vraiment un exemple au hasard)
    Ce qui est stocké est l'extraction automatique du préfixe par exemple, on est au niveau de l'analyse pas du mot découpé parfaitement.
    Une solution à été trouvé pour réduire grandement les champs :
    Au lieu d'avoir les colonnes "genre" et "nombre" et {toute les colonnes dont la valeur provient d'une liste fini} il y aura un colonne "générique" dans laquelle sera encodé l'indice de la valeur dans une table de correspondance donc j'aurais un INT au lieu de plusieurs VARCHAR.

    Pour revenir sur le sujet, est ce que vous auriez des retours d'expérience sur d'autre solution gratuites?

    Encore merci

  13. #13
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 759
    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 759
    Points : 52 540
    Points
    52 540
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par cyril_M Voir le message
    Non,
    L'outil permet de corriger les analyses, ainsi un linguiste pourra dire "non le préfixe ici n'est pas "dé" mais "dés" (pour le verbe habiller mais c'est vraiment un exemple au hasard)
    Ca ne chan ge pas le problème. En cas d'erreur il suffira de déréférence la valeur fautive pour en prendre une autre ou la créer si elle n'existe pas.
    N'oubliez jamais qu'une base de données c'est 0 (ZÉRO) redondance si vous voulez de la performance...

    Ce qui est stocké est l'extraction automatique du préfixe par exemple, on est au niveau de l'analyse pas du mot découpé parfaitement.
    Une solution à été trouvé pour réduire grandement les champs :
    Au lieu d'avoir les colonnes "genre" et "nombre" et {toute les colonnes dont la valeur provient d'une liste fini} il y aura un colonne "générique" dans laquelle sera encodé l'indice de la valeur dans une table de correspondance donc j'aurais un INT au lieu de plusieurs VARCHAR.
    Vous voyez que vous commencez à y arriver.

    Pour revenir sur le sujet, est ce que vous auriez des retours d'expérience sur d'autre solution gratuites?

    Encore merci
    Vous pouvez vous inspirer de LEXIQUE du CNRS pour les mots français (mais la base est incomplète).

    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. [Optimisation]Comment proceder pour une BDD très importante?
    Par XTopheBde dans le forum Décisions SGBD
    Réponses: 8
    Dernier message: 04/01/2006, 13h10
  2. composant pour BDD pour MySQL
    Par aragom dans le forum Bases de données
    Réponses: 4
    Dernier message: 26/03/2005, 14h18
  3. interface pour bdd
    Par toto14 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 08/10/2004, 11h12
  4. [MEA] bonne modelisation pour bdd carte pour les jeune
    Par madmortal dans le forum Schéma
    Réponses: 27
    Dernier message: 17/08/2004, 11h57
  5. Quelle version de Postgresql pour mandrake 9.0 ?
    Par milka dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 09/03/2004, 10h45

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