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

Langage C++ Discussion :

[Question Théorique] SGDB ou stockage en fichier ?


Sujet :

Langage C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 42
    Par défaut [Question Théorique] SGDB ou stockage en fichier ?
    Bonjour,

    Voila j ai une question toute simple: stockage des données dans un SGDB ou avec des fichiers. J explique:

    Je suis avec quelques amis en train de regarder pour porter un serveur initialement codé en java en C++ pour optimisation ( trop de ressources mangé par Java en particulier de RAM si trop d'utilisateurs connectés).
    Ce serveur est pour un jeu ( minecraft pour ceux qui connaissent).
    Mais la carte est stocké sur des fichiers ( plusieurs milliers suivant la taille de la carte). Ces fichiers sont compressés en gzip et les données sont en binaire. ( si besoin je peux poster la façon dont sont stockés les données).

    Ce qui produit un certain temps de réponse quand il faut charger ses fichiers en mémoire.
    Or avec les capacités des SGDB je me demander si il n était pas potentiellement intéressant au niveau de la performance de stocké ces données dans une base de donnée et de les extraire quand cela est nécessaire.

    C'est un projet ambitieux surement irréalisable ( faut de temps ) mais la réponse m intéresse hautement.
    Pour ce genre de cas , le plus performant serait le système de fichiers ou le SGDB ( isolé de la machine qui fait tourner le serveur + liaison réseau béton ofc ).


    Cordialement Mathieu

    Annexe: Lien vers l'architecture des données stockés dans les fichiers: http://www.minecraftwiki.net/wiki/Beta_Level_Format

  2. #2
    Membre chevronné
    Inscrit en
    Novembre 2006
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 362
    Par défaut
    Bonjour,

    [HS]C'est marrant, je crois que ce jeu est actuellement vendu dans le commerce en version béta et qu'il fait un carton [/HS]

    Mon avis sur la question : une BDD évidement.

    Je ne voie pas dans quel monde un fichier pourrait être plus rapide qu'une BDD pour stocker des données qui ne rentrent pas toutes en mémoire.

    Et même si tout entre en mémoire, le choix n'est pas trivial. Le métier d'une BDD c'est de t'aider à trouver rapidement une info dans un gros paquet d'info. Heureusement qu'elles y arrivent, sinon il y a longtemps qu'on ne s'en servirait plus.

    Par contre, c'est plus de travail.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 42
    Par défaut
    [HS] C est exact, Minecraft est actuellement en beta et fait un carton ( 1millions d exemplaires vendu pour le moment , enfin au dernier compte annoncé ) [/HS]

    Ok, c est bien ce que je pensais. Merci Beaucoup.

    Cordialement Mathieu

Discussions similaires

  1. question théorique sur le stockage des données
    Par jp_rennes dans le forum Administration
    Réponses: 1
    Dernier message: 18/09/2006, 18h28
  2. Réponses: 4
    Dernier message: 22/07/2005, 17h27
  3. questions théoriques
    Par roger12 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 27/01/2005, 13h05
  4. Stockage de fichiers
    Par lil_jam63 dans le forum Langage
    Réponses: 7
    Dernier message: 12/10/2004, 16h40
  5. Question théorique
    Par bart64 dans le forum Développement
    Réponses: 2
    Dernier message: 14/05/2003, 19h28

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