Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AWS Read Replicas option on RDS instances #303

Open
ArsHaider opened this issue Apr 20, 2023 · 2 comments
Open

AWS Read Replicas option on RDS instances #303

ArsHaider opened this issue Apr 20, 2023 · 2 comments
Assignees

Comments

@ArsHaider
Copy link

ArsHaider commented Apr 20, 2023

Customers are requesting RDS instances to have a read replica so that they that can separately service aggregating analytic queries which might ordinarily cause read locks on tables that block writes during normal site use. Also in general to support RDS instance scaling.

When an RDS instance is provisioned you would then select to also provision a number of read replicas (these would be billed as additional instances). When you bind an application to the RDS instance, you could optionally specify that you are read-only, and you'd get back a different DB URI for a read-replica.

The cost of this feature should be taken into account as it is similar to allowing Multi-AZ it effectively doubles the cost of the primary instance. Possibly link the data usage together as one singular instance?

Discussed in this thread. Linked here is the relevant AWS documentation regarding Read Replicas.

Go SDK documentation on enabling read replicas: https://docs.aws.amazon.com/sdk-for-go/api/service/rds/#RDS.CreateDBInstanceReadReplica

Before implementing this feature, we'll need to determine if it will address the concerns customers have.

  • RRs will still be in the Cloud.gov boundary, and client access will have to via an App or a cf ssh connection
  • RRs with custom apps should be find for potentially blocking queries

There may be other or complementary work for this to address customer needs, such as:

  • PostgREST for exploratory queries over an API
  • Using S3 Parquet format for "serverless" queries

Tasks

Preview Give feedback
@hardwarehuman
Copy link

Other use cases include being a way to isolate other tasks like DB dumps, serving API requests for data, and other operations away from the DB supplying CRUD operations to the website itself.

@pburkholder pburkholder self-assigned this Oct 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants