Escolher uma solução de armazenamento no Azure

Concluído

Escolher a solução de armazenamento correta pode levar a um melhor desempenho, à poupança nos custos e a uma melhor gestão. Cada tipo de dados tem requisitos de armazenamento diferentes. É seu trabalho determinar qual solução de armazenamento é melhor para os tipos de dados que sua empresa usa. Deve sempre ter em conta o tipo de dados, as operações necessárias, a latência esperada e a necessidade de suporte transacional.

Aqui, você aplica o que aprendeu sobre os dados em seu cenário de varejo online e encontra o melhor serviço do Azure para cada conjunto de dados.

Dados de catálogo de produtos

Classificação de dados: semi-estruturada devido à necessidade de estender ou modificar o esquema para novos produtos.

Operações: Os clientes exigem um grande número de operações de leitura, com a capacidade de consultar muitos campos dentro do banco de dados. Além disso, o negócio requer um alto número de operações de gravação para acompanhar seu estoque em constante mudança.

Latência e taxa de transferência: alta taxa de transferência e baixa latência.

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

O Azure Cosmos DB dá suporte a dados semiestruturados ou NoSQL por design. Portanto, dar suporte a novos campos, como o campo "habilitado para Bluetooth" ou quaisquer novos campos que você precise no futuro, é algo que você pode fazer com o Azure Cosmos DB.

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

O Azure Cosmos DB cumpre também as normas do ACID, pelo que pode ter a certeza de que as suas transações são efetuadas de acordo com esses requisitos estritos. 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 facilmente seus dados em qualquer lugar do mundo. Se o seu site de comércio eletrônico tiver usuários concentrados nos EUA, França e Inglaterra, você poderá replicar seus dados para datacenters nessas regiões. A latência é reduzida porque você moveu fisicamente os dados para mais perto de seus usuários.

Mesmo com dados replicados em todo o mundo, você pode escolher entre um dos cinco níveis de consistência. Ao escolher o nível de consistência correto, pode determinar as desvantagens relacionadas entre consistência, disponibilidade, latência e débito. Você pode aumentar a escala para lidar com a maior demanda dos clientes durante os horários de pico de compras ou reduzir a escala durante os horários mais lentos para economizar custos.

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

O Banco de Dados SQL do Azure seria uma excelente opção para esse conjunto de dados se você pudesse identificar o subconjunto de propriedades que são comuns para a maioria dos produtos e as propriedades variáveis que podem não existir em alguns produtos. Você pode usar o Banco de Dados SQL do Azure para combinar dados estruturados nas colunas e dados semiestruturados armazenados como colunas JSON que podem ser facilmente estendidas. O Banco de Dados SQL do Azure pode fornecer muitos dos mesmos benefícios do Azure Cosmos DB. No entanto, ele oferece poucos benefícios se a estrutura de seus dados estiver mudando em entidades diferentes e você não puder predefinir um conjunto de propriedades comuns que são repetidas na maioria das entidades. Ao contrário do Azure Cosmos DB, que indexa todas as propriedades nos documentos, o Banco de Dados SQL do Azure precisa definir explicitamente quais propriedades em documentos semiestruturados devem ser indexadas. O Azure Cosmos DB é uma escolha melhor para dados altamente não estruturados e variáveis nos quais você não pode prever quais propriedades devem ser indexadas. A Base de Dados SQL do Azure suporta OLTP.

Outros serviços do Azure, como o armazenamento de tabela 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 utilizadores irão querer consultar em vários campos, pelo que 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 que indexam. A consulta em campos não indexados resulta em desempenho reduzido.

Fotografias e vídeos

Classificação dos dados: Não estruturado.

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

Latência e taxa de transferência: as recuperações por ID precisam suportar baixa latência e alta taxa de transferência. As operações de criação e atualização podem ter 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 Entrega de Conteúdo do Azure armazenando em cache o conteúdo usado com mais freqüência e, em seguida, armazenando-o em servidores de borda. A Rede de Entrega de Conteúdo do Azure reduz a latência ao fornecer essas imagens aos seus usuários.

No Armazenamento de Blobs do Azure, você também pode mover imagens da camada de armazenamento ativo para a camada de armazenamento legal ou a camada de armazenamento de arquivamento. Isso ajuda a reduzir custos e focar a taxa de transferência nas imagens e vídeos visualizados 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 seu aplicativo sirva suas imagens. Esta solução iria funcionar se não tivesse muitos ficheiros, Mas se você tiver muitos arquivos e um público global, obterá melhor desempenho usando o Armazenamento de Blobs do Azure com a Rede de Entrega de Conteúdo do Azure.

Dados comerciais

Classificação dos dados: Estruturado.

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

Latência e taxa de transferência: alguma latência nos resultados é esperada com base na natureza complexa das consultas.

Suporte transacional: Não necessário.

Os analistas de negócios provavelmente consultarão dados corporativos usando SQL, pois são mais conhecedores dessa linguagem de consulta do que qualquer outra. Você pode usar o Banco de Dados SQL do Azure como uma solução por si só. No entanto, se você emparelhá-lo com o Azure Analysis Services, os analistas de dados poderão criar um modelo semântico sobre os dados no Banco de Dados SQL do Azure. Os analistas de dados podem então compartilhar o modelo com usuários de negócios, que precisam apenas se conectar ao modelo a partir de qualquer ferramenta de business intelligence (BI) para explorar imediatamente os dados e obter insights. O Azure Analysis Services dá suporte a OLAP.

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

O Azure Synapse Analytics dá suporte a soluções OLAP e consultas SQL, mas seus analistas de negócios precisarão executar consultas entre bancos de dados, que o Azure Synapse Analytics não suporta.

O Azure Stream Analytics é uma excelente forma de analisar e transformá-los em insights práticos, mas foca-se em dados em tempo real que estão a chegar. Neste cenário, os analistas comerciais só analisam dados históricos.