Der Katalogservice ist für die Verteilung von Shards verantwortlich. Jedes ObjectGrid hat eine Reihe von Partitionen, die jeweils ein primäres Shard und einen optionalen Satz an Replikat-Shards haben. Der Katalogservice ordnet die Shards zu, indem er sie gleichmäßig auf die verfügbaren Container-Server verteilt. Replikat- und primäre Shards für dieselbe Partition werden nie an denselben Container-Server oder dieselbe IP-Adresse verteilt, es sei denn, die Konfiguration befindet sich im Entwicklungsmodus.
Wenn ein neuer Container-Server gestartet wird, ruft eXtreme Scale Shards aus relativ überladenen Container-Servern in den neuen leeren Container-Server ab. Diese Verschiebung von Shards ermöglicht eine horizontale Skalierung.
Horizontale Vorwärtsskalierung bedeutet Folgendes: Wenn einem Datengrid zusätzliche Container-Server hinzugefügt werden, versucht eXtreme Scale, vorhandene Shards (primäre Shards oder Replikate) aus dem alten Satz der Container-Server in den neuen Satz zu verschieben. Diese Verschiebung erweitert das Datengrid, sodass Prozessor, des Netz und Hauptspeicher der neu hinzugefügten Container-Server genutzt werden können. Durch die Verschiebung wird auch das Gleichgewicht im Datengrid hergestellt und versucht sicherzustellen, dass jede JVM im Datengrid dasselbe Datenvolumen hostet. Durch die Erweiterung des Datengrids wird erreicht, dass jeder Server einen kleineren Anteil des Gesamtgrids hostet. eXtreme Scale geht davon aus, dass die Daten gleichmäßig auf die Partitionen verteilt sind. Diese Erweiterung ermöglicht eine horizontale Vorwärtsskalierung.
Horizontale Rückskalierung bedeutet Folgendes: Wenn eine JVM ausfällt, versucht eXtreme Scale, den Schaden zu beheben. Besitzt die ausgefallene JVM ein Replikat, ersetzt eXtreme Scale das verloren gegangene Replikat durch Erstellung eines neuen Replikats in einer noch aktiven JVM. Besitzt die ausgefallene JVM ein primäres Shard, sucht eXtreme Scale das am besten geeignete Replikat in den noch aktiven JVMs und stuft dieses Replikat als neues primäres Shard hoch. Anschließend ersetzt eXtreme Scale das hochgestufte Replikat durch ein neues Replikat, das in den verbleibenden Servern erstellt wird. Zur Gewährleistung der Skalierbarkeit, behält eXtreme Scale die Replikatanzahl für Partitionen beim Ausfall von Servern bei.