Auteur | Message |
---|---|
cerise
| ![]() Inscrit le : 31/10/2008 |
# Le 06/01/2013 à 10:08 Bonjour |
krucial
| Jean Christophe ![]() Inscrit le : 09/03/2005 |
# Le 06/01/2013 à 10:28 J'y connais pas grand chose, mais je pense qu'au niveau perf, mieux vaut 100 petites base qu'une très grosse. JC - Mes sites |
Bool
| Olivier ![]() Inscrit le : 09/05/2005 |
# Le 06/01/2013 à 10:37 Hello, |
cerise
| Gaël ![]() Inscrit le : 31/10/2008 |
# Le 06/01/2013 à 11:00 donc en clair Bool, tu préconises la solution 2 soit une base par client ? |
Bool
| Olivier ![]() Inscrit le : 09/05/2005 |
# Le 06/01/2013 à 11:13 Yep, je serais plutôt pour la solution 2, qui «scale» beaucoup mieux dans le temps. daevel@node02:~$ mysql -Be 'show databases' | wc -l Le soucis par contre avec une répartition fixe par «numéro» comme ça, c'est que tu pars du principe que tous les clients auraient le même volume de données & accès. Est-ce vraiment le cas ? Mon client en question était parti là dessus, et du coup on se retrouve avec des machines stockant 20Go de données, et d'autres à plus de 200Go. Coté ressources, «suffit» d'ajuster la puissance de la VM (merci la virtualisation), mais tu te retrouves quand même avec une conf MySQL spécifique à chaque machine, c'est plus chiant à gérer/maintenir. |
cerise
| Gaël ![]() Inscrit le : 31/10/2008 |
# Le 06/01/2013 à 11:23 c'est pas faux tu as raison, mais ça me paraît difficile d'anticiper une telle inconnue. |
Bool
| Olivier ![]() Inscrit le : 09/05/2005 |
# Le 06/01/2013 à 11:28 Oui dès lors que la répartition est automatique, tu auras le problème... Une solution serait de passer par une table de correspondance, mais la gestion n'est pas forcément aisée et ça fait un hook supplémentaire. |
ddpetit
| Damien ![]() Inscrit le : 03/05/2006 |
# Le 06/01/2013 à 11:29 Pourquoi ne pas partir sur du NoSQL qui permettrait de traiter de gros volumes de données. Je n'y connais pas grand chose, j'ai étudié la question de loin car je ne suis pas dans le cas là pour le moment. Y'en a qui connaissent ? Loccasion.com - Vente de voitures d'occasion |
Bool
| Olivier ![]() Inscrit le : 09/05/2005 |
# Le 06/01/2013 à 11:51 Le «NoSQL» c'est magnifique quand tu fais du clé valeur... mais c'est vite limité. Donc ça dépend de ton usage, mais si tu as de gros besoin de jointures et group by, tu vas vite être coincé. |
PyRoFlo
| Florent ![]() Inscrit le : 09/05/2005 |
# Le 06/01/2013 à 17:12 Clairement, je partirai avec la solution 1, en jouant avec le partitionnement |
tonguide
| Jeremy Inscrit le : 09/05/2005 |
# Le 06/01/2013 à 17:28 Sinon grouper les clients sur la même table avec ID du client à chaque ligne ? |
caaptusss
| Jérémy ![]() Inscrit le : 25/09/2007 |
# Le 06/01/2013 à 17:32 Coté technologie, pensez aussi à memcache, déployé notamment dans le cas ou vous avez plusieurs centaines de lectures sur vos bases chaque secondes. |
Bool
| Olivier ![]() Inscrit le : 09/05/2005 |
# Le 06/01/2013 à 18:10 C'est vrai que si on parle d'un petit volume, comme l'indique Pyroflo, ça vaut pas le coup de se prendre la tête. Avoir une idée de la volumétrie aiderait. Déjà, à moins de 50Go de données, je ne vois aucune raison de scinder. |
PyRoFlo
| Florent ![]() Inscrit le : 09/05/2005 |
# Le 06/01/2013 à 19:03
Bool a dit :Par contre pour la sécurité, MySQL ne gère pas les droits par ligne. Donc un client, même avec un compte spécifique, aura accès à toutes les lignes d'une table sinon rien. Généralement c'est loin d'être super efficace coté sécurité. Exact, j'ai un peu mélangé avec Oracle. A voir selon la criticité du projet si c'est réellement nécessaire. |
cerise
| Gaël ![]() Inscrit le : 31/10/2008 |
# Le 07/01/2013 à 09:18 pour l'exemple, prenez une plateforme de blog ou chacun aurait son blog ou chacun aurait son blog avec sa base |
Bool
| Olivier ![]() Inscrit le : 09/05/2005 |
# Le 07/01/2013 à 09:31 Ok, donc on est plutôt sur du très faible volume ? Tout mettre dans une base est du coup moins propre à l'usage non ? Bof, pour le coup je vois pas trop. Comment vous réglez en outre la question des tables avec autoincremente et des champs uniques ? Quelle question ? Les autoincrement restent tels quels, et pour les clés d'unicité tu y ajoutes l'idClient si besoin. Le partitionnement peut quelque chose à ce niveau ? Du tout, au contraire le partitionnement est allergique avec les clés d'unicités. |
nayluge
| Cyril Inscrit le : 09/01/2008 |
# Le 10/01/2013 à 00:23 Je vote aussi Solution 2 pour : |
Bool
| Olivier ![]() Inscrit le : 09/05/2005 |
# Le 10/01/2013 à 01:16 Y a VM et VM. Quand il commence à y avoir plusieurs dizaines de Go de RAM et de coeurs, avec un stockage qui tient la root, ça permet d'avoir un serveur MySQL redondé, sans avoir recours à la réplication bancale, ou nécessiter du MySQL Cluster. |
nayluge
| Cyril Inscrit le : 09/01/2008 |
# Le 10/01/2013 à 01:51 C'est pas les coeurs ou la ram que je blame, c'est les perfs disques ... |
Bool
| Olivier ![]() Inscrit le : 09/05/2005 |
# Le 10/01/2013 à 09:07 bah pour les perfs disque, ça dépend de l'infra de stockage. Si le stockage utilise des technos «haut de gamme» (contrôleur avec writeback mémoire, système avec writeback ssd, gros cache mémoire, disques SAS, etc), ça peut très bien se passer. |
Vous ne pouvez pas participer au forum, car votre inscription n'a pas été validée. Pour vous faire valider en tant que Membre, cliquez ici.
© MHN - Tous droits réservés | CNIL N°844440 | 23/02/2025 21:20:15 | Généré en 10.86ms | Contacts | Mentions légales |