public interface IPartitionMetadata extends ISeparatorKeys
Each index partition has a distinct partitionId. This partitionId is assigned
by a centralized service - the IMetadataService
for the scale-out
index for that index partition. A centralized service is required in order to
obtain distinct int32 partition identifiers because those partition
identifiers are used in turn to support scale-out partition local
ICounter
s - the partitionId forms the upper word of the int64
counter value.
The scale-out index name and the left and right separator keys are a complete
identifier for an index partition - any two index partitions which share
those three properties MUST be the same index partition. However, access to
index partitions is generally in terms of the name of the scale-out index and
the partitionId. See DataService.getIndexPartitionName(String, int)
which returns the name under which an index partition will be registered and
the name that must be used when requesting operations on that index partition
using an IDataService
.
An index partition has additional state, including:
IDataService
on which it resides.IResourceMetadata
[] describing the resources required to
materialize a view of the index partition.
The left and right separator keys define the half-open key range of the index
partition. The separator keys are available directly as the keys of
the MetadataIndex
, therefore they are not stored in the index
partition records within the metadata index. However, the separator keys are
stored in the index partition description within the IndexMetadata
records so that they are available locally with the index partition data.
If the client knows a key or key range of interest for a scale-out index then
they can obtain the relevant index partition descriptions and a data service
locator either either by flooding the query to the IDataService
s or
from the MetadataIndex
.
Modifier and Type | Method and Description |
---|---|
int |
getPartitionId()
The unique partition identifier.
|
int |
hashCode()
Return
getPartitionId() |
getLeftSeparatorKey, getRightSeparatorKey
int getPartitionId()
int hashCode()
getPartitionId()
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.