Comme j'ai récemment commencé à me mêler à Windows Azure
, Je suis arrivé à une situation où, lequel choisir entre les Block Blob
& Page Blob
. Je suis en train de télécharger des fichiers texte, csv ou dat sur un stockage d'objets blob, puis de créer un programme MapReduce
à l'aide de mon programme C #. Oui, j'ai lu des articles tels que article1 , article2 .
Mais ne pouvait pas avoir une idée claire d'eux. Pour raccourcir, Block Blob vs Page Blob
. Toute aide serait appréciée.
Les différences sont très bien documentées sur msdn, ici . TL; DR:
Remarque: les blobs de page Premium ont des tailles spécifiques (contrairement aux blobs de page normaux, qui peuvent avoir n'importe quelle taille jusqu'à 8 To).
Le stockage Premium fournit des IOPS et un débit garantis, en fonction de la taille de blob de page choisie (de 120 IOPS + 25 Mo/s à 32 Go à 7500 IOPS + 250 Mo/s à 2048 Go et 4096 Go). Des détails spécifiques concernant le débit IOPS + sont documentés ici .
Réponse de Davids souligne les différences entre les blobs de page et de bloc. Cependant, il y a aussi Append Blobs . En bref:
Blob blobs vous permet de télécharger efficacement de gros blobs. Les blobs de bloc sont composés de blocs, chacun d'eux étant identifié par un ID de bloc. Vous créez ou modifiez un blob de bloc en écrivant un ensemble de blocs et en les validant à l'aide de leurs ID de bloc. Chaque bloc peut avoir une taille différente, jusqu'à un maximum de 100 Mo (4 Mo pour les demandes utilisant REST antérieures au 2016-05-31), et un blob de bloc peut inclure jusqu'à 50 000 blocs La taille maximale d'un bloc de blocs est donc légèrement supérieure à 4,75 TB (100 Mo x 50 000 blocs). Pour REST avant 2016-05-31 , la taille maximale d'un bloc de blocs est légèrement supérieure à 195 Go (4 Mo sur 50 000 blocs).
Les blobs de page sont un ensemble de pages de 512 octets optimisées pour les opérations de lecture et d'écriture aléatoires. Pour créer un blob de page, vous initialisez le blob de page et spécifiez la taille maximale de ce blob. Pour ajouter ou mettre à jour le contenu d'un blob de page, vous écrivez une ou plusieurs pages en spécifiant un décalage et une plage alignés sur les limites de page de 512 octets. Un blob d'écriture dans une page ne peut écraser qu'une page, certaines pages ou jusqu'à 4 Mo de blob de page. Les blobs de page sont écrits sur place et immédiatement associés au blob. La taille maximale d'un blob de page est de 1 To.
Blobs de blocs Les blobs de blocs permettent de contenir des fichiers texte ou binaires jusqu'à ~ 5 TB (50 000 blocs de 100 Mo Le principal cas d’utilisation des blocs est le stockage de fichiers lus du début à la fin, tels que des fichiers multimédias ou des fichiers image pour sites Web. Ils sont nommés block blobs
parce que les fichiers de plus de 100 Mo doivent être téléchargés sous forme de petits blocs, qui sont ensuite consolidés (ou validés) dans le blob final.
Blobs de page
Les blobs de page sont utilisés pour contenir des fichiers à accès aléatoire d’une taille maximale de 8 TB. Les blobs de page sont utilisés principalement comme stockage de sauvegarde des disques durs virtuels utilisés pour fournir des disques durables à Azure Machines virtuelles (ordinateurs virtuels Azure): elles sont nommées page blobs
parce qu'ils fournissent un accès en lecture/écriture aléatoire à des pages de 512 octets.
Ajouter des blobs
Les objets d’ajout sont composés de blocs semblables à ceux-ci, mais ils sont optimisés pour les opérations d’ajout. Celles-ci sont fréquemment utilisées pour enregistrer des informations provenant d'une ou de plusieurs sources dans le même blob. Par exemple, vous pouvez écrire toute votre journalisation de trace sur le même objet blob d’application pour une application exécutée sur plusieurs ordinateurs virtuels. Un seul blob d’append peut atteindre 195 Go
De Microsoft Block blobs inclure des fonctionnalités qui vous aident à gérer des fichiers volumineux sur des réseaux. Avec un blob de bloc, vous pouvez télécharger plusieurs blocs en parallèle pour réduire le temps de téléchargement. Chaque bloc peut inclure un hachage MD5 pour vérifier le transfert, afin que vous puissiez suivre la progression du téléchargement et renvoyer des blocs au besoin.
Quand utiliser
Azure Files fournit une interface SMB, des bibliothèques clientes et une REST qui permet d'accéder aux fichiers stockés où que vous soyez). Vous souhaitez "lever et déplacer" une application au nuage qui utilise déjà les API de système de fichiers natif pour partager des données entre celle-ci et d'autres applications s'exécutant dans Azure.
Azure Blobs Fournit des bibliothèques clientes et une interface REST) permettant de stocker des données non structurées et d'y accéder à grande échelle dans des blobs de blocs.
Azure Disks Fournit des bibliothèques clientes et une interface REST qui permet de stocker des données de manière permanente et d'accéder à un disque dur virtuel connecté. Vous souhaitez lever et déplacer des applications qui utilisent des API de système de fichiers natif pour lire et écrire des données sur des disques persistants.