El servidor de contenedor almacena los datos de la aplicación para la cuadrícula de datos. Estos datos se dividen normalmente en partes, denominadas particiones, que alojan varios servidores de contenedor. Cada servidor de contenedor a su vez aloja un subconjunto de los datos completos. Una JVM puede alojar uno o más contenedores y cada servidor de contenedor puede alojar varios fragmentos.
Recuerde: Planifique el tamaño de almacenamiento dinámico de los servidores de contenedor, que alojan todos los datos. Configure los valores de almacenamiento dinámico según corresponda.
Figura 1. Servidor de contenedor
Las particiones alojan un subconjunto de los datos en la cuadrícula.
WebSphere eXtreme
Scale coloca automáticamente varias particiones en un único servidor de contenedor y propaga las particiones a medida que pasan a estar disponibles más servidores de contenedor.
Importante: Elija
cuidadosamente el número de particiones antes del despliegue final, ya que el
número de particiones no se puede cambiar de forma dinámica. Se utiliza un mecanismo hash para localizar las particiones en la red y eXtreme Scale no puede volver a realizar hash de todo el conjunto de datos, una vez que se haya desplegado.
Como regla general, se puede sobrestimar el número de particiones
Los fragmentos son instancias de particiones y tienen
uno de los roles siguientes: primario o réplica. El fragmento primario y sus
réplicas conforman la manifestación física de la partición. Cada partición tiene varios fragmentos que cada uno de éstos incluye todos los datos contenidos en dicha partición.
Un fragmento es el primario y las demás son réplicas, que son copias redundantes de los datos del fragmento primario. Un fragmento primario es la única instancia de partición que
permite que las transacciones se graben en la memoria caché.
Un fragmento réplica es una instancia "duplicada" de la partición. Recibe
actualizaciones de forma síncrona o asíncrona del fragmento primario. El
fragmento réplica sólo permite a las transacciones leer de la memoria caché. Las réplicas nunca se alojan en el mismo servidor de contenedor como fragmento primario y normalmente no se alojan en la misma máquina que el fragmento primario.
Para
aumentar la disponibilidad de los datos, o para aumentar las garantías de
persistencia, replique los datos. No obstante, la réplica supone coste en la
transacción y cambia rendimiento por disponibilidad. Con
eXtreme Scale, puede controlar el coste,
ya que se admiten la réplica síncrona y asíncrona, así como modelos de réplica
híbridos que usan modalidades de réplica síncrona y asíncrona. Un fragmento
réplica síncrona recibe actualizaciones como parte de la transacción del
fragmento primario para garantizar la coherencia de los datos.
Una réplica síncrona puede doblar el tiempo de respuesta porque la transacción
debe confirmar en el fragmento primario y la réplica síncrona antes de que se
complete la transacción. Un fragmento réplica asíncrona recibe actualizaciones
después de la confirmación de la transacción para limitar el impacto en el
rendimiento, pero puede haber pérdida de datos ya que la réplica asíncrona
puede estar varias transacciones por detrás del fragmento primario.