En un sistema de base de datos, las tablas pueden ser distribuidas en distintos hosts para brindar balanceo de carga y evitar problemas de tipo OOM (Out of memory). En SAP HANA la distribución de tablas sólo es posible en un escenario Scale-out (uso de múltiples procesadores como una sola entidad), a través de los siguientes mecanismos:
Diferentes tablas asignadas a diferentes Index Servers (Particionamiento de base de datos y distribución de tablas).
La misma tabla dividida a través de multiples Index Servers (Particionamiento de tablas)
Por defecto, las nuevas tablas se distribuyen en los Index Server disponibles, sin embargo es posible especificar que una tabla o partición se cree en uno en concreto. Por otro lado, existe la posibilidad de realizar una redistribución de tablas, la cual podría plantearse en los siguientes casos:
Antes de retirar un host
Después de adicionar un host
Optimizar la distribución de tablas actual
Optimizar la partición de tablas existente
Por lo general, después de añadir o eliminar nodos, la redistribución (Landscape Redistribution) debe llevarse a cabo. En base a la configuración se sugerirá un nuevo panorama. En este proceso se considera sólo las tablas basadas en columnas (column-store tables), no son consideradas las tablas del sistema, temporales y basadas en filas (row-store tables).
En un sistema SAP NW BW sobre SAP HANA, los datos son distribuidos, grosso modo, del siguiente modo:
Nodo Principal: Contiene las tablas con almacenamiento basado en filas, tablas del sistema ABAP y datos operacionales generales.
Nodo Esclavo o Worker Node: Contiene todos los datos maestros de BW, cubos, DSO y PSAs
Nota: Quizás, sea útil tener presente los siguientes conceptos:
Un host es una máquina (compuesto por CPU, memoria, almacenamiento, red y sistema operativo) que ejecuta parte del sistema SAP HANA.
Un sistema distribuido SAP HANA, es un sistema que es instalado en más de un host.
Una instancia SAP HANA es un conjunto de componentes de un sistema distribuido que es instalado en un host.
Cada instancia tiene un “index server”, “preprocessor server” y “name server”. El “statistic server” existe sólo uno por sistema.