Escolher uma solução de armazenamento no Azure
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.
Serviço recomendado: Azure Cosmos DB
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.
Serviço recomendado: Armazenamento de Blobs do Azure
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.
Serviço recomendado: Base de Dados SQL do Azure
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.