Introdução
Imagine que está a gerir o armazenamento de um revendedor online. Precisará de ferramentas para criar, atualizar e eliminar os dados dos produtos e dos utilizadores. Também precisa da capacidade de consultar os seus dados de modo a tomar decisões empresariais ou operacionais.
Neste módulo, vai criar uma aplicação da consola Java para criar, atualizar e eliminar registos de utilizadores e consultar os dados através de Java. Este módulo disponibilizará dois conjuntos de exemplos de código – um para utilizar o SDK Java do Azure Cosmos DB diretamente e outro para utilizar o modelo de programação do Spring Data para Java.
Iremos utilizar o gestor de pacotes do Maven para estruturar o nosso projeto e solicitar dependências.
Porquê o Azure Cosmos DB?
Um empresa hipotética que gere as suas operações de revenda globais na cloud pode beneficiar do Azure Cosmos DB. Os engenheiros da empresa têm de garantir que os dispositivos de ponto de venda (POS) podem manter os dados numa base de dados na cloud com um curto tempo de resposta para cada pedido. A empresa mantém uma base de dados de stock de inventário. Quer garantir que esta base de dados está altamente disponível (para evitar a insatisfação dos clientes) e é globalmente distribuída (para garantir que os clientes a nível global veem uma página Web reativa).
Além disso, a carga do sistema de revenda global da empresa varia ao longo do ano. A empresa sabe que a carga na respetiva base de dados atingirá o pico nas semanas mais próximas dos feriados de revenda. Está à procura de um modelo de preços no qual paga o que consome, em vez de pagar o pico do consumo.
O Azure Cosmos DB é uma base de dados na cloud NoSQL que oferece contratos de nível de serviço (SLAs) de desempenho relativos à latência e disponibilidade. Oferece também uma distribuição global e completa que permite aos utilizadores interagir com cópias geograficamente locais de uma base de dados. Estas funcionalidades podem satisfazer os requisitos globais de elevada disponibilidade/baixa latência da empresa de revenda. Ao dimensionar manualmente o débito da base de dados em código ou através do débito de dimensionamento automático, a empresa pode esperar pagar apenas o débito do serviço consumido numa determinada hora.
O Azure Cosmos DB, uma base de dados noSQL replicada e fragmentada, pode dimensionar de forma elástica suficientes máquinas físicas para lidar com o pico do débito da base de dados da aplicação e, depois, libertar essa computação quando não for necessária. Este processo de lidar com cargas ao dimensionar o número de máquinas é denominado escalamento horizontal ou dimensionamento horizontal.
Para ajudar os utilizadores a começarem a utilizar o Azure Cosmos DB, este laboratório irá guiá-lo ao longo do desenvolvimento de um cliente de linguagem Java básica.
Objetivos de aprendizagem
Neste módulo, irá:
- Saiba como enviar pedidos para o Azure Cosmos DB a partir de uma aplicação Java
- Criar uma aplicação para armazenar e consultar dados no Azure Cosmos DB
Pré-requisitos
- Conhecimentos da linguagem de programação Java
- Opcional: estar familiarizado com o modelo de programação Spring Data
- Experiência na criação e gestão de recursos no Azure Cosmos DB, incluindo a criação e configuração de contas, bases de dados e contentores do Cosmos DB
- Familiaridade de nível iniciante e instalações locais das seguintes ferramentas: Apache Maven, Git, Java JDK 8 ou posterior e um IDE Java ou editor de texto