WebSphere eXtreme Scale es una cuadrícula de datos elástica, escalable y en memoria. Coloca en la memoria caché, realiza particiones y réplicas y gestiona de forma dinámica los datos de aplicaciones y la lógica empresarial entre varios servidores.
Puesto que WebSphere eXtreme Scale no es una base de datos en memoria, debe considerar los requisitos de configuración específicos. El primer paso para desplegar una cuadrícula de datos es iniciar un grupo principal y un servicio de catálogo, que actuará como coordinador para todas las demás máquinas virtuales Java que participan en la cuadrícula de datos y gestionan la información de configuración. Los procesos de WebSphere eXtreme Scale se inician con unas sencillas invocaciones de script de mandato desde la línea de mandatos.
El paso siguiente es iniciar los procesos de servidor WebSphere eXtreme Scale para la cuadrícula de datos para almacenar y recuperar datos. Cuando se inician los servidores, estos se registran automáticamente en el grupo principal y el servicio de catálogo, lo que les permite cooperar en el suministro de servicios de cuadrícula de datos. Más servidores aumentan tanto la capacidad como la fiabilidad de la cuadrícula de datos.
Una cuadrícula de datos local es una cuadrícula sencilla y de instancia única donde todos los datos están en esta cuadrícula. Para utilizar eficazmente WebSphere eXtreme Scale como un espacio de proceso de base de datos en memoria, puede configurar y desplegar una cuadrícula de datos distribuida. Los datos de la cuadrícula distribuida se extienden sobre los distintos servidores eXtreme Scale que los contienen, de forma que cada servidor sólo contiene algunos de los datos, llamados partición.
Un parámetro de configuración de cuadrícula de datos distribuida de claves es el número de particiones de la cuadrícula. Los datos de cuadrícula se particionan en este número de subconjuntos, cada uno de los cuales recibe el nombre de partición. El servicio de catálogo localiza la partición para un dato determinado basado en su clave. El número de particiones afecta directamente a la capacidad y escalabilidad de la cuadrícula de datos. Un servidor puede contener una o más particiones de cuadrícula de datos. Por lo tanto, el espacio de la memoria del servidor limita el tamaño de una partición. Por el contrario, aumentar el número de particiones aumenta la capacidad de la cuadrícula de datos. La capacidad máxima de la cuadrícula de datos es el número de particiones por el tamaño de memoria utilizable de cada servidor. Un servidor puede ser una JVM, pero se puede definir el servidor eXtreme Scale para que se ajuste a su entorno de despliegue.
Los datos de una partición se almacenan en un fragmento. Para la disponibilidad, una cuadrícula de datos se puede configurar con réplicas, que pueden ser síncronas o asíncronas. Los cambios en los datos de cuadrícula se realizan en el fragmento primario y se duplican en los fragmentos duplicados. La memoria total que utiliza o requiere la cuadrícula de datos es por lo tanto el tamaño de la cuadrícula de datos por (1 (para el primario) + el número de réplicas).
WebSphere eXtreme Scale distribuye los fragmentos de una cuadrícula de datos entre el número de servidores que forman la cuadrícula. Estos servidores pueden estar en el mismo servidor físico o en servidores físicos distintos. Para la disponibilidad, los fragmentos de réplica se colocan en servidor físicos aparte de los fragmentos primarios.
WebSphere eXtreme Scale supervisa el estado de sus servidores y mueve los fragmentos durante la anomalía o recuperación de servidores físicos o fragmentos. Por ejemplo, si el servidor que contiene un fragmento de réplica falla, WebSphere eXtreme Scale asigna un nuevo fragmento de réplica, y replica los datos del fragmento primario a la nueva réplica. Si un servidor contiene un fragmento primario faisl, el fragmento de réplica pasa a ser el fragmento primario y se construye un nuevo fragmento de réplica. Si inicia un servidor adicional para la cuadrícula de datos, los fragmentos se equilibran entre todos los servidores. Este reequilibrado se denomina escalado horizontal. De forma similar, para escalado vertical, podría detener uno de los servidores para reducir los recursos utilizados por una cuadrícula de datos. Como resultado, los fragmentos se equilibran en los servidores restantes.