Sono nuovo di PostgreSQL e in qualche modo nuovo per i database in generale. Esiste un modo consolidato per indicizzare i valori UUID in Postgres? Sono diviso tra l'uso dell'hash e l'uso di un trie, a meno che non ci sia già qualcosa di incorporato che utilizza automaticamente. Qualunque cosa io utilizzi, gestirà enormi quantità di dati.
La famiglia di operatori SP-GiST "text_ops" si indicizza usando un trie. Poiché gli UUID sono piuttosto lunghi e molto diversi, sembrano interessanti anche se farei sempre e solo ricerche complete.
C'è anche un'opzione hash. Hashing è O (1), e ovviamente non avrò bisogno di fare paragoni oltre all'uguaglianza, ma poiché gli UUID sono piuttosto lunghi, temo che la generazione di hash da loro perderebbe molto tempo.
O è qualcosa che dipende troppo dal sistema e dalle specifiche?
Preferirei usare bigserial nella maggior parte dei casi, ma mi è stato detto di usare uuid per questo. Abbiamo bisogno di uuid perché potremmo avere più server che utilizzano database diversi, quindi non c'è garanzia che avremo origini univoche. Potremmo usare una sequenza (e seed) diversa per ciascun server, ma non è ancora flessibile come gli UUID. Ad esempio, non saremmo in grado di migrare le voci del database da un server all'altro senza convertire gli ID e i loro riferimenti ovunque.