Escolher uma solução de armazenamento no Azure

Concluído

Escolher a solução de armazenamento correta pode levar a um melhor desempenho, a uma economia de custos e a uma melhor capacidade de gerenciamento. Cada tipo de dados tem diferentes requisitos de armazenamento. Cabe a você determinar a melhor solução de armazenamento para os tipos de dados usados pela sua empresa. Considere sempre o tipo de dados, as operações necessárias, a latência esperada e a necessidade de suporte transacional.

Aqui, você aplicará o que aprendeu sobre os dados no cenário de varejo online e encontrará o melhor serviço do Azure para cada conjunto de dados.

Dados do catálogo de produtos

Classificação de dados: semiestruturados, devido à necessidade de estender ou modificar o esquema para novos produtos.

Operações: Os clientes precisam de uma grande quantidade de operações de leitura, com a capacidade de consultar vários campos no banco de dados. Além disso, a empresa precisa de uma grande quantidade de operações de gravação para controlar o estoque em constante mudança.

Latência e produtividade: alta produtividade e baixa latência.

Suporte transacional: como os dados do produto estão vinculados ao pagamento e ao inventário, o suporte transacional é necessário.

O Azure Cosmos DB dá suporte a dados semiestruturados ou dados NoSQL por padrão. Portanto, o suporte a novos campos, como o campo "Habilitado para Bluetooth" ou qualquer outro de que você precise no futuro, é algo que você pode fazer com o Azure Cosmos DB.

O Azure Cosmos DB dá suporte ao SQL para consultas, e todas as propriedades são indexadas por padrão. Você pode criar consultas para que seus clientes possam filtrar por qualquer propriedade no catálogo.

O Azure Cosmos DB também está em conformidade com ACID, portanto, você pode ter certeza de que as transações serão concluídas de acordo com esses requisitos rigorosos. Um conector OLTP está disponível para o Azure Cosmos DB.

Como uma vantagem adicional, você também pode usar o Azure Cosmos DB para replicar seus dados com facilidade em qualquer lugar do mundo. Se o seu site de comércio eletrônico tiver usuários concentrados nos EUA, na França e na Inglaterra, você poderá replicar seus dados nos datacenters dessas regiões. A latência é reduzida porque você moveu fisicamente os dados para mais perto dos usuários.

Mesmo com os dados replicados no mundo todo, você pode escolher um dos cinco níveis de consistência. Ao escolher o nível de consistência correto, você pode determinar as vantagens e desvantagens entre consistência, disponibilidade, latência e produtividade. Você pode usar a escala vertical para lidar com o aumento da demanda do cliente durante horários de pico de compras ou a redução vertical durante períodos menos movimentados para reduzir os custos.

Por que não outros serviços do Azure?

O Banco de Dados SQL do Azure será uma excelente opção para esse conjunto de dados se você puder identificar o subconjunto de propriedades que são comuns à maioria dos produtos e as propriedades variáveis que podem não existir em alguns produtos. Use o Banco de Dados SQL do Azure para combinar dados estruturados nas colunas e dados semiestruturados armazenados como colunas JSON que possam ser estendidas com facilidade. O Banco de Dados SQL do Azure pode fornecer vários dos mesmos benefícios do Azure Cosmos DB. No entanto, oferece poucos benefícios se a estrutura dos dados é alterada em entidades diferentes e você não pode predefinir um conjunto de propriedades comuns que são repetidas na maioria das entidades. Ao contrário do Azure Cosmos DB, que indexa cada propriedade nos documentos, o Banco de Dados SQL do Azure, precisa definir explicitamente as propriedades em documentos semiestruturados que devem ser indexadas. O Azure Cosmos DB é uma melhor opção para dados altamente não estruturados e variáveis, em que você não pode prever as propriedades que devem ser indexadas. O Banco de Dados SQL do Azure dá suporte ao OLTP.

Outros serviços do Azure, como o armazenamento de Tabelas do Azure, o Apache HBase no Azure HDInsight e o Cache do Azure para Redis, também podem armazenar dados NoSQL. Neste cenário, os usuários desejam consultar em vários campos e, portanto, o Azure Cosmos DB é a melhor opção. O Azure Cosmos DB indexa todos os campos por padrão, enquanto outros serviços do Azure são limitados nos dados indexados. A consulta em campos não indexados resulta na redução do desempenho.

Fotos e vídeos

Classificação de dados: não estruturados.

Operações: Recupere somente por ID, os clientes exigem um alto número de operações de leitura com baixa latência e criam operações, e as operações de atualização serão menos frequentes e poderão ter uma latência maior do que as operações de leitura.

Latência e produtividade: as recuperações por ID precisam dar suporte à baixa latência e à alta produtividade. As operações de criação e de atualização podem ter uma latência maior do que as operações de leitura.

Suporte transacional: não é necessário.

O Armazenamento de Blobs do Azure dá suporte ao armazenamento de arquivos, como fotos e vídeos. Ele também funciona com a Rede de Distribuição de Conteúdo do Azure armazenando em cache o conteúdo usado com maior frequência e armazenando-o em servidores de borda. A Rede de Distribuição de Conteúdo do Azure reduz a latência ao fornecer essas imagens aos usuários.

No Armazenamento de Blobs do Azure, você também pode mover imagens da camada de armazenamento frequente para a camada de armazenamento esporádico ou para a camada de armazenamento de arquivos. Isso ajuda a reduzir os custos e concentra a taxa de transferência nas imagens e vídeos exibidos com mais frequência.

Por que não outros serviços do Azure?

Você pode carregar suas imagens no Serviço de Aplicativo do Azure, para que o mesmo servidor que executa o aplicativo forneça as imagens. Essa solução funciona se você não tem muitos arquivos. Mas se você tiver muitos arquivos e um público-alvo global, terá um melhor desempenho se usar o Armazenamento de Blobs do Azure com a Rede de Distribuição de Conteúdo do Azure.

Dados de negócios

Classificação de dados: estruturados.

Operações: consultas analíticas, complexas e somente leitura entre vários bancos de dados.

Latência e produtividade: alguma latência nos resultados é esperada de acordo com a natureza complexa das consultas.

Suporte transacional: não é necessário.

Os analistas de negócios provavelmente consultarão dados corporativos usando SQL, pois eles têm mais conhecimento dessa linguagem de consulta do que qualquer outra pessoa. Você pode usar o Banco de Dados SQL do Azure como uma solução apenas. No entanto, se você o combinar com o Azure Analysis Services, os analistas de dados poderão criar um modelo semântico com base nos dados do Banco de Dados SQL do Azure. Em seguida, os analistas de dados podem compartilhar o modelo com os usuários empresariais, que só precisam se conectar ao modelo por meio de uma ferramenta de BI (business intelligence) a fim de explorar imediatamente os dados e obter insights. O Azure Analysis Services dá suporte ao OLAP.

Por que não outros serviços do Azure?

O Azure Synapse Analytics dá suporte a soluções OLAP e consultas SQL. No entanto, os analistas de negócios precisarão realizar consultas entre bancos de dados, às quais o Azure Synapse Analytics não dá suporte.

O Azure Stream Analytics é uma ótima maneira de analisar dados e transformá-los em insights acionáveis, mas ele se concentra nos dados em tempo real que são transmitidos por streaming de entrada. Nesse cenário, os analistas de negócios estão considerando apenas os dados históricos.