Estou planejando construir um microsserviço de gerenciamento de arquivos para uma plataforma SaaS multilocatário que usa Amazon S3 como back-end de armazenamento de arquivos. Pretendo usar DynamoDB como banco de dados porque é rápido e escalável. A plataforma pode hospedar muitos locatários, com cada locatário tendo muitos usuários e cada usuário tendo muitos arquivos em seu espaço de armazenamento.
Preciso manter um registro dos metadados de cada arquivo e da estrutura de diretórios do usuário (hierarquia) no banco de dados. No entanto, não tenho certeza se o DynamoDB é a melhor escolha. Um usuário pode querer listar todos os seus diretórios e arquivos, pesquisar por nome ou classificá-los em ordem alfabética ou por data de criação. Isto poderia levar ao problema da "partição quente" (pelo menos para Índices Secundários Globais). A situação pode se tornar ainda mais desafiadora ao rastrear todos os arquivos carregados por todos os usuários de um locatário.
Portanto, estou considerando uma abordagem híbrida: usar PostgreSQL para dados relacionais e DynamoDB para armazenar informações de arquivos e hierarquias de diretórios.
O que você acha dessa ideia? Alguém pode me apontar na direção certa?
Desde já, obrigado.