Azure DocumentDB: Novo emulador local

Joel Rodrigues
3 min readNov 18, 2016

--

Durante o último Connect();, que ocorreu entre os dias 16 e 18 de novembro de 2016, foram anunciadas diversas novidades (atualizações, lançamentos, etc.) para vários produtos da Microsoft, como Xamarin, Visual Studio e C#. Dentre os vários anúncios, tivemos atualizações no Azure DocumentDB, solução de banco de dados NoSQL como um serviço (Database-as-a-Service) ofertado na plataforma de cloud computing da Microsoft.

O DocumentDB é um banco de dados orientado a documentos (assim como o MongoDB), com grande capacidade de armazenamento, alto desempenho e amplo suporte à escalabilidade (incluindo replicação geográfica dos dados). Diferentemente do MongoDB, no entanto, o DocumentDB é ofertado como um serviço do Azure, portanto, para utilizá-lo era necessário possuir uma conta ativa de acesso à plataforma. Além disso, por estar alocado na nuvem, sua utilização demandava necessariamente uma conexão ativa com a internet, mesmo durante os testes mais básicos.

Azure DocumentBD Local Emulator

Para contornar essa necessidade a Microsoft lançou um emulador local para o DocumentDB, facilitando o trabalho dos desenvolvedores e permitindo que usuários testem o banco de dados de forma mais simples. Com o emulador, é possível reproduzir o funcionamento do DocumentDB em ambiente local, sem realizar login no Azure e sem trafegar dados através da internet.

Agora, ao acessar a página principal do banco de dados, encontraremos o botão “Start free with Emulator”, como vemos abaixo. Clicando nele, seremos redirecionados para a página de documentação e lá poderemos fazer o download da ferramenta.

Concluído o download, o processo de instalação é bem simples e logo em seguida já poderemos executar o emulador, que aparecerá como um ícone na barra de tarefas (system tray, próximo ao relógio). Clicando nele e na opção Open Data Explorer, teremos acesso ao ambiente principal da ferramenta, em que podemos adicionar coleções, documentos, efetuar consultas e visualizar os dados, como vemos abaixo.

Nessa mesma página temos uma aba Quickstart na qual encontramos alguns exemplos de uso do DocumentDB em diferentes linguagens, incluindo um com o novo SDK para .NET Core, recém-lançado.

Conectando ao DocumentDB Local Emulator

Para se conectar ao banco de dados local no emulador, podemos proceder da mesma forma utilizada para conectar à versão online, ou seja, utilizando o SDK ou a API REST e provendo como dados de conexão o nome da conta (Account name) e a chave de acesso (Account key). Na conta devemos informar o valor localhost:<porta> (a porta em que o emulador está rodando e que pode ser vista na barra de endereços do browser), e na chave devemos inserir o seguinte valor:

C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==

É importante observar que esses dados são fixos e utilizados apenas para acessar os dados do emulador. Ao colocar sua aplicação em produção, você deve utilizar os valores que podem ser obtidos no portal de gerenciamento do Azure.

Limitações do emulador

O comportamento básico do emulador é o mesmo do Azure DocumentDB, portanto é possível utilizá-lo para realizar as principais operações de persistência e consulta de dados. No entanto, por ser uma versão local, o emulador é diretamente dependente das condições de hardware e software do computador. Logo, opções como replicação e escalabilidade não estão disponíveis e outras como capacidade de armazenamento e velocidade são reduzidas.

A possibilidade de utilizar o DocumentDB localmente dá a vários desenvolvedores a oportunidade de testar essa que é uma excelente solução de banco de dados NoSQL, sem precisar criar uma conta de acesso ao Azure e trabalhando offline. Então, fica como sugestão realizar o download do emulador, baixar os projetos de exemplos, executá-los e analisar seu funcionamento. Em seguida, quando decidir migrar para a nuvem, é só atualizar os dados de conexão.

--

--