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.
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.