Hi, I saw there is a maximum of 64 chars for `obje...
# talk-keto
s
Hi, I saw there is a maximum of 64 chars for
object
in a relation tuple. Can this be increased or is there any best practise to deal with larger values?
a
What I do, though I don't know if Ory also advocates for this, is never store actual data in object names. Instead, I purely use UUIDs which then map to actual data in a separate database. Makes things like renaming easier as well
Auth0's OpenFGA, which is quite a similar product, explicitly recommends doing things that way
s
Thx for your input. Yes, this is certainly possible. But we have logical IDs from 3rd-party systems which are not UUIDs. Mapping those would create additional complexity. Also we are using those IDs to shard the data in our distributed system (this would be more difficult with UUIDs as well as the are random).
a
And its those IDs that exceed the 64 chars?
If so, then i dont know. There are ID generation algorithms that work well in distributed systems as they include things like node ID, but those would then still require some kind of mapping...
s
yes, in some cases the 64 chars are exceeded. Do you have a concrete algorithm in mind?
a
Those have 10bits of machine ID which are unique per host
And its obviously possible to move around the number of bits allocated to each segment depending on the specific needs of the application
s
thx a lot, I will check it out
I also found this issue https://github.com/ory/keto/issues/430 where ory is recommending SHA512 hashing. This would work but fail when I need to check all permissions of a user I guess.
s
where did you see the limit? there should be no limit anymore, but you have to live with the payload size that you use
so if requests take longer because of huge payloads, that's only fixable by reducing the payload size
s
Hi Patrik, thx for your feedback! I'm on v0.8.0-alpha.2, Did you lift the limit in a later release?
a
The limit seems to have been lifted in 0.9.0