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

Persistance des données Java Discussion :

Gérer des millions de lignes


Sujet :

Persistance des données Java

  1. #1
    Invité
    Invité(e)
    Par défaut Gérer des millions de lignes
    Bonjour,

    J'ai une table qui va atteindre le million de lignes.
    On me demande aujourd'hui la possibilité de créer un nouveau lot de données.
    Les anciennes données seraient archivées mais encore modifiables.
    L'opération doit pouvoir être répétées à l'envie, en pratique tout les 6 mois.

    Question : comment sortir de cette impasse ?
    Quel modèle de données java, quelle représentation en base ?

    Cordialement
    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
    Citation Envoyé par coincoinfou Voir le message
    J'ai une table qui va atteindre le million de lignes.
    Rien d'exceptionnel en soit

    Citation Envoyé par coincoinfou Voir le message
    On me demande aujourd'hui la possibilité de créer un nouveau lot de données.
    Tu veux dire, comme des données complètement séparées, dans leur propre table séparée des anciennes?

    Citation Envoyé par coincoinfou Voir le message
    Les anciennes données seraient archivées mais encore modifiables.
    C'est pas vraiment de l'archivage ça

    Il suffit de créer une deuxième table avec la même structure, genre Tatable_archive


    Pour archiver:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    insert into Tatable_archive values select * from Tatable;
    delete * from Tatable
    Au niveau du mapping objet, il faudra dupliquer la classe: une qui pointera sur archive, l'autre sur la table de base.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Petite précision : il faut garder toutes les données, je ne peux pas faire écraser les données de la table d'archive

  4. #4
    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
    Et bien, je n'ai rien supprimé dans les archives avec le code

  5. #5
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Bonjour,
    Je suppose que tes données ont une date de création? si oui tu pourras rajouter une clause de filtre lors de l'archivage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    insert into Tatable_archive values select * from Tatable where date_creation<uneDatePivot;
    delete * from Tatable
    .
    Mais je ne comprends pas vraiment l'intérêt de cet archivage tout de suite,est ce pour des soucis de temps d'exécution lors d'une recherche? car il existe pour cela des index, je ne sais pas quel SGBD tu utilises.Je ne partage pour l'idée de duppliquer une structure de table pour résoudre un pb de volumétrie .Mais ça reste mon avis perso.
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  6. #6
    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
    J'ai vu ce genre de chose sur des applis de type comptable. Ca permet d'éjecter les données de l'années comptable précédente sans avoir de code très complexe pour ce qui gère l'année en cours. C'est un peux comme repartir d'une base de données neuve chaque années

    C'est plus facile comme ça de certifier que l'année comptable précédente ne peux plus être trafiquée que de devoir inspecter toutes les requetes SQL pour voir si elles ont un critère 'année en cours'

Discussions similaires

  1. Traiter des fichiers avec des millions de lignes
    Par nice-one dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 22/04/2013, 12h03
  2. Réponses: 10
    Dernier message: 09/03/2012, 11h04
  3. Charger des millions de lignes dans un GridView
    Par jarmoud dans le forum VB.NET
    Réponses: 14
    Dernier message: 30/05/2010, 19h46
  4. [SSIS]Doublons sur des millions de ligne
    Par MeriConsult dans le forum SSIS
    Réponses: 5
    Dernier message: 19/12/2008, 08h04
  5. Réponses: 1
    Dernier message: 16/09/2007, 14h14

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