Arquitectura de SAP HANA, LandScape, dimensionamiento: tutorial completo

Tabla de contenido:

Anonim

La base de datos SAP HANA es una plataforma de gestión de datos centrada en la memoria principal. La base de datos SAP HANA se ejecuta en SUSE Linux Enterprises Server y se basa en el lenguaje C ++.

La base de datos SAP HANA se puede distribuir a varias máquinas.

Las ventajas de SAP HANA son las que se mencionan a continuación:

  • SAP HANA es útil ya que es muy rápido debido a que todos los datos están cargados en la memoria y no es necesario cargar datos desde el disco.
  • SAP HANA se puede utilizar para OLAP (analítica en línea) y OLTP (transacción en línea) en una sola base de datos.

La base de datos SAP HANA consta de un conjunto de motores de procesamiento en memoria. El motor de cálculo es el principal motor de procesamiento en memoria de SAP HANA. Funciona con otro motor de procesamiento como motor de base de datos relacional (motor de filas y columnas), motor OLAP, etc.

La tabla de la base de datos relacional reside en el almacén de columnas o filas.

Hay dos tipos de almacenamiento para la tabla SAP HANA.

  1. Almacenamiento de tipo de fila (para tabla de filas).
  2. Almacenamiento de tipo de columna (para tabla de columna).

Los datos de texto y los datos de gráficos residen en Text Engine y Graph Engine respectivamente. Hay algunos motores más en la base de datos SAP HANA. Los datos pueden almacenarse en estos motores siempre que haya suficiente espacio disponible.

En este tutorial, aprenderá:

  • Arquitectura SAP HANA
  • Panorama de SAP HANA
  • Dimensionamiento de SAP HANA

Arquitectura SAP HANA

Los datos se comprimen mediante diferentes técnicas de compresión (por ejemplo, codificación de diccionario, codificación de longitud de ejecución, codificación dispersa, codificación de clúster, codificación indirecta) en el almacén de columnas de SAP HANA.

Cuando se alcanza el límite de memoria principal en SAP HANA, todos los objetos de la base de datos (tabla, vista, etc.) que no se utilizan se descargarán de la memoria principal y se guardarán en el disco.

Los nombres de estos objetos se definen mediante la semántica de la aplicación y se vuelven a cargar en la memoria principal desde el disco cuando se requieren nuevamente. En circunstancias normales, la base de datos SAP HANA gestiona la descarga y carga de datos automáticamente.

Sin embargo, el usuario puede cargar y descargar datos de una tabla individual manualmente seleccionando una tabla en el estudio SAP HANA en el esquema respectivo, haciendo clic derecho y seleccionando la opción "Descargar / Cargar".

El servidor SAP HANA consta de

  1. Servidor de índices
  2. Servidor de preprocesador
  3. Nombre del servidor
  4. Servidor de estadísticas
  5. Motor XS

  1. Servidor de índices de SAP HANA

    El servidor principal de la base de datos SAP HANA es un servidor de índices. El detalle de cada servidor es el siguiente:

  • Es el componente principal de la base de datos de SAP HANA.
  • Contiene almacenes de datos reales y el motor para procesar los datos.
  • Index Server procesa la instrucción SQL o MDX entrante.

A continuación se muestra la arquitectura de Index Server.

