Přehled objektů blob stránky Azure
Azure Storage nabízí tři typy úložiště objektů blob: objekty blob bloku, doplňovací objekty blob a objekty blob stránky. Objekty blob bloku se skládají z bloků a jsou ideální pro ukládání textových nebo binárních souborů a efektivní nahrávání velkých souborů. Doplňovací objekty blob se také skládají z bloků, ale jsou optimalizované pro operace připojení, což je ideální pro scénáře protokolování. Objekty blob stránky se skládají z 512 bajtů až do celkové velikosti 8 TB a jsou určené pro časté náhodné operace čtení a zápisu. Objekty blob stránky jsou základem disků Azure IaaS. Tento článek se zaměřuje na vysvětlení funkcí a výhod objektů blob stránky.
Objekty blob stránky jsou kolekce 512 bajtů stránek, které poskytují možnost čtení a zápisu libovolných rozsahů bajtů. Objekty blob stránky jsou proto ideální pro ukládání indexových a řídkých datových struktur, jako jsou operační systém a datové disky pro virtuální počítače a databáze. Azure SQL DB například používá objekty blob stránky jako základní trvalé úložiště pro své databáze. Objekty blob stránky se navíc často používají i pro soubory s aktualizacemi založenými na rozsahu.
Klíčové funkce objektů blob stránky Azure jsou jeho rozhraní REST, stálost základního úložiště a možnosti bezproblémové migrace do Azure. Tyto funkce jsou podrobněji popsány v další části. Objekty blob stránky Azure se navíc v současné době podporují ve dvou typech úložiště: Premium Storage a Storage úrovně Standard. Premium Storage je navržená speciálně pro úlohy vyžadující konzistentní vysoký výkon a nízkou latenci, takže objekty blob stránky úrovně Premium jsou ideální pro scénáře úložiště s vysokým výkonem. Účty úložiště úrovně Standard jsou cenově výhodnější pro spouštění úloh, které nerozlišují latenci.
Omezení
Objekty blob stránky můžou používat pouze horkou úroveň přístupu, nemůžou používat vrstvy Studená nebo Archivní. Další informaceoch
Příklady případů použití
Probereme několik případů použití objektů blob stránky, které začínají disky Azure IaaS. Objekty blob stránky Azure jsou páteří platformy virtuálních disků pro Azure IaaS. Virtuální disky s operačním systémem Azure i datové disky se implementují jako virtuální disky, kde se data trvale uchovávají na platformě Azure Storage a pak se doručují virtuálním počítačům za účelem dosažení maximálního výkonu. Disky Azure se uchovávají ve formátu virtuálního pevného disku Hyper-V a ukládají se jako objekt blob stránky ve službě Azure Storage. Kromě použití virtuálních disků pro virtuální počítače Azure IaaS umožňují objekty blob stránky také scénáře PaaS a DBaaS, jako je služba Azure SQL DB, která v současné době používá objekty blob stránky k ukládání dat SQL a umožňují rychlé náhodné operace čtení i zápisu pro databázi. Dalším příkladem by bylo, kdybyste měli službu PaaS pro přístup ke sdíleným médiím pro aplikace pro úpravy videa pro spolupráci, objekty blob stránky umožňují rychlý přístup k náhodným umístěním v médiu. Umožňuje také rychlé a efektivní úpravy a slučování stejných médií více uživateli.
První strana služby Microsoft, jako je Azure Site Recovery, Azure Backup a mnoho vývojářů třetích stran, implementovali špičkové inovace pomocí rozhraní REST objektu blob stránky. Následuje několik jedinečných scénářů implementovaných v Azure:
- Přírůstková správa snímků směrovaná aplikací: Aplikace můžou využívat snímky objektů blob stránky a rozhraní REST API k ukládání kontrolních bodů aplikace bez nákladného duplikování dat. Azure Storage podporuje místní snímky objektů blob stránky, které nevyžadují kopírování celého objektu blob. Tato veřejná rozhraní API snímků také umožňují přístup k rozdílům mezi snímky a jejich kopírování.
- Migrace aplikací a dat z místního prostředí do cloudu: Zkopírujte místní data a pomocí rozhraní REST API zapisujte přímo do objektu blob stránky Azure, zatímco místní virtuální počítač bude dál běžet. Jakmile cíl uchytí, můžete rychle provést převzetí služeb při selhání na virtuální počítač Azure pomocí dat. Tímto způsobem můžete migrovat virtuální počítače a virtuální disky z místního prostředí do cloudu s minimálními výpadky, protože migrace dat probíhá na pozadí, zatímco virtuální počítač nadále používáte a výpadky potřebné pro převzetí služeb při selhání budou krátké (v minutách).
- Sdílený přístup založený na SAS, který umožňuje scénáře, jako je více čtenářů a jeden zapisovač s podporou řízení souběžnosti.
Nespravované disky se vyřazuje z důchodu. Podrobnosti najdete v tématu Migrace nespravovaných disků Azure do 30. září 2025.
Ceny
Oba typy úložiště nabízené s objekty blob stránky mají vlastní cenový model. Objekty blob stránky Úrovně Premium se řídí cenovým modelem spravovaných disků, zatímco standardní objekty blob stránky se účtují podle využité velikosti a každé transakce. Další informace najdete na stránce s cenami služby Azure Page Blobs.
Funkce objektů blob stránky
REST API
Pokud chcete začít s vývojem pomocí objektů blob stránky, přečtěte si následující dokument. Podívejte se například na přístup k objektům blob stránky pomocí klientské knihovny úložiště pro .NET.
Následující diagram popisuje celkové vztahy mezi účty, kontejnery a objekty blob stránky.
Vytvoření prázdného objektu blob stránky se zadanou velikostí
Nejprve získejte odkaz na kontejner. Chcete-li vytvořit objekt blob stránky, zavolejte GetPageBlobClient metoda a pak zavolejte PageBlobClient.Create metoda. Předejte maximální velikost objektu blob, která se má vytvořit. Tato velikost musí být násobkem 512 bajtů.
long OneGigabyteAsBytes = 1024 * 1024 * 1024;
BlobServiceClient blobServiceClient = new BlobServiceClient(connectionString);
var blobContainerClient =
blobServiceClient.GetBlobContainerClient(Constants.containerName);
var pageBlobClient = blobContainerClient.GetPageBlobClient("0s4.vhd");
pageBlobClient.Create(16 * OneGigabyteAsBytes);
Změna velikosti objektu blob stránky
Pokud chcete po vytvoření změnit velikost objektu blob stránky, použijte metodu Změna velikosti . Požadovaná velikost by měla být násobkem 512 bajtů.
pageBlobClient.Resize(32 * OneGigabyteAsBytes);
Zápis stránek do objektu blob stránky
K zápisu stránek použijte metodu PageBlobClient.UploadPages .
pageBlobClient.UploadPages(dataStream, startingOffset);
To vám umožní napsat sekvenční sadu stránek až 4 MB. Posun zapsaný na hranici 512 bajtů musí začínat na hranici 512 bajtů (počáteční hodnota % 512 == 0) a končit na hranici 512 - 1.
Jakmile bude žádost o zápis pro sekvenční sadu stránek úspěšná ve službě blob a replikuje se kvůli odolnosti a odolnosti, zápis se potvrdí a úspěch se vrátí zpět klientovi.
Následující diagram znázorňuje 2 samostatné operace zápisu:
- Operace zápisu začínající posunem 0 o délce 1024 bajtů
- Operace zápisu začínající posunem 4096 délky 1024
Čtení stránek z objektu blob stránky
Ke čtení stránek použijte metodu PageBlobClient.Download ke čtení rozsahu bajtů z objektu blob stránky.
var pageBlob = pageBlobClient.Download(new HttpRange(bufferOffset, rangeSize));
To vám umožní stáhnout celý objekt blob nebo rozsah bajtů od jakéhokoli posunu objektu blob. Při čtení nemusí posun začínat na násobku 512. Při čtení bajtů ze stránky NUL vrátí služba nula bajtů.
Následující obrázek znázorňuje operaci čtení s posunem 256 a velikostí rozsahu 4352. Vrácená data jsou zvýrazněná oranžovou barvou. Nuly se vrátí pro stránky NUL.
Pokud máte řídce naplněný objekt blob, možná budete chtít stáhnout platné oblasti stránek, abyste se vyhnuli výchozímu přenosu nuly bajtů a snížili latenci stahování.
Chcete-li zjistit, které stránky jsou podporovány daty, použijte PageBlobClient.GetPageRanges. Pak můžete zobrazit výčet vrácených oblastí a stáhnout data v jednotlivých oblastech.
IEnumerable<HttpRange> pageRanges = pageBlobClient.GetPageRanges().Value.PageRanges;
foreach (var range in pageRanges)
{
var pageBlob = pageBlobClient.Download(range);
}
Pronájem objektu blob stránky
Operace zapůjčení objektu blob vytvoří a spravuje zámek objektu blob pro operace zápisu a odstranění. Tato operace je užitečná ve scénářích, kdy se objekt blob stránky přistupuje z více klientů, aby se zajistilo, že do objektu blob najednou může zapisovat jenom jeden klient. Disky Azure například využívají tento mechanismus leasingu k zajištění, že disk spravuje jenom jeden virtuální počítač. Doba trvání zámku může být 15 až 60 sekund nebo může být nekonečná. Další podrobnosti najdete v dokumentaci.
Kromě bohatých rozhraní REST API poskytují objekty blob stránky také sdílený přístup, stálost a rozšířené zabezpečení. Tyto výhody podrobněji probereme v dalších odstavcích.
Souběžný přístup
Rozhraní REST API objektů blob stránky a jeho mechanismus leasingu umožňují aplikacím přistupovat k objektu blob stránky z více klientů. Řekněme například, že potřebujete vytvořit distribuovanou cloudovou službu, která sdílí objekty úložiště s více uživateli. Může to být webová aplikace obsluhující velkou kolekci obrázků několika uživatelům. Jednou z možností implementace je použití virtuálního počítače s připojenými disky. Nevýhodou tohoto omezení je omezení, že disk lze připojit pouze k jednomu virtuálnímu počítači, a tím omezit škálovatelnost, flexibilitu a zvýšení rizik. Pokud dojde k potížím s virtuálním počítačem nebo službou spuštěnou na virtuálním počítači, je kvůli zapůjčení image nedostupná, dokud nevyprší platnost zapůjčení nebo se přeruší; a (ii) Další náklady na virtuální počítač IaaS.
Alternativní možností je použít objekty blob stránky přímo prostřednictvím rozhraní REST API služby Azure Storage. Tato možnost eliminuje potřebu nákladných virtuálních počítačů IaaS, nabízí plnou flexibilitu přímého přístupu z více klientů, zjednodušuje model nasazení Classic tím, že eliminuje nutnost připojit nebo odpojit disky a eliminuje riziko problémů na virtuálním počítači. Poskytuje také stejnou úroveň výkonu pro náhodné operace čtení a zápisu jako disk.
Stálost a vysoká dostupnost
Úložiště úrovně Standard i Premium jsou odolné úložiště, kde se data objektů blob stránky vždy replikují, aby se zajistila stálost a vysoká dostupnost. Azure konzistentně poskytuje odolnost disků IaaS a objektů blob stránky na podnikové úrovni s počáteční nulou roční chybovost.
Další informace o redundanci služby Azure Storage pro účty služby Standard a Premium Storage najdete v tématu Redundance služby Azure Storage a tyto dvě části:
Bezproblémová migrace do Azure
Pro zákazníky a vývojáře, kteří mají zájem o implementaci vlastního přizpůsobeného řešení zálohování, nabízí Azure také přírůstkové snímky, které obsahují jenom rozdíly. Tato funkce zabraňuje nákladům na počáteční úplnou kopii, což výrazně snižuje náklady na zálohování. Spolu s možností efektivního čtení a kopírování rozdílových dat je to další výkonná funkce, která vývojářům umožňuje ještě více inovací, což vede k špičkovému prostředí pro zálohování a zotavení po havárii (DR) v Azure. Pomocí snímku objektu blob můžete nastavit vlastní řešení zálohování nebo zotavení po havárii pro virtuální počítače v Azure a rozhraní API pro získání rozsahů stránek a rozhraní API objektů blob přírůstkového kopírování, které můžete použít ke snadnému kopírování přírůstkových dat pro zotavení po havárii.
Mnoho podniků má navíc kritické úlohy, které už běží v místních datacentrech. Pro migraci úlohy do cloudu by jednou z hlavních obav bylo množství výpadků potřebných ke kopírování dat a riziko nepředvídatelných problémů po přechodu. V mnoha případech může být výpadek ukázkou migrace do cloudu. Azure tento problém řeší povolením migrace do cloudu s minimálním přerušením kritických úloh pomocí rozhraní REST API objektů blob stránky.
Příklady, jak pořídit snímek a jak obnovit objekt blob stránky ze snímku, najdete v článku o nastavení procesu zálohování pomocí přírůstkových snímků.