I'm currently investigating various data storage options for a Xamarin mobile app: RESTFul service with a SQL backend (MySql or Postgres) or DynamoDb; both on AWS.
I would prefer to make use of the DynamoDb because it is "fully managed" and it is easier to scale as the workload increases.
The use case I'm currently trying to solve is with the DynamoDb options: the app makes extensive use of a large product catalogue (40000+ records), products are filtered on name and description as the user types. The only solution I can think of in DynamoDb is to query the entire recordset and them make use of mapreduce to remove the unwanted records, the problem with this method is that it would require a much higher read capacity because the entire table has to be iterated through for a small resultset. (This is trivial in the REST SQL option)
I've read about pushing the data into something like CloudSearch or ElasticSearch however; I haven't found and AWS components that support this in the Xamarin store.
Does anyone know of an efficient mechanism to index and search strings in DynamoDb?
Thanks in advance