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

MySQL Discussion :

Capacités base de données


Sujet :

MySQL

  1. #1
    Membre régulier
    Inscrit en
    Avril 2010
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 257
    Points : 87
    Points
    87
    Par défaut Capacités base de données
    Bonjour, je suis ici ce matin à la recherche d'avis d'expert.
    j'ai une application Multi-clients en web et je ne sais vraiment pas comment la déployer.
    - mon objectif était que chaque client ait son environnement et sa base bien à lui, ou une application qui peut se connecter à plusieurs base (une base par client).
    - cependant pour éviter d'avoir à la fin de nombreuses applications et base je veux maintenant créer une base qui contiendra les données de tous les clients et chaque client n'aura accès qu'à ses données. cependant vu qu'il y aura des milliers de données enregistrées par jour par client imaginez dans 2 ou 3 ans quand le nombre de clients augmentera, vu qu'il est illimité ce que cette base risque d'être.

    quelle serait selon vous la meilleur manière de déployer ce genre de solutions.

    Merci de bien vouloir me guider.

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 133
    Points : 38 555
    Points
    38 555
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Avec d'autres SGBD que MySQL, une solution simple est d'utiliser les schéma : chaque client a un schéma dédié et les droits qui vont avec.
    Malheureusement, MySQL ne fait aucune différence entre database et schema.

  3. #3
    Membre régulier
    Inscrit en
    Avril 2010
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 257
    Points : 87
    Points
    87
    Par défaut
    La solution que j'ai trouver est de créer une base pour chaque client.

  4. #4
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 378
    Points : 19 055
    Points
    19 055
    Par défaut
    Salut à tous.

    @ saninx : je pense que ce n'est pas une bonne idée de créer une base de données pour chaque client que vous aurez dans le futur.
    Et si vous aviez deux cents clients ?

    Citation Envoyé par Saninx
    je veux maintenant créer une base qui contiendra les données de tous les clients et chaque client n'aura accès qu'à ses données.
    C'est la bonne façon de faire. Le problème est la volumétrie que vous aurez.

    Citation Envoyé par Saninx
    cependant vu qu'il y aura des milliers de données enregistrées par jour par client imaginez dans 2 ou 3 ans quand le nombre de clients augmentera, vu qu'il est illimité ce que cette base risque d'être.
    Il ne faut pas être défaitiste.

    Vous devez chiffrer la volumétrie quotidienne.
    Si c'est deux mille lignes par jour, en un an, cela fait 730 000. Disons 800 000 lignes.
    Et si vous avez 200 clients, au bout de 3 ans, cela donne une volumétrie de 480 millions de lignes. On arrondis à 500 millions.
    C'est pas si gigantesque que cela.

    Que faire des anciennes lignes ? On peut les archiver d'où prévoir une gestion des tables par partitions.
    Par exemple, une table partition par mois.

    Les accès aux lignes du client doivent se faire par des view.
    De ce fait, vous devez gérer des comptes, un par client.
    Il y a des sujets qui ont été traités dans developper sur la gstion des view.

    Il est vrai que pour des très grosses volumétries, mysql n'est pas fait pour cela.
    Il vaut mieux se diriger vers quelque chose de plus professionnel, comme Microsoft SQL Server.

    Citation Envoyé par Saninx
    quelle serait selon vous la meilleur manière de déployer ce genre de solutions.
    Ce genre de question ne se pose pas en fin de projet.
    C'est du domaine de la faisabilité, là où l'on doit prévoir le type de SGBDR que l'on doit acheter.
    Ainsi que le chiffrement de votre projet et sa durabilité.
    Par exemple, un maximum de 200 clients pour une durée de vie de 10 ans.

    Prévoir aussi un serveur en conséquence.
    Nombre de cœurs, taille maximale de la ram, nombre de disques dur, procédure de sauvegarde, ...
    Et je n'aborde même pas les problèmes de sécurités.

    On ne s'improvise pas DBA. C'est un métier !

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

Discussions similaires

  1. capacité de stockage de la base de donnée H2
    Par selmagsi dans le forum JDBC
    Réponses: 4
    Dernier message: 09/01/2017, 22h53
  2. Dépassement de capacité dans une base de données
    Par platon1 dans le forum Assembleur
    Réponses: 5
    Dernier message: 09/09/2011, 15h01
  3. capacité base de données mysql
    Par zaki_1982 dans le forum Administration
    Réponses: 2
    Dernier message: 24/08/2011, 15h40
  4. Capacités bases de données
    Par superpilou dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 03/08/2010, 17h16
  5. Capacité maximale d'une base de données MySQL
    Par noakiss dans le forum Débuter
    Réponses: 4
    Dernier message: 26/05/2008, 16h15

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