Home

MS Base

  • prefix: ms:
  • schema: b:

Categories (Data):

Categories (Governance):

namespaces:

 
 

Schema element "b:shard"

Defines a b:storage back-end for a sub-set of the Units.

Definitions

<element name="shard" type="b:Shard" />

<complexType name="Shard">
  <sequence>
    <element name="storage" type="b:UnitRef" [0..1] />
  </sequence>
  <attributeGroup ref="b:selector" />
</complexType>

Description

The b:store, as listed in a b:namespace, describes a data maintenance approach. This may use shards: distributing the Units over storages based on some of the unit's features.

When a Unit gets updated, it SHOULD be re-evaluted whether is also has to change shard. When the store description changes, it may imply that units must be moved between shards.

The Meshy Space running daemon manages searches across shards.

element shard

One Namespace can carry many storage references, which may be selected with the when or unless attributes. This way, you MAY, for instance, cause large Units to be stored on other physical places than smaller Units. Or, you can differentiate between types of Units, the first letter of the UnitID, the upload date.

Discussion

typical expressions for shards

Not all storage back-ends support the same features. For instance, some may not support writing, other may not support search. Which storage is used for each task can be configured with when.

Typical selectors for shards:

# First half of the names in this shard
unit.id =~ "^[a-mA-M]"

# Large Units somewhere else
unit.size > 10M

# Introduce a staging server
unit.state unlike 'ms:UnitState/{Published,Deprecated}'

mark@overmeer.net      Web-pages generated on 2023-12-19