Delen via


Richtlijnen voor tabelontwerp

Het ontwerpen van tabellen voor gebruik met de Azure Storage-tabelservice verschilt erg van ontwerpoverwegingen voor een relationele database. In dit artikel worden richtlijnen beschreven voor het ontwerpen van uw Table Service-oplossing om efficiënt te lezen en efficiënt te schrijven.

Ontwerp uw Table Service-oplossing om efficiënt te worden gelezen

  • Ontwerp voor het uitvoeren van query's in leesintensieve toepassingen. Wanneer u uw tabellen ontwerpt, moet u nadenken over de query's (met name de latentiegevoelige query's) die u gaat uitvoeren voordat u nadenkt over hoe u uw entiteiten gaat bijwerken. Dit resulteert doorgaans in een efficiënte en goed presterende oplossing.
  • Geef zowel PartitionKey als RowKey op in uw query's. Puntquery's zoals deze zijn de meest efficiënte tabelservicequery's .
  • Overweeg dubbele kopieën van entiteiten op te slaan. Table Storage is goedkoop, dus overweeg om dezelfde entiteit meerdere keren (met verschillende sleutels) op te slaan om efficiëntere query's mogelijk te maken.
  • Overweeg om uw gegevens te denormaliseren. Table Storage is goedkoop, dus overweeg om uw gegevens te denormaliseren. Sla bijvoorbeeld samenvattingsentiteiten op, zodat query's voor geaggregeerde gegevens slechts toegang nodig hebben tot één entiteit.
  • Gebruik samengestelde sleutelwaarden. De enige sleutels die u hebt, zijn PartitionKey en RowKey. Gebruik bijvoorbeeld samengestelde sleutelwaarden om alternatieve toegangspaden in te schakelen voor entiteiten.
  • Gebruik queryprojectie. U kunt de hoeveelheid gegevens die u via het netwerk overbrengt verminderen met behulp van query's die alleen de velden selecteren die u nodig hebt.

Uw Table Service-oplossing ontwerpen om schrijfefficiënt te zijn

  • Maak geen dynamische partities. Kies sleutels waarmee u uw aanvragen op elk gewenst moment over meerdere partities kunt verdelen.
  • Vermijd pieken in het verkeer. Maak het verkeer gedurende een redelijke periode soepel en vermijd pieken in het verkeer.
  • Maak niet per se een afzonderlijke tabel voor elk type entiteit. Wanneer u atomische transacties tussen entiteitstypen nodig hebt, kunt u deze meerdere entiteitstypen opslaan in dezelfde partitie in dezelfde tabel.
  • Houd rekening met de maximale doorvoer die u moet bereiken. U moet rekening houden met de schaalbaarheidsdoelen voor de Table-service en ervoor zorgen dat uw ontwerp ervoor zorgt dat u deze niet overschrijdt.

Terwijl u deze handleiding leest, ziet u voorbeelden die al deze principes in de praktijk brengen.

Volgende stappen