Atualizando o Armazenamento de Blobs do Azure com os recursos do Armazenamento do Azure Data Lake
Este artigo ajuda você a habilitar um namespace hierárquico e desbloquear recursos como segurança em nível de arquivo e diretório e operações mais rápidas. Esses recursos são amplamente usados por cargas de trabalho de análise de big data e são chamados coletivamente de Armazenamento Azure Data Lake. Os recursos mais populares incluem:
Maior taxa de transferência, operações de entrada/saída por segundo (IOPS) e limites de capacidade de armazenamento.
Operações mais rápidas (como operações de renomeação) porque você pode operar em URIs de nó individual.
Mecanismo de consulta eficiente que transfere apenas os dados necessários para executar uma determinada operação.
Segurança no nível de contêiner, diretório e arquivo.
Para saber mais sobre eles, consulte Introdução ao Armazenamento do Azure Data Lake.
Este artigo ajuda você a avaliar o impacto em cargas de trabalho, aplicativos, custos, integrações de serviços, ferramentas, recursos e documentação. Certifique-se de analisar esses impactos cuidadosamente. Quando estiver pronto para atualizar uma conta, consulte este guia passo a passo: Atualizar o Armazenamento de Blobs do Azure com os recursos do Armazenamento do Azure Data Lake.
Importante
Uma atualização é definitiva. Não há forma de reverter a conta depois de ter feito a atualização. Recomendamos que você valide sua atualização em um ambiente que não seja de produção.
Impacto na disponibilidade
Certifique-se de planejar algum tempo de inatividade em sua conta enquanto o processo de atualização é concluído. As operações de gravação são desativadas enquanto sua conta está sendo atualizada. As operações de leitura não estão desativadas, mas é altamente recomendável que você suspenda as operações de leitura, pois essas operações podem desestabilizar o processo de atualização.
Impacto em cargas de trabalho e aplicativos
As APIs de Blob funcionam com contas que têm um namespace hierárquico, portanto, a maioria dos aplicativos que interagem com sua conta usando essas APIs continuam a funcionar sem modificações.
Para obter uma lista completa de problemas e soluções alternativas, consulte Problemas conhecidos com APIs de armazenamento de Blob.
Todas as cargas de trabalho do Hadoop que usam o driver WASB (driver de Blob de Armazenamento) do Windows Azure devem ser modificadas para usar o driver do Sistema de Arquivos de Blob do Azure (ABFS). Ao contrário do driver WASB que faz solicitações para o ponto de extremidade do serviço Blob, o driver ABFS fará solicitações para o ponto de extremidade do Armazenamento Data Lake da sua conta.
Ponto de extremidade do Armazenamento Data Lake
Sua conta atualizada terá um ponto de extremidade de armazenamento Data Lake. Você pode encontrar a URL desse ponto de extremidade no portal do Azure abrindo a página Propriedades da sua conta.
Você não precisa modificar seus aplicativos e cargas de trabalho existentes para usar esse ponto de extremidade. O acesso multiprotocolo no Armazenamento Data Lake possibilita que você use o ponto de extremidade de serviço Blob ou o ponto de extremidade de armazenamento Data Lake para interagir com seus dados.
Os serviços e ferramentas do Azure (como o AzCopy) podem usar o ponto de extremidade de armazenamento do Data Lake para interagir com os dados em sua conta de armazenamento. Além disso, você precisará usar esse novo ponto de extremidade para todas as operações executadas usando os SDKs de Armazenamento Data Lake, comandos do PowerShell ou comandos da CLI do Azure.
Directories
Uma conta de armazenamento de Blob que não tem um namespace hierárquico organiza arquivos em um paradigma simples, em vez de um paradigma hierárquico. Os blobs são organizados em diretórios virtuais para imitar uma estrutura de pastas. Um diretório virtual faz parte do nome do blob e é indicado pelo caractere delimitador. Como um diretório virtual faz parte do nome do blob, ele não existe como um objeto independente.
Sua nova conta tem um namespace hierárquico. Isso significa que os diretórios não são virtuais. Eles são objetos concretos e independentes sobre os quais você pode operar diretamente. Um diretório pode existir sem conter nenhum arquivo. Quando você exclui um diretório, todos os arquivos nesse diretório são removidos. Você não precisa mais excluir cada blob individual antes que o diretório desapareça.
Metadados de Blob
Antes da migração, os metadados do blob são associados ao nome do blob junto com todo o seu caminho virtual. Após a migração, os metadados são associados apenas ao blob. O caminho virtual para o blob torna-se uma coleção de diretórios. Os metadados de um blob não são aplicados a nenhum desses diretórios.
Colocar operações
Quando você carrega um blob e o caminho especificado inclui um diretório que não existe, a operação cria esse diretório e adiciona o blob a ele. Esse comportamento é lógico no contexto de uma estrutura hierárquica de pastas. Em uma conta de armazenamento de Blob que não tem um namespace hierárquico, a operação não cria um diretório. Em vez disso, o nome do diretório é adicionado ao nome do blob.
Listar operações
Uma operação List Blobs retorna diretórios e arquivos. Cada um é listado separadamente. Os diretórios aparecem na lista como blobs de comprimento zero. Em uma conta de armazenamento de Blob que não tem um namespace hierárquico, uma operação List Blobs retorna apenas blobs e não diretórios. Se você usar a operação Data Lake Storage Path - List , os diretórios aparecerão como entradas de diretório e não como blobs de comprimento zero.
A ordem da lista também é diferente. Diretórios e arquivos aparecem em ordem de pesquisa detalhada. Uma conta de armazenamento de Blob que não tem um namespace hierárquico lista blobs em ordem lexicográfica .
Operações para renomear blobs
Renomear um blob é muito mais eficiente porque os aplicativos cliente podem renomear um blob em uma única operação. Em contas que não têm um namespace hierárquico, ferramentas e aplicativos precisam copiar um blob e excluir o blob de origem.
Nota
Quando você renomeia um blob, a hora da última modificação do blob não é atualizada. Isso porque o conteúdo do blob permanece inalterado.
Impacto nos custos
Não há custo para realizar a atualização. Após a atualização, o custo para armazenar seus dados não muda, mas o custo de uma transação muda. Utilize estas páginas para avaliar os custos de comparação.
Preços de blob de bloco.
Preços do Armazenamento do Azure Data Lake.
Você também pode usar a opção Contas de Armazenamento na Calculadora de Preços do Azure para estimar o impacto dos custos após uma atualização.
Além das alterações de preços, considere a economia de custos associada aos recursos de armazenamento Data Lake. O total geral do custo de propriedade normalmente diminui devido ao maior rendimento e às operações otimizadas. Uma taxa de transferência mais alta permite transferir mais dados em menos tempo. Um namespace hierárquico melhora a eficiência das operações.
Impacto nas integrações de serviços
Embora a maioria das integrações de serviço do Azure continue a funcionar depois que você habilitar esses recursos, alguns deles permanecem em visualização ou ainda não são suportados. Consulte Serviços do Azure que dão suporte ao Armazenamento do Azure Data Lake para entender o suporte atual para integrações de serviço do Azure com o Armazenamento Data Lake.
Impacto nas ferramentas, recursos e documentação
Após a atualização, a maneira como você interage com alguns recursos mudará. Esta seção descreve essas alterações.
O suporte ao recurso Armazenamento de Blobs
Embora a maioria dos recursos de armazenamento de Blob continue a funcionar depois que você habilitar esses recursos, alguns deles permanecem em visualização ou ainda não são suportados.
Consulte Recursos de Armazenamento de Blob disponíveis no Armazenamento do Azure Data Lake para entender o suporte atual para recursos de armazenamento de Blob com o Armazenamento Data Lake.
Registos de diagnósticos
Se você habilitar o log de análise de armazenamento, agora terá a opção de usar o formato de log da versão 2.0.
Você não precisa usar esta nova versão. No entanto, todas as operações aplicadas ao ponto de extremidade de armazenamento do Data Lake são registradas somente nos logs da versão 2.0. Alguns serviços e ferramentas que você usa (como o AzCopy) usarão esse ponto de extremidade para executar operações em sua conta. Para garantir que você capture informações de log de todas as atividades, considere usar o formato de log da versão 2.0.
Gerenciamento do ciclo de vida do Azure
Ele efetivamente explica que as políticas para mover ou excluir todos os blobs em um diretório não excluirão o diretório em si até que todos os blobs dentro dele sejam removidos, e o diretório será removido no dia seguinte.
Event Grid
Sua nova conta tem dois pontos de extremidade: o ponto de extremidade de armazenamento Data Lake e o ponto de extremidade do serviço Blob. Serviços, ferramentas e aplicativos podem usar qualquer ponto de extremidade para operar em seus dados. Como resultado, uma resposta de evento retornada pela Grade de Eventos pode mostrar qualquer um desses dois pontos de extremidade no campo url que descreve o blob afetado.
O JSON a seguir mostra a url de um blob que aparece na resposta do evento quando um blob é criado usando o ponto de extremidade do serviço Blob.
{
"topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
"subject": "/blobServices/default/containers/test-container/blobs/new-file.txt",
"eventType": "Microsoft.Storage.BlobCreated",
"eventTime": "2017-06-26T18:41:00.9584103Z",
"id": "831e1650-001e-001b-66ab-eeb76e069631",
"data": {
"api": "PutBlockList",
"clientRequestId": "6d79dbfb-0e37-4fc4-981f-442c9ca65760",
"requestId": "831e1650-001e-001b-66ab-eeb76e000000",
"eTag": "\"0x8D4BCC2E4835CD0\"",
"contentType": "text/plain",
"contentLength": 524288,
"blobType": "BlockBlob",
"url": "https://my-storage-account.blob.core.windows.net/testcontainer/new-file.txt",
"sequencer": "00000000000004420000000000028963",
"storageDiagnostics": {
"batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
}
},
"dataVersion": "",
"metadataVersion": "1"
}
O JSON a seguir mostra a url de um blob que aparece na resposta do evento quando um blob é criado usando o ponto de extremidade de armazenamento Data Lake.
{
"topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
"subject": "/blobServices/default/containers/my-file-system/blobs/new-file.txt",
"eventType": "Microsoft.Storage.BlobCreated",
"eventTime": "2017-06-26T18:41:00.9584103Z",
"id": "831e1650-001e-001b-66ab-eeb76e069631",
"data": {
"api": "CreateFile",
"clientRequestId": "6d79dbfb-0e37-4fc4-981f-442c9ca65760",
"requestId": "831e1650-001e-001b-66ab-eeb76e000000",
"eTag": "\"0x8D4BCC2E4835CD0\"",
"contentType": "text/plain",
"contentLength": 0,
"contentOffset": 0,
"blobType": "BlockBlob",
"url": "https://my-storage-account.dfs.core.windows.net/my-file-system/new-file.txt",
"sequencer": "00000000000004420000000000028963",
"storageDiagnostics": {
"batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
}
},
"dataVersion": "2",
"metadataVersion": "1"
}
Se seus aplicativos usarem a Grade de Eventos, talvez seja necessário modificá-los para levar isso em consideração.
Explorador de Armazenamento
Os botões a seguir ainda não aparecem na Faixa de Opções do Gerenciador de Armazenamento do Azure:
Botão | Razão |
---|---|
Copiar URL | Ainda não implementado |
Gerir instantâneos | Ainda não implementado |
Anular Eliminação | Depende dos recursos de armazenamento de Blob ainda não suportados com o Data Lake Storage |
Os botões a seguir se comportam de forma diferente na sua nova conta.
Botão | Comportamento de armazenamento de Blob | Comportamento do armazenamento Data Lake |
---|---|---|
Pasta | A pasta é virtual e desaparece se você não adicionar arquivos a ela. | A pasta existe mesmo sem arquivos adicionados a ela. |
Mudar o nome | Resulta em uma cópia e, em seguida, uma exclusão do blob de origem | Renomeia o mesmo blob. Muito mais eficiente. |
Documentação
Você pode encontrar orientações para usar os recursos do Armazenamento Data Lake aqui: Introdução ao Armazenamento do Azure Data Lake.
Nada mudou em relação a onde você encontra a orientação para todos os recursos de armazenamento de Blob existentes. Essa orientação está aqui: Introdução ao armazenamento de Blob do Azure.
À medida que você se move entre conjuntos de conteúdo, você notará algumas pequenas diferenças terminológicas. Por exemplo, o conteúdo apresentado no conteúdo do Armazenamento Data Lake pode usar o termo arquivo e sistema de arquivos em vez de blob e contêiner. Os termos arquivo e sistema de arquivos estão profundamente enraizados no mundo da análise de big data, onde o armazenamento Data Lake tem uma longa história. O conteúdo contém esses termos para mantê-lo relacionável com esses públicos. Estes termos não descrevem coisas separadas.
Próximos passos
Quando estiver pronto para atualizar sua conta de armazenamento para incluir recursos de Armazenamento Data Lake, consulte este guia passo a passo.