Bonjour !
Développer un logiciel, c'est aussi faire des choix de conception.
Avec mon manque d'expérience, je me permet de vous demander votre avis avant de me lancer dans une mauvaise direction...
Voilà :
Mon application gère une base de données avec de nombreuses tables et un grand nombre d'enregistrement. (environ 100 000)
Sur une version précédente de mon application, (en langage Pascal, mono utilisateur sur un ordi), j'avais découpé ces enregistrements en fichiers distincts (un fichier par jour, soit environ 200 enregistrements par fichiers) pour accélérer les fonctions de recherche et éviter d'avoir des fichiers trops lourds à manipuler.
En Pascal, et sans utiliser une base de donnée SQL, créer un nouveau fichier chaque jour sur son disque dur ne pose pas de problème, c'est rustique, mais facile et efficace.
Avec JAVA et JPA, de nouveaux problèmes se posent :
1) Est-il possible de créer "à la volée" c'est à dire de manière dynamique par le logiciel une nouvelle table ? (pour segmenter les enregistrements, mon application devra pouvoir créer une nouvelle table chaque jour...
Comment faire ?
2) Si je crée une seule table pour tous les enregistrements, comment va se comporter le système lorsque je vais commencer, au bout de plusieurs mois, à approcher les 50 000 fiches-clients, puis les 100 000 ? (lenteur sur les opérations CRUD, etc...)
pour info, chaque fiche client fait un peu moins de 1Ko...
Je n'ai pas trop idée de la puissance actuelle des ordis pour ce genre d'opération, en encore moins sur un web serveur qui tourne avec Glassfish !
Merci de votre avis !!!
Jean-Michel
Partager