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

Format d'échange (XML, JSON...) Java Discussion :

Très grosses bases de données en XML


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Régisseur Son
    Inscrit en
    Novembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Régisseur Son
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Novembre 2014
    Messages : 10
    Points : 5
    Points
    5
    Par défaut Très grosses bases de données en XML
    Bonjours,

    Je projette de faire un programme susceptible de gérer une/des bases de données de plusieurs centaines de millier d’entrer, avec pour chaque entré une dizaine d’information.

    J’ai besoin d’en un premier temps de pouvoir les gérer en local (et sans installation de serveur) mes a terme je pense plus les gérer en SQL.

    De plus, il est possible que les entrer soit modifier, ajouter, ou enlever après création de la base de donnée.

    Enfin, le point le plus important est qu’il faut que l’on puisse faire des recherches très rapide dans la base de donner par mots clefs, en choisissant éventuellement certains critères.

    Et, pour finir, dernière contrainte, le programme doit être le plus léger possible (il sera exécuter sur des ordinateurs exécutant déjà des programmes lourd et beaucoup plus indispensable que celui-ci).


    Pour ça, je penser utiliser STAX et stocker les bases de donner dans des fichier XML.


    Mes questions sont donc les suivantes :
    - Est-t-il vraiment pertinent d’utiliser Java, ne vaut-il pas mieux coder ca en C/CPP ?
    - Y aurait-il un system que le XML pour faire ce que je veux ?
    - Enfin, pour l’édition, je pensais parcourir les fichier XML et les réécrire en simultané sur un autre fichier en faisant les modifications. Y-a-t-il moyen d’écrire a la fin d’un fichier sans l’ouvrir ?

    Merci.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    beaucoup de données, structurée, idéal pour une base de données, des contraintes de mémoire et de CPU et ta conclusion: utiliser un truc qui va faire exploser ta mémoire et dont les performance seront catastrophiques: du XML.

    Je dois manquer d'informations pour comprendre le lien de cause à effet


    Tu as toi même trouvé déjà la réponse: une base de données fera le travail d'indexation et de recherche. Tu peux très bien embarquer une base de données comme h2 ou derby dans ton application.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Régisseur Son
    Inscrit en
    Novembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Régisseur Son
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Novembre 2014
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Ok, je ne savais pas qu'il existait de tel systèmes (je n'ait pas une très grosse expérience), si j'ai bien comprit H2 ou Derby sont des bibliothèques qui peuvent être inclus dans le programme sans forcement passer par le réseau ?

    Il vaut donc effectivement mieux que j'abandonne l'idée de passer par du XML.

  4. #4
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    beaucoup de données, structurée, idéal pour une base de données, des contraintes de mémoire et de CPU et ta conclusion: utiliser un truc qui va faire exploser ta mémoire et dont les performance seront catastrophiques: du XML.


    Que dire de plus, pourquoi faire simple quand on peut faire compliqué

    Sur une base bien construite tu peux faire des requêtes sur des millions d'enregistrements, c'est pas ça qui va lui faire peur

    Et puis y'a une section sur ce forum dédié à la base de donnée. Pour avoir eu à faire avec eux quelques fois, si t'arrive pas à optimiser tes requêtes correctement, eux ils savent faire

    Cdt.

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par Childerique Voir le message
    si j'ai bien comprit H2 ou Derby sont des bibliothèques qui peuvent être inclus dans le programme sans forcement passer par le réseau ?
    C'est exact, la base de données avec H2 par exemple peut être:
    Dans un fichier local (a priori ce que tu cherche)
    Entièrement en mémoire (je ne te recommande pas dans ce cas ci)
    Sur un serveur H2 distant (ce que l'on fait quand la base doit être partagée entre plusieurs processus)

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Régisseur Son
    Inscrit en
    Novembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Régisseur Son
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Novembre 2014
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Ok, nickel, du coup, dernière question, sera-t-il possible de faire des recherches en temps réel sur la base dans mon cas tout en ne chargeant pas la base en mémoire ?

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Régisseur Son
    Inscrit en
    Novembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Régisseur Son
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Novembre 2014
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    C'est exact, la base de données avec H2 par exemple peut être:
    Dans un fichier local (a priori ce que tu cherche)
    Entièrement en mémoire (je ne te recommande pas dans ce cas ci)
    Sur un serveur H2 distant (ce que l'on fait quand la base doit être partagée entre plusieurs processus)
    Ah, encore une dernière chose, après je vais plus faire des recherches de mon coté, tu parle de mettre H2 sur un serveur distant pour le partager entre plusieurs processus, serait-t-il possible de le faire en local, avec un socket par exemple, en créant un thread dédier au démarrage pour la même raison ?

  8. #8
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par Childerique Voir le message
    Ok, nickel, du coup, dernière question, sera-t-il possible de faire des recherches en temps réel sur la base dans mon cas tout en ne chargeant pas la base en mémoire ?
    H2 sait gérer des bases de données de plusieurs G avec seulement quelques M consommés en mémoire. Donc non, pas besoin d'avoir tout en mémoire pour faire une recherche. Pour le "temps réel", je ne vois pas de quoi tu parle. C'est du SQL, tu fais une query, tu as la réponse valable à l'instant T de la query.

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Régisseur Son
    Inscrit en
    Novembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Régisseur Son
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Novembre 2014
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    H2 sait gérer des bases de données de plusieurs G avec seulement quelques M consommés en mémoire. Donc non, pas besoin d'avoir tout en mémoire pour faire une recherche. Pour le "temps réel", je ne vois pas de quoi tu parle. C'est du SQL, tu fais une query, tu as la réponse valable à l'instant T de la query.
    Ce que j'entendais par "temps réel" c'est que quand on tape la recherche, le résultat doit être immédiat (+/- 1-5 secondes maximum), vue ce que tu dit ca doit l'être ?

    En tout cas merci beaucoup, j‘utiliserait sans doute H2, qui, à priori me plait plus que Derby.

    Cdt.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 10
    Dernier message: 19/04/2013, 11h04
  2. Pb pour import d'une grosse grosse base de données
    Par xave dans le forum Décisions SGBD
    Réponses: 13
    Dernier message: 20/08/2009, 14h32
  3. Réponses: 5
    Dernier message: 07/11/2005, 11h11
  4. [MySQL] Backup d'une grosse base de données (60MB)
    Par MiJack dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 01/11/2005, 18h22
  5. [Crystal] Performance sur grosses base de données
    Par Nico118 dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 14/11/2003, 15h27

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