skip to Main Content

I have an external API to synchronize all the Stock Symbols from all markets (NASDAQ, NYSE…).
I have an AWS Lambda to get this data from the external API.

Then I want a frontend website with a search bar, where the user can type "Tes" and it should appear automatically some suggestions, just like "Tesla" or "TESO" or other companies starting with "Tes".

My doubt is in Backend. Where should I store these symbols? in DynamoDB or ElasticSearch?
Do you know of another AWS service that is better suited for this scenario?

I was thinking in store in DynamoDb, using the symbol as Primary Key, but then we cannot search by "Tes" without a full scan. With Elasticsearch I don’t have experience.

2

Answers


  1. For transient data, consider using AWS ElastiCache. It’s a key value store that runs on top of Redis or Memcached. You can use the symbol as key and store the running stock price as value.

    Login or Signup to reply.
  2. Opensearch is what you need, which is also serverless now which makes it a good fit for serverless architectures. Using DynamoDB streams, you can easily stream data into OpenSearch. Code pointers here:

    https://docs.aws.amazon.com/opensearch-service/latest/developerguide/integrations.html

    And this workshop will provide you with the necessary information and tools to be successful.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search