Em relação à realização de projetos de implantação de banco de dados e considerando todas as arquiteturas possíveis, assinale a alternativa correta.
- A)A performance de bases em cluster sempre será superior a bases standalone.
Errada, porque em cluster a performance não é sempre superior à de uma base standalone, já que depende da configuração, do objetivo do cluster e do tipo de carga.
- B)Todas as views devem estar devidamente descritas antes de iniciar a implantação de um banco de dados.
Errada, porque a implantação de um banco de dados não exige que todas as views estejam definidas previamente; isso depende do projeto e da evolução do sistema.
- C)Projetos utilizando o star schema não permitem a utilização de tabelas em memória.
Errada, porque o uso de star schema não impede tabelas em memória; são conceitos diferentes e podem coexistir em soluções analíticas.
- D)Leitura e gravação de dados podem ser executadas em bases distintas, não sendo necessário ler os dados somente nas bases onde ele foi escrito pelo usuário.
Certa, porque leitura e gravação podem ocorrer em bases distintas, como em arquiteturas com réplicas, distribuição ou separação entre nós de escrita e leitura.
- E)Tabelas em memória aumentam a velocidade da escrita em disco, principalmente quando considerado o uso de discos padrão solid state (SSD).
Errada, porque tabelas em memória aceleram acesso a dados em memória, não a escrita em disco, e SSD já é uma tecnologia de armazenamento rápida por si só.
Gabarito: D
Em arquitetura de banco de dados, uma ideia importante é que leitura e escrita nem sempre acontecem no mesmo lugar. Em ambientes distribuídos, replicados ou com separação entre nós de escrita e de leitura, o sistema pode gravar em uma base e consultar em outra, desde que exista sincronização e consistência entre elas. Isso é comum em soluções de alta disponibilidade e escalabilidade, então a frase da alternativa D faz sentido. A banca gosta de misturar conceitos de arquitetura com afirmações absolutas. Quando aparece "sempre", "todas" ou "não permitem", desconfie: em tecnologia, quase nada é tão rígido assim. Projetos podem usar clusters, views, star schema, memória e SSD de formas diferentes, dependendo do objetivo do sistema. No caso da letra D, a ideia central está correta porque a leitura pode ser feita em uma base distinta da base onde o dado foi originalmente gravado pelo usuário, por exemplo em réplicas de leitura, nós secundários ou camadas de cache. Isso não viola o funcionamento do banco, desde que a arquitetura suporte a replicação e a consistência esperada. Ou seja: banco de dados não é teimoso, ele pode espalhar responsabilidades entre componentes. O ponto da questão é justamente esse modelo arquitetural mais flexível, e não a visão simplista de que tudo precisa acontecer na mesma base o tempo todo.