Thanks for the quick reply! That does sound intere...
# spicedb
x
Thanks for the quick reply! That does sound interesting. So like whenever we create any relationship, we always set it with an expiration like 7 days for example, and then in the sync process we always Touch with an expiration 7 days from the current point in time, so when entities get deleted in the app DB eventually they get their relationships cleaned up from SpiceDB by not having been touched by the sync in 7 days? My main concern with this is that it turns our sync process from being something that was kind of not necessary in theory if the SpiceDB calls ran from our backend never failed, into a process that can't fail for more than 7 days (or whatever time frame) otherwise our users lose access to everything. But at the same time we can always choose a sufficiently long time frame to make sure we can fix any potential failures with the sync process in time. Doing this would continue to need to Touch every relationship in SpiceDB, where mostly they already exist, but now with the added task of updating the expiration time. So you don't think though that touching all of the relationships mapped from our app DB multiple times a day (though we could also change it to like max once a day or something), whether that's with the expiring relationships method or with the Touch-only method from my previous message, is problematic for load on SpiceDB / the postgres datastore? Would you say there wouldn't be any noticeable effect on permission checks / performance of SpiceDB in general?
5 Views