Cosmos DB
Azure Cosmos DB é um serviço de base de dados multimodelo globalmente distribuído oferecido pela Microsoft. Ele foi projetado para fornecer alta disponibilidade, escalabilidade e acesso de baixa latência aos dados para aplicativos modernos. Ao contrário dos bancos de dados relacionais tradicionais, o Cosmos DB é um banco de dados NoSQL, o que significa que pode lidar com tipos de dados não estruturados, semiestruturados, estruturados e vetoriais.
Imagem: Microsoft Corporation · BY · Openverse
Internamente, o Cosmos DB armazena “itens” em “contêineres”, com esses dois conceitos sendo apresentados de forma diferente dependendo da API usada (esses seriam “documentos” em “coleções” ao usar a API compatível com MongoDB, por exemplo). Os contêineres são agrupados em “bancos de dados”, que são análogos a namespaces acima dos contêineres. Os contêineres são independentes de esquema, o que significa que nenhum esquema é imposto ao adicionar itens. Por padrão, cada campo em cada item é automaticamente indexado, geralmente fornecendo bom desempenho sem ajustar os padrões de consulta específicos. Esses padrões podem ser modificados definindo uma política de indexação que pode especificar, para cada campo, o tipo e a precisão do índice desejados. O Cosmos DB oferece dois tipos de índices: intervalo, suportando consultas de intervalo e ORDER BY, espacial, suportando consultas espaciais a partir de pontos, polígonos e linhas codificadas em fragmentos GeoJSON padrão.
Imagem: Vicky TGAW · BY-NC-SA · Openverse
Os bancos de dados Cosmos DB podem ser configurados para estarem disponíveis em qualquer uma das regiões do Microsoft Azure (54 regiões em dezembro de 2018), permitindo que os desenvolvedores de aplicativos coloquem seus dados mais perto de onde seus usuários estão. Os dados de cada contêiner são replicados de forma transparente em todas as regiões configuradas. A adição ou remoção de regiões é realizada sem qualquer tempo de inatividade ou impacto no desempenho. Ao aproveitar a API multi-homing do Cosmos DB, os aplicativos não precisam ser atualizados ou reimplantados quando as regiões são adicionadas ou removidas, pois o Cosmos DB encaminhará automaticamente suas solicitações para as regiões disponíveis e mais próximas de sua localização, diminuindo assim o nível de latência.
Imagem: Sergei Golyshev (AFK during workdays) · BY-NC-SA · Openverse
A Gartner Research posiciona a Microsoft como líder nos Sistemas de Gerenciamento de Banco de Dados Operacionais do Quadrante Mágico em 2016 e destaca os recursos exclusivos do Cosmos DB em sua redação.
Imagem: Sergei Golyshev (AFK during workdays) · BY-NC-SA · Openverse
A Microsoft utiliza o Cosmos DB em muitas das suas próprias aplicações, que se estendem, mas não se limitam ao Microsoft Office, Skype, Active Directory, Xbox, e MSN. Ao criar uma aplicação / sistema mais resiliente a nível global, o Cosmos DB combina-se com outros serviços do Azure, como o Azure App Services e o Azure Traffic Manager.


