Gebieden (gegevensshards)

Tabellen worden gepartitioneerd in gebieden of gegevensshards. Elk gebied is een horizontaal segment van de tabel dat gegevens en metagegevens bevat, zoals de aanmaaktijd en optionele tags. De samenvoeging van al deze gebieden bevat de volledige gegevensset van de tabel. Gebieden zijn gelijkmatig verdeeld over knooppunten in het cluster en worden in de cache opgeslagen in zowel lokale SSD als geheugen voor geoptimaliseerde prestaties.

Gebieden zijn onveranderbaar, wat betekent dat ze kunnen worden opgevraagd, opnieuw kunnen worden toegewezen aan een ander knooppunt of uit de tabel kunnen worden verwijderd, maar nooit kunnen worden gewijzigd. Gegevenswijziging vindt plaats door het maken van nieuwe gebieden en het transactioneel wisselen van oude gebieden met de nieuwe. De onveranderbaarheid van gebieden biedt voordelen zoals verbeterde robuustheid en eenvoudige reconversie naar eerdere momentopnamen.

Gebieden bevatten een verzameling records die fysiek in kolommen zijn gerangschikt, waardoor efficiënte codering en compressie van de gegevens mogelijk is. Om de queryefficiëntie te behouden, worden kleinere delen samengevoegd in grotere delen volgens het geconfigureerde samenvoegbeleid en shardingbeleid. Het samenvoegen van gebieden vermindert de beheeroverhead en leidt tot indexoptimalisatie en verbeterde compressie.

De algemene levenscyclus is als volgt:

  1. De omvang wordt gemaakt door een opnamebewerking.
  2. De omvang wordt samengevoegd met andere gebieden.
  3. De samengevoegde omvang (mogelijk een die de herkomst in andere mate bijhoudt) wordt uiteindelijk verwijderd vanwege een bewaarbeleid.

Aanmaaktijd van bereik

Er worden twee datum/tijd-waarden per bereik bijgehouden: MinCreatedOn en MaxCreatedOn. Deze waarden zijn in eerste instantie hetzelfde, maar kunnen veranderen wanneer de omvang wordt samengevoegd met andere gebieden. Wanneer de omvang wordt samengevoegd met andere gebieden, zijn de nieuwe waarden volgens de oorspronkelijke minimum- en maximumwaarden van de samengevoegde gebieden.

De aanmaaktijd van een gebied wordt gebruikt voor de volgende doeleinden:

  • Retentie: gebieden die eerder zijn gemaakt, worden eerder verwijderd.
  • Opslaan in cache: gebieden die onlangs zijn gemaakt, worden bewaard in de hot-cache.
  • Steekproeven: recente gebieden hebben de voorkeur bij het gebruik van querybewerkingen zoals take.

Als u de aanmaaktijd van een gebied wilt overschrijven, geeft u een alternatief creationTime op in de eigenschappen voor gegevensopname. Dit kan handig zijn voor retentiedoeleinden, bijvoorbeeld als u gegevens opnieuw wilt opnemen, maar niet wilt dat deze worden weergegeven alsof ze te laat zijn aangekomen.

Notitie

De berekening voor het verwijderen van een bereik op basis van tijd maakt gebruik van de aanmaaktijd van het nieuwste gebied binnen het samengevoegde bereik.