My project is a platform that offers loyalty programs to business owners. A business can scan customers QR codes and give/retrieve points + many more actions.
When they scan and submit that new scan with the given points to an API, a lambda is triggered that stores multiple objects (in DynamoDB) like:
a SCAN object
on the employee that scanned, increments the "scans" attribute for the object that has the curent date
Example of this type of object:
PK SK QUANTITY
BUSINESS#<business_id> <who_scanned_id>#DATE#xx/xx/xxxx 123
on the customer that has gained a new number of points, increments the proper attirbute (on that specific date)
What should be the proper approach between these options? Or what else should be a better one?
There are too many variables at play to make a recommendation. If it's very frequent use OpenSearch. Less frequent use Quicksight, where you can refresh the data daily for example. And if it's key value look ups, use DynamoDB.