Support read/write of object data #2314
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR introduces object data support to SpiceDB, allowing storage and retrieval of arbitrary object metadata alongside relationships. This feature aims to solve the dual-write problem of maintaining consistency between SpiceDB and application databases.
Related PRs:
authzed/api#136
authzed/authzed-go#311
Background
Several feature requests in SpiceDB relate to the dual-write problem:
Features
Storage Layer (Note: PostgreSQL only)
object_data
table using PostgreSQL JSONB typeresource
andsubject
object metadataAPI Extensions
Implementation Details
Migration
The changes are backward compatible:
object_data
tableExample Usage
Write schema
Write relationships
Read relationships
Lookup operations
Export relationships
Import relationships