+55 11 3446-8380 [email protected]

3 minutos de leitura

Fala pessoal,

Hoje vamos dar uma introdução sobre Azure Cosmos DB!

O que é o Cosmos DB? é um banco de dados multi-model globalmente distribuído como SaaS pela Microsoft, que suporta múltiplas APIs, ou seja múltiplos caminhos para gravar e ler seus dados, o Azure está por cima da infraestrutura do Cosmos DB onde opera em todas as regiões, atualmente são 42 regiões o que já é maior que o Google e a Amazon juntas, e onde temos uma nova região instalada o Azure Cosmos DB irá por padrão.

O Cosmos foi construído sobre o ARS (Atom Record Sequence Schema) esse schema suporta todos seus dados, assim podemos trabalhar com alguns modelos de dados que atualmente que são Key- value pair, columns-family, document and graph e tudo isso é suportado por 6 APIs.

Table API essencialmente para cobrir o modelo de dados Key-value chamado de Azure Table Storage.

Cassandra API para cobrir o modelo de dados columns-family.

SQL API Mongo API cobre o modelo de documentos gravando em JSON os documentos.

Gremlin API que cobre o Graph data model.

Apache Spark para real-time machine learning sobre datasets distribuídos globalmente gerenciados pelo Azure Cosmos DB.

O interessante de trabalhar com várias APIs dentro de um único database (cosmos db), é que conseguimos gravar documentos no API do Mongo, e termos o machine learning trabalhando em tempo real com o Apache Spark API, e visões sobre o mesmo dado em tempo real com o Gremlin, tudo isso de maneira simples de implementar e muito útil de trabalhar os seus dados.

Além da facilidade de ter a latência reduzida com a distribuição global que o Cosmos DB nos proporciona.

Na arquitetura a seguir temos um exemplo disso com o Cosmos DB sendo replicado por três regiões diferentes, com um Web App para atender a cada região acessando o mesmo Cosmos DB e o Azure Traffic Manager gerenciando as chamadas da Aplicação assim atendemos com a mesma latência e infraestrutura três continentes diferentes  (colocando os dados onde os usuários estão !!!).

Além de ter um SLA de 99,99% de disponibilidade, por não ter partion manager não tem limits de storage quando escalamos isso para as 54 regiões do Azure.

Por hoje, fico por aqui.

Até logo pessoal.

Bruno Galvíncio.