feat: added proposal for mysql-secondary-db-support - #37
Open
chiragsoni-eternal wants to merge 2 commits into
Open
feat: added proposal for mysql-secondary-db-support#37chiragsoni-eternal wants to merge 2 commits into
chiragsoni-eternal wants to merge 2 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
RFC proposing secondary DB (read replica) support for the MySQL datastore, matching what already exists for PostgreSQL.
Description
What problem is being solved?
The MySQL datastore only supports a single primary DB. Read traffic (Check and other reads) dominates OpenFGA's load, but today it can't be scaled independently of writes the way it already can for PostgreSQL. This is the concern raised in openfga#3282.
How is it being solved?
By reusing the routing pattern PostgreSQL already has: writes always go to the primary DB; reads requesting
HIGHER_CONSISTENCYgo to the primary DB; other reads go to the secondary DB when one is configured. Configuration reuses the existing shareddatastore-secondary-uri/-username/-passwordflags, so it's opt-in and non-breaking — deployments that don't set a secondary URI are unaffected.What changes are made to solve it?
Adds
20260903-mysql-secondary-db-support.md, an RFC that covers:GetStore,ListStores, etc.) always prefer the secondary, matching current PostgreSQL behavior.This PR is documentation only. It adds no code.
References
Motivating issue: closes openfga/openfga#3282
PR: openfga/openfga#3290
Review Checklist
main