Prévia do material em texto
Desafio: Arquitetura de banco de dados Por muitas décadas, os bancos de dados relacionais foram utilizados em praticamente todos os sistemas que faziam uso de armazenamento de dados. Porém, isso mudou nos últimos anos com os melhoramentos nos bancos de dados relacionais e com o surgimento de novos tipos de bancos de dados, que proporcionaram novas funcionalidades aos sistemas modernos. Dada essa demanda, pelos sistemas modernos de armazenamento facilitado, surgiram os bancos de dados não relacionais. A EasyData é uma organização que atua na arquitetura de banco de dados no mercado há 10 anos. Recentemente, recebeu de um cliente internacional um novo projeto que consiste basicamente em migrar um sistema legado de streaming de vídeo utilizado pelos usuários da empresa cliente. Confira mais detalhes: Além disso, a empresa mantenedora do streaming de vídeo vem gastando muito com o aumento da infraestrutura, melhorando o hardware dos servidores, chegando a um ponto em que os investimentos com o novo hardware não estavam compensando a adesão dos novos clientes, exigindo uma mudança na arquitetura e nos objetivos da organização. Verifica-se, com isso, que o paradigma atual da empresa não é mais viável por conta do alto investimento em hardware. Imagine que você é o principal colaborador responsável pelos bancos de dados não relacionais da EasyData e precisa propor uma nova arquitetura que atenda às necessidades do novo projeto de migração de dados do cliente. Para isso, responda: a) Qual banco de dados NoSQL indicar ao cliente para a migração do sistema? Justifique. b) Para a migração do sistema, deve-se indicar ao cliente o uso de um banco de dados com a infraestrutura existente ou será necessário alocar um servidor na nuvem? Justifique. RESPOSTA: a) Diversos critérios devem ser levados em consideração para tomar uma decisão em relação à migração de dados entre SGBDs relacionais para não relacionais, como: custo de licenciamento, serviços de suporte e manutenção, capacidade de armazenamento, nível de desempenho e de carga de trabalho, modelos arquiteturais, etc. Para isso, é importante que a organização possa desfrutar das vantagens de uma plataforma adequada ao seu negócio. De modo geral, os bancos de dados NoSQL como, por exemplo, Cassandra, Couchbase e Redis, atendem aos problemas do cliente em questão, pois oferecem escalabilidade, disponibilidade e confiabilidade em nível corporativo. Especificamente, recomenda-se utilizar o SGBD Redis pelas seguintes razões: - Permite streaming de vídeo para milhões de usuários de diversas plataformas e ao mesmo tempo. - Permite lidar com a crescente demanda e os padrões de tráfego de serviços de streaming. - Apresenta melhor desempenho e tempo adequado de resposta para grandes volumes de operações em relação aos demais concorrentes. - Oferece extrema performance com operações de leitura ou gravação em questão de milissegundos. - Permite que milhões de operações originadas de aplicativos de tempo real sejam processadas por segundo. - Tem arquitetura que distribui solicitações entre vários servidores. - Oferece recursos de réplica de dados entre servidores. - Oferece armazenamento de dados na memória no formato chave-valor e em código aberto. - Tem processo de instalação e configuração bem simplificado. b) Dependendo da necessidade do cliente, pode ser utilizada uma abordagem distribuída com infraestrutura mantida pelo cliente com o SGBD Redis. Entretanto, levando em consideração a arquitetura do Redis, a disponibilidade e o ajuste de consistência e escalabilidade, é recomendável alugar uma infraestrutura e pagar de acordo com a utilização dos serviços. A plataforma de computação em nuvem, Redis da Amazon, tem uma infraestrutura robusta que isenta o cliente que contratou os serviços de futuros aborrecimentos.