aws redis vs dynamodb vs rds

0

My supervisor ask me to explore the options to put a repository or cache between a database that is sourced (from other team) and an App that we are building, it will contain a subset (not big) of that db to be read-only from the API of that App, that subset will be fully reloaded from its origin on a daily basis, We already have a RDS (pg), my question is being the size of the data equal to the three options what will be cheaper, put that data into the existing RDS, put a a cache layer with redis or use a (new) dynamodb repo?

1 個回答
2

From the description, it sounds like you are looking for a solution where you could temporarily cache data that can be consumed (read-only) by an API. Redis seems to be a potential fit, you could also look at Memcached. Below document has a comparison of Memcached and Redis https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html

Having said this, I would recommend you to review the requirement in a bit more detail and make a choice. Here are some areas you could think of and some questions you could ask yourselves (Not an exhaustive list) -

  1. What is the type and structure of data? What is the volume of data? A reference on evaluating DynamoDB - https://aws.amazon.com/blogs/database/how-to-determine-if-amazon-dynamodb-is-appropriate-for-your-needs-and-then-plan-your-migration/

    Redis is also a key-value pair data store.

  2. How often this data changes? Can the external source propagate the incremental data changes to AWS i.e. Do you really need a daily full dump or incremental delta feeds?

  3. Would persisting this data in RDS or DynamoDB serve any of your long term goals? (Based on the volume of reads, this could be a combination of 'RDS and Redis' or 'DynamoDB & DAX')?

  4. What is the request volume? What volumes of requests query for same data as response (i.e. repeated reads)?

  5. Do you have an API gateway for the API and does that already cache the API responses? Also, do you have any CDN (Content Delivery Network) already caching the API responses.

  6. What are the data encryption/security, back-up and recovery (RTO and RPO), availability, durability requirements?

Use the below cost calculator to create an estimate for these 3 services to compare. Make sure you also consider the opportunity of reservations for these services - https://calculator.aws/#/

profile pictureAWS
已回答 2 年前
profile pictureAWS
專家
Chris_G
已審閱 2 年前
  • Thank you!, That calculator is complex, there are some parameters that I dont have, we never be writting to the cache/repo (only reading from it) with full loads everyday from the source (external), we can adapt to any form of data structure, tabular from a db or key, value, we are not willing to persists this data, and suppose we are not weighting the benefits (caching) of responses times between one option or the other, we are being forced to use this because the owners of the source data do not want us to be openning db connections all day, just once a day. The question is what will be cheaper, keep in mind that we already have an RDS.

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南