Ficou definida uma solução com o conceito de CQRS (Command ...

Próximas questões
Com base no mesmo assunto
Q2398023 Banco de Dados
Ficou definida uma solução com o conceito de CQRS (Command and Query Responsibility Segregation) para atender a uma necessidade da empresa e, para isso, foram utilizadas duas bases de dados de SQL Server (Escrita e Leitura). A camada de dados de persistência será a base do legado a ser utilizada, porém, ainda não existe uma base de leitura a ser configurada e, com isso, precisa-se criar a sincronização entre as bases e garantir que a aplicação tenha uma alta performance. Assim, assinale a alternativa que apresenta a arquitetura utilizada para garantir sincronização dos dados.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: B - Database Mirroring.

A questão aborda o conceito de CQRS (Command and Query Responsibility Segregation), que é uma técnica de design de software onde se separa a escrita (comandos) da leitura (consultas) dos dados em duas interfaces distintas. Isso pode melhorar a performance e a escalabilidade do sistema, já que leitura e escrita podem ser otimizadas separadamente.

A implementação dessa técnica, em relação ao SQL Server, envolve a utilização de duas bases de dados distintas: uma para a escrita (onde ocorrem as operações de inserção, atualização e exclusão de dados) e outra para leitura (onde ocorrem as consultas). A questão menciona a necessidade de criar uma sincronização entre as bases para garantir alta performance, o que nos leva à alternativa correta, B, que é o Database Mirroring.

O Database Mirroring é uma solução de SQL Server para transferência de dados de forma contínua e em tempo real de uma base de dados (principal) para outra (espelho), garantindo alta disponibilidade e, em alguns casos, desempenho melhorado para operações de leitura. Esta técnica é adequada para o cenário descrito na questão, onde se deseja manter uma segunda base de dados sincronizada com a base de dados de escrita, sem comprometer o desempenho.

É importante destacar que as outras alternativas não se encaixam no contexto da questão:

  • A - ETL (Extract, Transform, Load): é uma técnica para transferir dados entre sistemas e para armazéns de dados (data warehouses), mas não é utilizada para sincronização em tempo real.
  • C - Backup & Restore: é um método para criar cópias de segurança e restauração de dados, mas não serve para sincronização contínua entre bases de dados.
  • D - Pubs e Sub (Publicações e Assinaturas): pode referir-se a replicação, que é uma forma de copiar e distribuir dados e objetos de banco de dados de uma base para outra e então sincronizar entre as bases para manter a consistência. No entanto, não é a técnica mais adequada para o cenário de alta performance exigido pela CQRS.

Portanto, para atender a necessidade de sincronização entre as bases com foco em alta performance, a arquitetura de Database Mirroring é a solução mais apropriada, o que torna a alternativa B a correta.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo