Il existe une base de données des utilisateurs. Supposons que je veux prendre en charge que certains utilisateurs peuvent avoir plusieurs OpenID et les utiliser pour se connecter et disons que je veux partitionner les utilisateurs dans les bases de données multiples.Partitionnement des utilisateurs - plusieurs OpenID
Y at-il une solution pour cela? StackOverflow prend en charge deux OpenID par utilisateur, comment feraient-ils cela?
Si les utilisateurs ne pouvaient utiliser qu'un seul OpenID, il y aurait plusieurs choix pour le partitionnement. Avec plusieurs OpenID, j'ai deux tables avec une relation 1-n.
Existe-t-il un algorithme pour effectuer un partitionnement efficace dans ce cas?
Mise à jour Comme l'a mentionné Noon Silk, le problème n'est pas spécifique à OpenID. Je suis juste intéressé par le partitionnement et je mentionne OpenID car il peut être pertinent dans ce cas de créer une fonction de mapping.
Pour essayer de le mettre comme un problème générique.
J'ai deux tables A et B avec la relation n à 1. Existe-t-il des règles/recommandations sur la façon de faire du partitionnement dans ce cas afin que l'information complète soit dans une base de données?
si
A1 est lié à B1
A2 est en relation avec B1
A3 est liée à B1
A4 est lié à B2
A5 est lié à B2
comment mettre A1 -A3 et B1 dans une base de données et A4-A5 et B2 dans une autre base de données?
La question principale est le partitionnement. Si je commence à diviser par la première lettre de l'OpenID, ils peuvent être dans des bases de données différentes. Dans quelle base de données vais-je mettre des informations utilisateur? –
Donc reformulez vos questions et supprimez toutes les références à OpenID et vous trouverez que votre problème est général. Vous voulez partitionner quelque chose? Trouver un algorithme qui glisse les données sur une certaine plage de manière égale et affecte le serveur via x% numServ. –