Accettazione del rischio di collisione dell'UUID in base al numero di client

3

Dopo aver letto alcune domande sulla probabilità di collisioni UUID sembra che ci siano collisioni anche se improbabile, sono ancora possibili e una soluzione di conflitto è ancora necessaria. Quindi mi sto interrogando sullo sfondo della scelta degli UUID per CouchDB

  • La "collisione improbabile" è una responsabilità dello sviluppatore?

  • Era previsto che gli ID venissero usati da un insieme ridotto di client?

Quando ho esaminato la documentazione sembrava che l'algoritmo CouchDB fosse ottimo per resistere alla partizione, ma più leggevo sui problemi della generazione di ID distribuito, più credo che prendere il rischio di collisione dell'UUID sia possibile solo con un basso numero di clienti.

Anche se sono ancora interessato alle domande precedenti, la cosa principale che voglio scoprire è:

  • È prassi normale accettare il rischio di collisione degli UUID contando su un basso numero di generatori distribuiti? O sempre presume che la probabilità di collisione sia così bassa che non è un problema?
posta SystematicFrank 28.08.2014 - 14:29
fonte

2 risposte

2

L'intero punto degli UUID è che il rischio di collisioni può essere tranquillamente ignorato. Una soluzione di conflitto è non necessaria.

Se guardi i tuoi file di registro e vedi un messaggio "Errore irreversibile: rilevato collisione UUID" allora puoi scommettere che il messaggio è dovuto a un errore in qualche codice e non a causa di una collisione UUID.

    
risposta data 15.01.2019 - 13:08
fonte
1

Ho appena avuto poca esperienza con CouchDB, ma c'è un suffisso che puoi configurare per l'algoritmo utc_id, a partire dalla versione 1.3 utc_id_suffix

In generale, mi fido dei generatori casuali quando hanno un'origine univoca (ad esempio un'istanza di CouchDB), ma non proprio quando vengono generati da fonti diverse e con lo stesso algoritmo e formato (ad esempio replicando le istanze di CouchDB) . Questo vale anche per processi e thread in base all'ambito. Con l'eccezione di avere un meccanismo per differenziare specificamente ogni origine di sequenza casuale come il suffisso sopra.

    
risposta data 07.09.2014 - 01:21
fonte

Leggi altre domande sui tag