Envoyé par
tchize_
Mouais, tu as vraiment des millions d'entrées dans tes tables que tu ne peux pas te permettre de partager avec une colonne supplémentaire "clientID" ?
Parce que créer un persistence unit, c'est créer les caches, la structure d'analyse des entités, le connection pool. Ca peux tenir la route d'en faire un par client si t'as juste une dizaine de clients.
Démarrer un entitymanager est lent -> Tu peux pas te permettre de le faire à la volée sur chaque connection.
Les garder occupe de la mémoire -> tu ne peux pas te permettre d'en avoir une centaine.
Une DB ça occupe de l'espace disque (minimum 50M avec Mysql, 100 clients = 5G de vide à conserver)
Tu as besoin de créer un pool sur chaque DB. 100 clients, connection pool de 10 -> 1000 connections actives à la DB...
Tu évalue la DB / client à quelle taille sur le long terme?
Tu compte gérer combien de clients?
Quelles ressource (mémoire / cpu / stockage) tu peux allouer par client?
Mon avis est que si tu commence à faire un persistence unit / client, autant faire un déploiement par client, ce sera plus propre.