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 :

Choix de Base de Données


Sujet :

Décisions SGBD

  1. #1
    Membre confirmé

    Inscrit en
    Décembre 2009
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 164
    Points : 490
    Points
    490
    Par défaut Choix de Base de Données
    Bonjour à tous,

    J'aimerais avoir votre retour d’expérience/suggestions pour le choix d'une base de donnée.

    Voici ma configuration:
    J'ai besoin d'écrire les résultats de plusieurs simulations dans une bdd.

    Le flot est le suivant:
    - Un client C1 lance un Simulateur, qui peut tourner sur une autre machine
    - Le Simulateur écrit ses résultats dans une bdd dans un path bien spécifique.
    - Le Simulateur lance plein de fils (éventuellement sur d'autres machines) Simulateur_i qui vont écrire dans cette bdd (pas de synchronisation avec le maitre, chacun écrit dans sont côté). La durée de la simulation est très variable (qques ms => qques dizaine de minutes)
    - Pendant ce temps là, le client C1 va monitorer cette bdd pour analyser le contenu au fur et à mesure. D'autre clients lancés par C1 peuvent le faire aussi.

    La bdd contient des données hiérarchiques, mais j'arriverais à m'en sortir avec une modélisation relationnelle.
    Les données stockées sont de taille petite à moyenne (une dizaine de Go au max)
    En gros, il y aura au max une dizaine de process qui lisent et écrivent dans la bdd.


    J'ai pensé à sqlite:
    + bdd dans un fichier
    - lock des fichiers ne marche pas bien sur NFS, ce qui peut poser problème.

    Approche serveur:
    + Accès concurrent
    - latence du lancement : il n'y a rien d'installé, il faudra lancer le serveur soit même.
    - On n'a pas la main sur l'endroit ou est stockée la bdd à moins de le spécifier explicitement au démarrage du serveur. Ce qui impliquera qu'il y aura une instance du serveur par base de données. En plus, ça crée plein de fichier à la création d'une bdd
    (j'ai testé avec mango et postgres)

    C'est à peu près tout.

    Vos suggestions sont les bienvenues.

    Merci d'avance,
    MG

  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 769
    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 769
    Points : 52 720
    Points
    52 720
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par kmedghaith Voir le message
    Bonjour à tous,

    J'aimerais avoir votre retour d’expérience/suggestions pour le choix d'une base de donnée.

    Voici ma configuration:
    J'ai besoin d'écrire les résultats de plusieurs simulations dans une bdd.

    Le flot est le suivant:
    - Un client C1 lance un Simulateur, qui peut tourner sur une autre machine
    - Le Simulateur écrit ses résultats dans une bdd dans un path bien spécifique.
    - Le Simulateur lance plein de fils (éventuellement sur d'autres machines) Simulateur_i qui vont écrire dans cette bdd (pas de synchronisation avec le maitre, chacun écrit dans sont côté). La durée de la simulation est très variable (qques ms => qques dizaine de minutes)
    - Pendant ce temps là, le client C1 va monitorer cette bdd pour analyser le contenu au fur et à mesure. D'autre clients lancés par C1 peuvent le faire aussi.

    La bdd contient des données hiérarchiques, mais j'arriverais à m'en sortir avec une modélisation relationnelle.
    Les données stockées sont de taille petite à moyenne (une dizaine de Go au max)
    En gros, il y aura au max une dizaine de process qui lisent et écrivent dans la bdd.


    J'ai pensé à sqlite:
    + bdd dans un fichier
    - lock des fichiers ne marche pas bien sur NFS, ce qui peut poser problème.
    SQLite n'est pas du tout adapté
    En effet SQL Lite est destiné à de l'embarqué dans lequel il n'existe qu'un seul utilisateur simultané !

    Approche serveur:
    + Accès concurrent
    - latence du lancement : il n'y a rien d'installé, il faudra lancer le serveur soit même.
    Il doit tourner en permanence !
    - On n'a pas la main sur l'endroit ou est stockée la bdd à moins de le spécifier explicitement au démarrage du serveur.
    Faux... vous ne maîtrisez visiblement pas le sujet !
    Un serveur n'est pas une base et un serveur SGBDR peut héberger plusieurs bases (sauf oracle, exception faite du "multi-tenant")

    Ce qui impliquera qu'il y aura une instance du serveur par base de données. En plus, ça crée plein de fichier à la création d'une bdd
    Non, non et non !!!
    (j'ai testé avec mango et postgres)

    C'est à peu près tout.

    Vos suggestions sont les bienvenues.

    Merci d'avance,
    MG

    PostGreSQL vous fournira un bon niveau de service pour ce faire.
    SQL Server sera plus fiable et plus facile d'un point de vue administration

    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
    Membre confirmé

    Inscrit en
    Décembre 2009
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 164
    Points : 490
    Points
    490
    Par défaut
    Bonjour,

    Merci pour les réponses.

    En effet SQL Lite est destiné à de l'embarqué dans lequel il n'existe qu'un seul utilisateur simultané !
    Pas si sur. Certes, sqlite est une librarie C, c'est un fichier, ça peut tenir en mémoire. Ceci dit, sqlite gère les accès concurrents/partagés avec des advisory locks via des appels systèmes. Ceci correspond à mes besoins, sauf sous NFS ou certaines impéméntation des locks ne marche pas bien.

    Il doit tourner en permanence !
    Si ça pouvait être aussi simple, le problème serait déja réglé.
    Je ne peux pas avoir de process qui tournent en permanance. Le process sont lancés sur une grille de calcul et se terminent à un certain moment. Rien ne doit rester quand les calculs sont finis.

    Faux... vous ne maîtrisez visiblement pas le sujet !
    Un serveur n'est pas une base et un serveur SGBDR peut héberger plusieurs bases (sauf oracle, exception faite du "multi-tenant")
    Je suis débutant en SGBD, c'est pourquoi je pose des questions.
    Oui, une bdd != un serveur. Mais dans mon cas avec des serveurs constamment lancés puis arrêtés, ça revient à ça.

    MG

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 769
    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 769
    Points : 52 720
    Points
    52 720
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par kmedghaith Voir le message
    Bonjour,

    Merci pour les réponses.

    Pas si sur. Certes, sqlite est une librarie C, c'est un fichier, ça peut tenir en mémoire. Ceci dit, sqlite gère les accès concurrents/partagés avec des advisory locks via des appels systèmes. Ceci correspond à mes besoins, sauf sous NFS ou certaines impéméntation des locks ne marche pas bien.
    NON, non et renon !!!! Même SQL lite indique que c'est une hérésie de tenter d'avoir plusieurs utilisateurs. La plupart des gens qui font cela ont eu d'énormes problème et ont du jeter ce qu'ils ont fait. Et recommancer avec un autre SGBDR. SQL Lite est dédié à l'embarqué un point c'est tout. Pas d'accès concurrent VIABLE !
    Extraits de la doc :
    "
    Client/Server Applications

    If there are many client programs sending SQL to the same database over a network, then use a client/server database engine instead of SQLite.
    ...
    A good rule of thumb is to avoid using SQLite in situations where the same database will be accessed directly (without an intervening application server) and simultaneously from many computers over a network

    "
    https://www.sqlite.org/whentouse.html



    Si ça pouvait être aussi simple, le problème serait déja réglé.
    Je ne peux pas avoir de process qui tournent en permanance. Le process sont lancés sur une grille de calcul et se terminent à un certain moment. Rien ne doit rester quand les calculs sont finis.
    Là n'est pas le problème. Un SGBDR quel qu'il soit tourne en permanence à l'écoute des demandes de requêtes. Il met en cache les données pour accélérer les traitements et calculs. L'arrêter est un non sens absolu !

    Je suis débutant en SGBD, c'est pourquoi je pose des questions.
    Oui, une bdd != un serveur. Mais dans mon cas avec des serveurs constamment lancés puis arrêtés, ça revient à ça.

    MG
    Le mieux est de décrire votre besoin fonctionnel et non pas en terme vagues. Parce que je pense que vous êtes à côté de la plaque et il est difficile de vous aider sans plus d'éléments.
    Exemple de vos dires :
    - Le Simulateur écrit ses résultats dans une bdd dans un path bien spécifique.
    La notion de "path" n'existe pas dans une base de données. On écrit dans des tables... Un point c'est tout !

    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. Choix de Base de données géographique
    Par sinfos dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 17/09/2008, 15h03
  2. Choix de base de données
    Par harris_macken dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 21/02/2008, 19h29
  3. Comment arbitrer le choix Une base de donnée ou deux ?
    Par medstat2 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 28/03/2006, 16h42
  4. [Jeu MultiJoueurs] Quel choix de base de données ?
    Par Torpedox dans le forum Décisions SGBD
    Réponses: 9
    Dernier message: 20/03/2006, 10h23
  5. combobox et me permette le choix des bases de données
    Par crash override dans le forum Composants VCL
    Réponses: 6
    Dernier message: 21/10/2005, 16h28

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