Vivemos uma fase bastante interessante, na qual presenciamos a crescente expansão dos serviços providos pela nuvem. Dia após dia, novos serviços surgem e ficamos estatelados, imaginando: “Nossa! Eu podia ter usado isso naquele projeto!” ou então “Nossa! Como eu consegui trabalhar até agora sem isso?”.
Na minha humilde opinião, logo mais, conhecer os serviços providos pela nuvem será tão importante quando saber conectar sua aplicação a um banco de dados ou jogar uma mensagem em um serviço de mensageria. Trabalhar com a nuvem não será um diferencial, mas um conhecimento tido como requisito básico.
E dentre os serviços providos pela nuvem, fico muito interessado nas novidades de armazenamento e consulta de dados.
Algo que tem chamado a minha atenção é o Windows Azure data storage (também chamado de Windows Azure storage), que corresponde aos serviços de armazenamento de dados do Windows Azure.
O Windows Azure storage fornece um rico conjunto de ferramentas do qual nossas aplicações podem fazer proveito, poupando nosso tempo e dinheiro, além de abstrair a complexidade necessária para sua implementação.
Serviços de armazenamento disponíveis
O Windows Azure storage não é de um banco dados relacional. Se você precisa de um banco de dados relacional, então você provavelmente precisa pesquisar sobre bancos de dados Windows Azure SQL, algo que não será tratado aqui (mas que já foi tratado em outros posts https://ferhenriquef.com/2012/05/09/sql-azure-consultando-dados/ e aqui https://ferhenriquef.com/2012/04/25/como-criar-um-banco-de-dados-no-sql-azure/).
Os serviços de armazenamento providos pelo Windows Azure storage são considerados como recursos no formato NoSQL, onde: a fonte de dados não utiliza Structured Query Language (SQL); não são adotados recursos de bancos de dados relacionais e o uso de transações é suportado de forma limitada (Mehner, pág.15, 2013).
Os três principais tipos de armazenamento providos pelo Windows Azure storage são:
– Blob: Fornece recursos para o armazenamento e consulta de dados não estruturados, tais como: imagens, documentos, vídeos e músicas. Blobs são ideais para o armazenamento de conteúdo da web. O propósito primário deste recurso é fornecer acesso de leitura a algum tipo de conteúdo. Quando fazemos o upload de um blob é gerada uma URL para o compartilhamento de seu conteúdo.
– Table: Windows Azure tables são diferentes das tabelas dos bancos de dados relacionais, e deve-se evitar fazer uma comparação entre estes dois termos. No caso dos Windows Azure tables, a estrutura das entidades não precisa ser necessariamente rígida, pois diferentes schemas de dados podem ser armazenados na mesma tabela. Seu funcionamento se assemelha ao de ferramentas como MongoDB e Db4O.
– Queue: Ao contrário dos blobs e dos tables, queues não fornecem armazenamento permanente das mensagens. As mensagens são excluídas das filas quando não processadas em sete dias. O uso de queues é indicado para a transmissão de mensagens entre servidores e/ou sistemas.
Replicação dos dados
Existe um processo de replicação automática dos dados. Os dados são replicados três vezes no mesmo data center em três racks separados, esse processo agrega maior segurança contra falhas de hardware dentro do mesmo data center. Além disso, existe uma replicação geográfica, que gera três copias dos seus dados em outro data center de diferente localização geográfica. Desta forma, os seus dados são replicados cinco vezes, gerando seis cópias ativas dos seus dados.
Toda essa replicação de dados é feita de forma assíncrona, sem impactar na performance das operações sobre a storage.
O serviço de replicação geográfica não gera nenhum custo adicional e já está habilitado por padrão, mas pode ser desabilitado se necessário.
Por onde começar?
Para começar a trabalhar com o Windows Azure storage é indicado fazer o download de dois recursos:
– Windows Azure SDK: http://www.microsoft.com/en-us/download/details.aspx?id=35448
– Instalar o NuGet do Windows Azure Storage: http://nuget.org/packages/WindowsAzure.Storage
Nos próximos posts vamos discutir sobre blobs, tables e queues com o Windows Azure storage.
Por
MSc. Fernando Henrique Inocêncio Borba Ferreira
Microsoft Most Valuable Professional – Visual C#
Revisão
Itamar Nunes
Referências
Developing Cloud Applications with Windows Azure Storage – Paul Mehner
http://www.windowsazure.com/en-us/manage/services/storage/
http://fabriciosanchez.com.br/2/windows-azure-entendendo-o-conceito-de-storage/
http://www.windowsazure.com/en-us/develop/net/how-to-guides/blob-storage/
Eu sugeri o uso do Azure Storage para um projeto que estou participando. Muito afim de experimentar esse serviço 😀
Parabéns pelo artigo!
Ai sim! Windows Azure storage é bacana pra caramba. Estou gostando dos resultados que tenho obtido com os meus testes 🙂
Vlw por postar!
[…] Para ter uma visão mais geral sobre o Windows Azure storage leia este link: https://ferhenriquef.com/2013/05/16/windows-azure-storage/ […]