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 e 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.
0 comentários