J'ai le même dilemme. Je pense que je vais aller avec une solution Redis. Je vais utiliser un service comme redis-cloud.com pour générer des identifiants uniques. Donc, je peux toujours utiliser bigint pour toutes les données insérées dans ma table partitionnée. L'IT sera séquentiel, donc aucune division de page ne se produira. De plus, la pagination est maintenant très facile à faire. Il me résout le problème des URLs amicales parce que je ne voulais pas utiliser un GUID dans l'URL. De plus, Redis Cloud est une solution évolutive, très fiable et à basculement automatique.
Je n'ai pas besoin de décider d'une plage pour diviser mes données, j'utilise simplement le hachage MD5 sur la clé primaire pour diviser les données de manière égale entre les fragments. Pour HA, j'ai décidé d'utiliser Amazon RDS pour la sauvegarde/restauration et la réplication ponctuelles.
Je pense que Flickr utilise la même technique, mais ils ont deux générateurs, un pour les nombres impairs et un autre pour les nombres pairs.
jamais entendu le terme sharding avant - merci d'ajouter à mon vocabulaire – MrTelly