在使用AWS Amplify时,我一直在寻找最合适的架构模式,这将使我具备以下条件:
可扩展且可靠的数据库来处理CRUD操作(此处是DynamoDB的岩石)
复杂的查询和过滤,其中数据访问模式没有严格定义或未知(Elasticsearch在这里胜出)
因此,显然,我对将DynamoDB数据流传输到Elasticsearch进行查询并仅将DynamoDB保留为读/写操作的想法迷上了。
此架构的优缺点是什么?
[ UPDATE ]以下是一个用例的示例:
案例管理应用程序:2-5个核心表,其中包含有关案例和任务的信息,每个表30-50个字段,每个表最多100万条记录。
用户需要能够再次运行所有字段和表的复杂查询,因此很难预先定义特定的访问模式。
这个想法是将DynamoDB中的所有数据流传输到Elasticsearch,因此所有查询都转到Elasticsearch。
所有读/写操作都将作为主要数据源转到DynamoDB。