Uma equipe de desenvolvimento está avaliando a adoção de diferentes SGBDs para um novo sistema que exigirá, simultaneamente, transações ACID com isolamento serializável, suporte nativo a dados JSON com indexação eficiente e escalabilidade horizontal para grandes volumes de dados semiestruturados. Durante os testes, foram observadas as seguintes características:
- No SGBD A, o nível de isolamento serializable é implementado por meio de bloqueios de intervalo (predicate locking) e pode gerar erros de serialização que exigem retentativa da transação.
- No SGBD B, o nível de isolamento serializable é implementado com controle de concorrência multiversão (MVCC) e detecção de conflitos por grafo de dependências, sem bloqueios de leitura.
- No SGBD C, o armazenamento de documentos JSON é nativo, com índices em campos aninhados e suporte a transações multi-documento com garantias ACID, porém a escalabilidade horizontal é obtida por sharding manual.
- No SGBD D, a escalabilidade horizontal é automática via sharding transparente, mas as transações multi-documento não oferecem isolamento serializável por padrão, exigindo o uso de transações com snapshot isolation.
Considerando as características descritas e os SGBDs PostgreSQL, Oracle, SQL Server, MySQL e MongoDB, a associação correta entre os SGBDs A, B, C e D é, respectivamente: