Exportar (0) Imprimir
Expandir Tudo

Noções básicas sobre blobs de bloco e blobs de página

Atualizado: dezembro de 2014

O serviço de armazenamento oferece dois tipos de blobs, blobs de bloco e blobs de página. Você especifica o tipo de blob quando cria o blob. Depois que o blob tiver sido criado, seu tipo não poderá ser alterado e ele poderá ser atualizado somente usando operações adequadas para o tipo de blob em questão, isto é, gravar um bloco ou listas de blocos em um blob de bloco e gravar páginas em um blob de página.

Todos os blobs refletem as alterações confirmadas imediatamente. Cada versão do blob tem uma marca exclusiva, chamada ETag, que pode ser usada com condições de acesso para garantir que você altere apenas uma instância específica do blob.

Qualquer blob pode ser concedido para acesso de gravação exclusivo. Quando um blob é concedido, somente as chamadas que incluem a ID de concessão atual podem modificar o blob ou (para blobs de bloco) seus blocos.

Qualquer blob pode ser duplicado em um instantâneo. Para obter informações sobre instantâneos, consulte Criando um instantâneo de um blob.

noteObservação
Os blobs no emulador de armazenamento do Azure são limitados a 2 GB.

Os blobs de bloco permitem atualizar blobs grandes eficientemente. Os blobs de bloco são compostos por blocos, cada um dos quais é identificado por uma ID de bloco. Você cria ou modifica um blob de bloco escrevendo um conjunto de blocos e confirmando-os por suas IDs de bloco. Cada bloco pode ter um tamanho diferente de até, no máximo, 4 MB. O tamanho máximo de um blob de bloco é 200 GB e pode incluir até 50.000 blocos. Se estiver gravando um blob de bloco que não tenha mais de 64 MB, você poderá carregá-lo inteiramente com uma única operação de gravação. Os clientes de armazenamento são padronizados para um carregamento de bloco único de no máximo 32 MB, que pode ser configurado usando a propriedade SingleBlobUploadThresholdInBytes. Quando um carregamento de blob de bloco for maior que o valor nessa propriedade, os clientes de armazenamento dividirão o arquivo em blocos. É possível definir o número de threads usados para carregar os blocos em paralelo usando a propriedade ParallelOperationThreadCount.

Ao carregar um bloco em um blob na sua conta de armazenamento, ele é associado ao blob de bloco especificado, mas não se torna parte do blob até que você confirme uma lista de blocos que inclua a ID do novo bloco. Os novos blocos permanecem em um estado não confirmado até que sejam confirmados ou descartados especificamente. A gravação de um bloco não atualiza a hora em que um blob existente foi modificado pela última vez.

Os blobs de bloco incluem recursos que ajudam a gerenciar arquivos grandes pelas redes. Com um blob de bloco, é possível carregar vários blocos paralelamente para diminuir o tempo de carregamento. Cada bloco pode incluir um hash MD5 para verificar a transferência, de modo que seja possível rastrear o progresso do carregamento e reenviar os blocos se necessário. Você pode carregar blocos em qualquer ordem e determinar a sequência na etapa de confirmação da lista de blocos final. Também é possível carregar um novo bloco para substituir um bloco não confirmado existente da mesma ID do bloco. Você terá uma semana para confirmar os blocos para um blob antes deles serem descartados. Todos os blocos não confirmados também são descartados quando uma operação de confirmação da lista de blocos ocorre, mas não os inclui.

Você pode modificar um blob de bloco existente inserindo, substituindo ou excluindo blocos existentes. Após carregar os blocos que foram alterados, é possível confirmar uma nova versão do blob ao confirmar os novos blocos com os blocos existentes que deseja manter usando uma única operação de confirmação. Para inserir o mesmo intervalo de bytes em dois locais diferentes do blob confirmado, você pode confirmar o mesmo bloco em dois lugares na mesma operação de confirmação. Para qualquer operação de confirmação, se algum bloco não for encontrado, a operação de confirmação inteira falhará com um erro e o blob não será modificado. Qualquer confirmação de bloco substitui as propriedades e os metadados existentes do blob, além de descartar todos os blocos não confirmados.

As IDs de bloco são cadeias de caracteres de comprimento igual em um blob. O código de cliente do bloco geralmente usa a codificação de base 64 para padronizar cadeias de caracteres em tamanhos iguais. Ao usar a codificação de base 64, a cadeia de caracteres pré-codificada deve ter 64 bytes ou menos. Os valores da ID de bloco podem ser duplicados em blobs diferentes. Um blob pode ter até 100.000 blocos não confirmados, mas seu tamanho total não pode exceder 400 GB.

Se você gravar um bloco para um blob que não existe, um novo blob de bloco será criado, com um comprimento de zero bytes. Esse blob aparecerá em listas de blobs que incluem blobs não confirmados. Se você não confirmar nenhum bloco para esse blob, ele e seus blocos não confirmados serão descartados uma semana após o último carregamento bem-sucedido do bloco. Todos os blocos não confirmados também são descartados quando um novo blob com o mesmo nome é criado usando uma única etapa (em vez do carregamento de bloco em duas etapas e depois o processo de confirmação).

Os blobs de página são uma coleção de páginas de 512 bytes otimizadas para operações aleatórias de gravação e leitura. Para criar um blob de página, inicialize-o e especifique o tamanho máximo que ele terá. Para adicionar ou atualizar o conteúdo de um blob de página, grave uma página, ou páginas, especificando um deslocamento e um intervalo que se alinhem aos limites de página de 512 bytes. Uma gravação em um blob de página pode substituir apenas uma página, algumas páginas, ou até 4 MB do blob de página. As gravações nos blobs de página acontecem in-loco e são imediatamente confirmadas no blob. O tamanho máximo para um blob de páginas é 1 TB.

Com a introdução de novos armazenamentos do Premium, o Microsoft Azure agora oferece dois tipos de armazenamento durável: Armazenamento Premium e Armazenamento Padrão. O armazenamento Premium foi desenvolvido especificamente para cargas de trabalho de máquina virtual do Azure que exigem alto desempenho consistente e baixa latência. Atualmente o armazenamento Premium está disponível apenas para armazenar dados em discos usados por máquinas virtuais do Azure. Esses discos são apoiados por blobs de página no armazenamento do Azure. Para obter informações detalhadas, consulte Armazenamento Premium: armazenamento de alto desempenho para cargas de trabalho de máquina virtual do Azure. Para obter informações sobre as metas de escalabilidade do armazenamento Premium, consulte Escalabilidade e Metas de Desempenho do Armazenamento do Azure.

Consulte também

Mostrar:
© 2015 Microsoft