0

I am currently trying to line out the stack for a social-media-like application (users, follows, likes etc.). My initial plan was to do this with the Serverless Framework using AWS Lambda and most importantly DynamoDB.

Having looked quite deeply into data modelling in DynamoDB, I think it is mostly able to handle the data schema that the app needs (lots of relations in the data). But I am really, really worried about the costs that will incur.

As users interact with the app there will be lots of read/write operations that have to work at scale.

I plan to model the data as one single table with 2GSIs. There are about 15 access patterns. All data can be accessed using the query function. The scan function will be prohibited for regular operations. The will be some level of 'hot shards' do to that fact that newer content will generate more interaction.

Is DynamoDB a feasible Database for this kind of application? What will this roughly mean for pricing in 2020 (all the info I can find on pricing is quite old)? Thanks.

Xen_mar
  • 121
  • 2

1 Answers1

0

For any write intensive scenario, Dynamodb is costly for sure. But you are saving money from maintaining your own cluster, handling load, auto scaling.

In any case, dynamodb tables are used only for storing masters & important logical data. All kinds of logs, summaries should be stored in other databases like S3 with Firehose.

It is still best choice for startups. whose usage wont pickup until certain period. You are saving money by paying for only what you have used. After picking up momentum you can decide to switch away from dynamodb.