Forum OpenACS Development: Re: GUIDs (Globally Unique Identifiers) as Object IDs?
quite easy to use GUIDs (large random numbers...)
> one cannot store a UUID in a integer type
Yes you can. This is not about adherence to standards here, but about a simple solution to scale out horizontally So for example I could imagine to just use "large random numbers".
Actually, sequential numbers with a "prefix" * 1000000000 offset (with a separate "prefix" for each system) could also be sufficient to create separate "number circuits". So even sequences might continue to work... And this might actually work with normal integers and without the needs for bigints...
If you mean "1000000000" literally, be aware that the maximum value of an integer in PostgreSQL is "2147483647" (roughly twice that value) . Notice that on sites like openacs.org, we had already overruns on 32bit sequences .
Nevertheless, for "site-synching" (see above), i see no need for any kind of UUIDs.
I mentioned the blockchain for obtaining a pool of preprocessed random hashes to be used as UUIDs, but those are apparently hashed at 256bits. And as Gustaf mentions, using standards outside of their definition tends to confuse things and break convention;
Maybe verifiable, unpredictable 128bit UUID format hashes can be generated using a system/satellite salt reference and object_id et cetera with SHA-3/ It apparently has little risk of collisions and relatively low processor demands, and the bit length can be configured to fit UUID.