Hiërarchische naamruimte van Azure Data Lake Storage Gen2

Een belangrijk mechanisme waarmee Azure Data Lake Storage Gen2 bestandssysteemprestaties kan leveren op de schaal van objectopslag en prijzen, is de toevoeging van een hiërarchische naamruimte. Hierdoor kan de verzameling objecten/bestanden binnen een account worden ingedeeld in een hiërarchie van mappen en geneste subdirecties op dezelfde manier als het bestandssysteem op uw computer is georganiseerd. Als een hiërarchische naamruimte is ingeschakeld, kan een opslagaccount de schaalbaarheid en kosteneffectiviteit van objectopslag bieden, met bestandssysteemsemantiek die bekend is met analyse-engines en frameworks.

De voordelen van een hiërarchische naamruimte

De volgende voordelen zijn gekoppeld aan bestandssystemen die een hiërarchische naamruimte implementeren via blobgegevens:

  • Atomische mapmanipulatie: Object slaat een directoryhiërarchie bij benadering op door een conventie voor het insluiten van slashes (/) in te sluiten in de objectnaam om padsegmenten aan te geven. Hoewel deze conventie werkt voor het ordenen van objecten, biedt de conventie geen hulp voor acties zoals het verplaatsen, hernoemen of verwijderen van directories. Zonder echte mappen moeten toepassingen mogelijk miljoenen afzonderlijke blobs verwerken om taken op mapniveau te kunnen uitvoeren. Een hiërarchische naamruimte verwerkt deze taken daarentegen door één vermelding bij te werken (de bovenliggende map).

    Deze aanzienlijke optimalisatie is met name belangrijk voor veel big data analytics-frameworks. Hulpprogramma's zoals Hive, Spark, enzovoort schrijven vaak uitvoer naar tijdelijke locaties en wijzigen de naam van de locatie aan het einde van de taak. Zonder een hiërarchische naamruimte kan deze naam vaak langer duren dan het analyseproces zelf. Lagere taaklatentie is gelijk aan lagere total cost of ownership (TCO) voor analyseworkloads.

  • Vertrouwde interfacestijl: Bestandssystemen worden goed begrepen door ontwikkelaars en gebruikers. U hoeft geen nieuw opslagparadigma te leren wanneer u overstapt op de cloud, omdat de bestandssysteeminterface die beschikbaar wordt gemaakt door Data Lake Storage Gen2 hetzelfde paradigma is dat wordt gebruikt door computers, groot en klein.

Een van de redenen dat objectarchieën in het verleden geen hiërarchische naamruimte hebben ondersteund, is dat de schaal van een hiërarchische naamruimte wordt beperkt. De hiërarchische naamruimte Data Lake Storage Gen2 wordt echter lineair geschaald en de gegevenscapaciteit of prestaties worden niet gedegradeerd.

Bepalen of een hiërarchische naamruimte moet worden ingeschakeld

Nadat u een hiërarchische naamruimte voor uw account hebt ingeschakeld, kunt u deze niet terugschakelen naar een platte naamruimte. Overweeg daarom of het zinvol is om een hiërarchische naamruimte in te stellen op basis van de aard van uw objectopslagworkloads. Zie Upgrade Azure Blob Storage with Azure Data Lake Storage Gen2 capabilities (Upgraden van Azure Blob Storagemet Azure Data Lake Storage Gen2-mogelijkheden) om de impact van het inschakelen van een hiërarchische naamruimte op workloads, toepassingen, kosten, service-integraties, hulpprogramma's, functies en documentatie te evalueren.

Sommige workloads profiteren mogelijk niet van het inschakelen van een hiërarchische naamruimte. Voorbeelden zijn back-ups, opslag van afbeeldingen en andere toepassingen waarbij objectorganisatie afzonderlijk van de objecten zelf wordt opgeslagen (bijvoorbeeld in een afzonderlijke database).

Hoewel de ondersteuning voor functies van Blob Storage en het Azure-serviceecosysteem blijft groeien, zijn er nog steeds enkele functies en Azure-services die nog niet worden ondersteund in accounts die een hiërarchische naamruimte hebben. Zie Bekende problemen.

Over het algemeen wordt u aangeraden een hiërarchische naamruimte in te zetten voor opslagworkloads die zijn ontworpen voor bestandssystemen die map bewerken. Dit omvat alle workloads die voornamelijk bedoeld zijn voor analyseverwerking. Gegevenssets waarvoor een hoge mate van organisatie is vereist, profiteren ook van het inschakelen van een hiërarchische naamruimte.

De redenen voor het inschakelen van een hiërarchische naamruimte worden bepaald door een TCO-analyse. Over het algemeen zijn voor verbeteringen in de latentie van de werkbelasting als gevolg van opslagversnelling rekenbronnen voor minder tijd nodig. Latentie voor veel workloads kan worden verbeterd als gevolg van atomische directory-manipulatie die wordt ingeschakeld door een hiërarchische naamruimte. In veel workloads vertegenwoordigt de rekenresource > 85% van de totale kosten en is zelfs een lage latentie van de werkbelasting gelijk aan een aanzienlijke hoeveelheid TCO-besparingen. Zelfs in gevallen waarin het inschakelen van een hiërarchische naamruimte de opslagkosten verhoogt, wordt de TCO nog steeds verlaagd vanwege lagere rekenkosten.

Zie Prijzen voor Azure Data Lake Storage Gen2 voor het analyseren van verschillen in prijzen voor gegevensopslag, transactieprijzen en opslagcapaciteitsreserveringen tussen accounts met een platte hiërarchische naamruimte en een hiërarchische naamruimte.

Volgende stappen