2014-05-14 4 views
0

Comme nous savons que le temps uuid fait un identifiant unique qui est lié à l'heure, mais ce qui se passe lorsque je veux ajouter le même identifiant unique dans différentes tables. Supposons que je veux copier les informations relatives aux images téléchargées sur différentes tables de sorte que lorsque les images sont téléchargées, j'écris une déclaration de lot et dans chaque tableau je veux donner un unique id à l'image, donc j'utilise time uuid ... tout le tableau obtenir le même identifiant ou sont-ils différents.Opérations par lots Cassandra id unique

Je sais que Cassandra est schéma moins et je ne nécessitent pas l'identifiant unique, mais je veux utiliser memcached et elasticsearch pour retrival et la recherche plus rapide et ce qui se passera si je veux modifier les informations des images que je vais avoir pour le rechercher avec l'aide d'userid et d'autre information et alors je serai capable de changer la valeur. Ce qui selon moi est le temps inefficace.

Existe-t-il un autre moyen de le faire?

Répondre

2

Chaque fois que vous générez un uuid basé sur le temps timeuuid, même si vous en générez deux en même temps, il sera unique. C'est parce qu'à l'intérieur du timeuuid, il contient à la fois l'heure et un très grand nombre aléatoire.

Si vous voulez utiliser le même timeuuid pour un certain nombre de tables/enregistrements, générer le timeuuid dans votre code d'abord, puis passer votre timeuuid dans la déclaration de mise à jour de cql sur les deux tables en utilisant votre prégénérée timeuuid.