Descripción general de SAP HANA Index Server

  • Administrador de sesiones y transacciones: el componente de sesión administra sesiones y conexiones para la base de datos SAP HANA. Transaction Manager coordina y controla las transacciones.
  • Procesador SQL y MDX: el componente del procesador SQL consulta datos y los envía en el motor de procesamiento de consultas, es decir, SQL / SQL Script / R / Calc Engine. MDX Processor consulta y manipula datos multidimensionales (p. Ej. Vista analítica en SAP HANA).
  • Motor SQL / SQL Script / R / Calc: Este componente ejecuta el script SQL / SQL y los datos de cálculo se convierten en un modelo de cálculo.
  • Repositorio: el repositorio mantiene el control de versiones del objeto de metadatos de SAP HANA, por ejemplo (vista de atributo, vista analítica, procedimiento almacenado).
  • Capa de persistencia: esta capa utiliza la función incorporada "Recuperación ante desastres" de la base de datos SAP HANA. La copia de seguridad se guarda en él como puntos de guardado en el volumen de datos.
    1. Servidor de preprocesador

    Este servidor se utiliza en Análisis de texto y extrae datos de un texto cuando se utiliza la función de búsqueda.

    1. Nombre del servidor

    Este servidor contiene toda la información sobre el panorama del sistema. En el servidor distribuido, el servidor de nombres contiene información sobre cada componente en ejecución y la ubicación de los datos en el servidor. Este servidor contiene información sobre el servidor en el que existen datos.

    1. Servidor de estadísticas

    El servidor de estadísticas es responsable de recopilar los datos relacionados con el estado, la asignación / consumo de recursos y el rendimiento del sistema SAP HANA.

    1. Servidor XS

    XS Server contiene XS Engine. Permite que las aplicaciones y los desarrolladores externos utilicen la base de datos de SAP HANA a través del cliente XS Engine. La aplicación de cliente externo puede usar HTTP para transmitir datos a través del motor XS para el servidor HTTP.

    Panorama de SAP HANA

    "HANA" significa que el dispositivo analítico de alto rendimiento es una combinación de plataforma de hardware y software.

    • Debido al cambio en la arquitectura de la computadora, la computadora más poderosa está disponible en términos de CPU, RAM y disco duro.
    • SAP HANA es la solución para el cuello de botella en el rendimiento, en el que todos los datos se almacenan en la memoria principal y no es necesario transferir datos con frecuencia desde la E / S del disco a la memoria principal.

    A continuación se muestran la innovación de SAP HANA en el campo de hardware / software.

    Hay dos tipos de almacenes de datos relacionales en SAP HANA: almacén de filas y almacén de columnas.

    Row Store

    • Es lo mismo que la base de datos tradicional, por ejemplo (Oracle, SQL Server). La única diferencia es que todos los datos se almacenan en el área de almacenamiento de filas en la memoria de SAP HANA, a diferencia de una base de datos tradicional, donde los datos se almacenan en el disco duro.

    Tienda de columnas

    • El almacén de columnas es parte de la base de datos de SAP HANA y administra los datos en forma de columnas en la memoria de SAP HANA. Las tablas de columnas se almacenan en el área de almacenamiento de columnas. El almacén de columnas proporciona un buen rendimiento para las operaciones de escritura y al mismo tiempo optimiza la operación de lectura.

    Rendimiento de operación de lectura y escritura optimizado con una estructura de datos por debajo de dos.

    Depósito principal

    El almacenamiento principal contiene la mayor parte de los datos. En el almacenamiento principal, se aplica un método de compresión de datos adecuado (codificación de diccionario, codificación de clúster, codificación dispersa, codificación de longitud de ejecución, etc.) para comprimir datos con el fin de ahorrar memoria y acelerar las búsquedas.

    • En el almacenamiento principal, las operaciones de escritura en datos comprimidos serán costosas, por lo que la operación de escritura no modifica directamente los datos comprimidos en el almacenamiento principal. En cambio, todos los cambios se escriben en un área separada en el almacenamiento de columnas conocido como "Almacenamiento Delta".
    • El almacenamiento delta está optimizado para una operación de escritura y usa compresión normal. Las operaciones de escritura no están permitidas en el almacenamiento principal, pero sí en el almacenamiento delta. Se permiten operaciones de lectura en ambos almacenamientos.

    Podemos cargar datos manualmente en la memoria principal con la opción "Cargar en la memoria" y Descargar datos de la memoria principal con la opción "Descargar de la memoria" como se muestra a continuación.

    Almacenamiento Delta

    El almacenamiento delta se usa para una operación de escritura y usa compresión básica. Todas las modificaciones no confirmadas en los datos de la tabla de columnas almacenados en el almacenamiento delta.

    Cuando queramos mover estos cambios al almacenamiento principal, use la "operación de fusión delta" de SAP HANA studio como se muestra a continuación:

    • El propósito de la operación de fusión delta es mover los cambios, que se recopilan en el almacenamiento delta al almacenamiento principal.
    • Después de realizar la operación Delta Merge en la tabla de columnas sap, el contenido del almacenamiento principal se guarda en el disco y se recalcula la compresión.

    Proceso de mover datos de Delta al almacenamiento principal durante la fusión delta

    Hay un almacenamiento intermedio (L1-Delta) que es el almacenamiento de filas. Entonces, en SAP HANA, la tabla de columnas actúa como un almacén de filas debido a L1-delta.

    1. El usuario ejecuta la consulta de actualización / inserción en la tabla (el operador físico son declaraciones SQL).
    2. Los datos primero van a L1. Cuando L1 mueve los datos más lejos (L1- Datos no comprometidos)
    3. Luego, los datos van al búfer L2-delta, que está orientado a columnas. (L2- Datos comprometidos)
    4. Cuando se completa el proceso L2-delta, los datos van al almacenamiento principal.

    Por lo tanto, el almacenamiento en columna está optimizado para escritura y lectura debido a L1-Delta y al almacenamiento principal, respectivamente. L1-Delta contiene todos los datos no confirmados. Los datos comprometidos se mueven al almacén principal a través de L2-Delta. Desde la tienda principal, los datos van a la capa de persistencia (la flecha que indica aquí es un operador físico que envía la declaración SQL en la tienda de columnas). Después de procesar la instrucción SQL en el almacén de columnas, los datos pasan a la capa de persistencia.

    Por ejemplo, a continuación se muestra una tabla basada en filas:

    Los datos de la tabla se almacenan en el disco en formato lineal, por lo que a continuación se muestra cómo se almacenan los datos en el disco para la tabla de filas y columnas:

    En la memoria de SAP HANA, esta tabla se almacena en Row Store en el disco como formato:

    Dirección de memoria

    Y en Column, los datos se almacenan en el disco como:

    Dirección de memoria

    Los datos se almacenan por columnas en formato lineal en el disco. Los datos se pueden comprimir mediante la técnica de compresión.

    Por lo tanto, el almacenamiento de columnas tiene la ventaja de ahorrar memoria.

    Dimensionamiento de SAP HANA

    El tamaño es un término que se utiliza para determinar los requisitos de hardware para el sistema SAP HANA, como RAM, disco duro y CPU, etc.

    El principal componente de dimensionamiento importante es la memoria, y el segundo componente de dimensionamiento importante es la CPU. El tercer componente principal es un disco, pero el tamaño depende completamente de la memoria y la CPU.

    En la implementación de SAP HANA, una de las tareas críticas es determinar el tamaño correcto de un servidor de acuerdo con los requisitos comerciales.

    SAP HANA DB difiere en tamaño con DBMS normal en términos de:

    • Requisito de memoria principal para SAP HANA (el tamaño de la memoria se determina mediante metadatos y datos de transacciones en SAP HANA)
    • Requisito de CPU para SAP HANA (el pronóstico de CPU no es exacto).
    • Requisito de espacio en disco para SAP HANA (se calcula para la persistencia de datos y para el registro de datos)

    La CPU del servidor de aplicaciones y la memoria del servidor de aplicaciones permanecen sin cambios.

    Para el cálculo del tamaño, SAP ha proporcionado varias pautas y métodos para calcular el tamaño correcto.

    Podemos usar el siguiente método:

    1. Dimensionamiento mediante informe ABAP.
    2. Dimensionamiento usando DB Script.
    3. Dimensionamiento con la herramienta Quicksizer.

    Al usar la herramienta Quicksizer, el requisito se mostrará en el siguiente formato: