¿Por qué SAP HANA Cloud marca la diferencia entre una generación de base de datos y otra?

¿Por qué SAP HANA Cloud marca la diferencia entre una generación de base de datos y otra?

Conceptos de SAP HANA

De muchas maneras, SAP HANA Cloud, el tercer gran release de SAP HANA, es un cambio radical de sus orígenes. En 2018 se creó HANA 2.0 como una rama, mientras que HANA 1.0 sólo recibía mantenimiento, esto es, correcciones y seguridad (pero no nuevas funcionalidades). Esto es un enfoque llamado IT bimodal: Una rama se enfoca en la previsibilidad, y otra en la innovación.

Como parte del plan, el tiempo de vida del support package final de HANA 1.0 (SPS) se extendió 5 años en vez de los 2 años usuales, hasta junio de 2021. Para HANA 2.0, la innovación continua con 6 SPS releases más, añadiendo funciones como:

  • Memoria persistente con tecnología Intel Optane para reinicios más rápidos de la base de datos y con un coste total de propiedad menor (TCO)
  • Extensiones de almacenamiento nativo (NSEs) como una solución integrada de niveles para un TCO más bajo.
  • Gran disponibilidad con replicación del sistema, multi-target, multi-nivel, adquisiciones invisibles.
  • Enmascaramiento y anonimización de datos para el análisis de éstos y escenarios de machine learning que mantienen los estándares más altos de privacidad de datos.
  • Nuevas herramientas como el cockpit y el explorador de la base de datos de SAP HANA.
  • Almacenamiento local seguro (LSS) para el encriptado y mantenimiento de claves.

Comparada con releases anteriores, la última SAP HANA 2.0 SPS 05 de 2020 introdujo algunas innovaciones. Se esperaba desde que la estrategia de SAP cambió su enfoque a la nube. Para nuevas funcionalidades, debes cambiar a SAP HANA Cloud, con sus ciclos de releases trimestrales (QRCs). Para SAP HANA 2.0, platform edition (on-premise), el soporte de mantenimiento para el release SPS 05 se extendió de nuevo a 5 años, hasta 2025, manteniendo el concepto bimodal de IT aun mucho más vivo ¿Pero qué hace SAP HANA Cloud tan diferente de sus predecesoras?

Arquitectura de despliegue en el cloud

La estrategia de cloud de SAP hoy multi-cloud,mudándose del entorno de Neo hospedado en centros de datos de SAP, a entornos de Cloud Foundry hospedado en proveedores cloud como AWS, Microsoft Azure, Google Cloud Platform, y Alibaba Cloud (para China). Como otros servicios BTP, SAP HANA Cloud se ejecuta en el entorno de Cloud Foundry. Este entorno se integra con Kubernetes y hospeda la base de datos SAP HANA Cloud como container.

Container y kubernetes

SAP HANA Cloud está basada en containers, esto significa que SAP HANA, platform edition se ha modificado para prepararse para las características esenciales del computación en el cloud: elasticidad y la separación entre la computación y el almacenado. La elasticidad te permite crecer y encogerse bajo demanda. La tecnología de orquestación de containers de Kubernetes hace esto posible para para los entornos más demandantes. Cuando creas una instancia de SAP HANA Cloud, puedes especificar el tamaño de la memoria en bloques de GB. La computación y el almacenaje se asignan automáticamente. Para el asociado y opcional SAP HANA, data lake, los recursos de computación y almacenado pueden especificarse separadamente y ajustado bajo demanda.

Business Technology Platform, servicio SAP HANA

Antes que SAP HANA Cloud, SAP ofrecía el servicio de BTP, SAP HANA. Técnicamente, esta solución estaba en la rama de SAP HANA 2.0 aunque se identificó como una solución cloud. Este servicio, lanzado en 2018, aun se soporta para clientes pero no está disponible para los nuevos clientes. Los clientes actuales son alentados y se les da soporte para migrar al nuevo servicio SAP HANA Cloud. Previamente, SAP HANA sólo estaba disponible como un servicio de base de datos en BTP, en el entorno NEO, hospedado en los centros de datos de SAP.

SAP HANA en nubes públicas

Varios proveedores de cloud también ofrecen SAP HANA en máquinas virtuales, como soluciones infraestructure-as-a-service (IaaS). En este caso, encontrarás ambos releases de SAP HANA 1.0 y SAP HANA 2.0 así como SAP HANA, express edition, con una licencia de desarrollo (gratis). La primera oferta se remonta a 2012, llamada SAP HANA One, que se certificó para uso productivo en AWS (al mismo tiempo, el único proveedor global IaaS).

Funciones no soportadas

Las siguientes funciones no se soportan en SAP HANA Cloud:

  • SAP HANA extended application services (SAP HANA XS)

Para dar soporte a la versión basada en containers de SAP HANA, se hicieron cambios significantes a la plataforma, y SAP HANA XS se eliminó. El HANA XS integrado, el modelo clásico se eliminó porque ya ha sido deprecado. El add-on SAP HANA extended application services, advanced model (SAP HANA XS Advanced) se eliminó porque usa la misma tecnología que BTP, el servicio de ejecución de Cloud Foundry.

  • Tenant de base de datos

SAP HANA Cloud no soporta la funcionalidad de tenant de base de datos. Aunque la base de datos SAP HANA Cloud en si misma es un tenant de base de datos, no tendrás acceso a la base de datos del sistema y no podrás añadir tenants.

  • Almacenamiento de objetos en memoria

El almacenamiento de objetos en memoria se ha borrado. Este almacenamiento de objetos contiene la tecnología SAP liveCache embebida usada por aplicaciones específicas de SAP. Sin embargo, incluso sin el almacenamiento de objetos en memoria, SAP HANA sigue siendo una base de datos híbrida (HDB). Recuerda que la combinación de un almacenamiento por filas y por columnas en una misma base de datos fue una de las innovaciones de SAP HANA que habilita análisis en tiempo real: procesamiento analítico online (OLAP) en el mismo sistema usado para procesamiento transaccional online (OLTP), un enfoque llamado procesamiento transaccional/analítico híbrido (HTAP).

  • Motor de modelos múltiples

Detrás de una base de datos, SAP HANA también es un motor de procesamiento de modelos múltiples, que referencia a funciones como SAP HANA spacial services, SAP HANA graph, la Application Function Library (AFL) para analítica avanzada usando la Predictive Analysis Library (PAL), y la Predictive Autopmatic Library (APL). Algunos de los motores de procesamiento de modelos múltiples, sin embargo, se han eliminado de SAP HANA Cloud. Por ejemplo, en análisis de texto de SAP HANA se ha eliminado, tambien R integration y la External Machine Learning Library (EML, también conocida como integración TensorFlow). El almacenamiento del documento JSON NoSQL está planeado para su integración en un futuro.

Un Gateway único para todos tus datos

La investigación sobre la viabilidad de realizar operaciones OLTP en una base de datos de almacenamiento de columnas en memoria se remonta a 2006. En ese momento, pocos habrían predicho el auge de la movilidad, redes sociales, big data, computación en cloud, y el Internet de las cosas (IOT) o que los datos de la esfera global crecería de gigabytes a exabytes, haciendo que el almacenamiento de los datos de la empresa en un único sistema no fuera factible o deseable. Por esta razón, SAP HANA Cloud se quedó como “un único gateway para todos tus datos”. En la imagen, el motor de SAP HANA está en el centro, con el almacenaje de datos híbrido (OLAP más OLTP) y el motor de modelos múltiples (características SLQ, spatial y graph, la funcionalidad de buscar textos, y el uso del almacenamiento del documento NoSQL JSON).

Persistencia

La persistencia (almacenamiento) está disponible en memoria, en disco, y como data lakes. La persistencia de disco se proporciona con una extensión de almacenamiento nativo (NSE), un almacén de datos “más usados” de uso general, que se distingue de las anteriores características de la aplicación y la función add-on de extensión de nodos de SAP HANA y la jerarquización dinámica de SAP HANA. SAP HANA Cloud, data lake, aprovecha la tecnología SAP IQ ( pero con un acoplamiento más débil que la jerarquización dinámica).

Virtualización y replicación de datos

Tan importante como la persistencia, SAP HANA Cloud permite la virtualización de datos usando la tenología de federación SAP HANA  Smart Data Access (SDA) y la tecnología de replicación de SAP HANA Smart Data Integration (SDI). Ambas tecnologías han estado disponibles pasa SAP HANA, platform edition por un tiempo, con un SDA integrado y un SDI como add-on.

Con SDA, puedes crear tablas virtuales simplemente con un metadata guardado en SAP HANA mientras mantienes los datos actuales. Esta característica te permite unir datos locales y remotos en una única sentencia SQL o vista analítica (calculada), con la ejecución delegada a donde están los datos. La interacción entre la base de datos SAP HANA Cloud y el data lake de SAP HANA, usa una conexión SDA preconfigurada.

SDI proporciona replicación por lotes en tiempo real con soporte para la transformación y otras funciones de extracción y carga (ETL). Con SAP HANA Cloud, SDA llega con adaptadores integrados para conectar SAP HANA Cloud, SAP IQ, Google BigQuery, y los recursos de datos de Amazon Athena. Para otros recursos, se recomienda SDI.

Además de estas características nativas, para el acceso de datos, también puedes usar la funcionalidad de replicación por eventos encontrada en SAP Landscape Transformation Replication Server (típicamente para datos de aplicación SAP). Otras opciones incluyen replicación ETL usando SAP Data Services (basado en la misma tecnología que SDI pero no restringido a SAP HANA) y la de replicación de logs usando SAP Replication Server, para replicación en tiempo real desde cualquier recurso a cualquier destino. SAP Replication Server aprovecha la tecnología Sybase, como SAP IQ.

Aplicaciones y recursos de datos

En la imagen anterior podemos ver varias fuentes de datos y aplicaciones diferentes, SAP y de terceros. SAP Analiytics Cloud, SAP Data Warehouse Cloud, y SAP Data Intelligence (para aprovechar las tecnologías de machine learning) dependen de SAP HANA Cloud para la persistencia y la virtualización de los datos.

Puedes echar un vistazo para saber más en https://saphanacloudservices.com y https://sap.com/btp

Arquitectura del servicio

Tenant de base de datos

SAP HANA Cloud usa la misma arquitectura de tenant que SAP HANA, platform edition, excepto que la instancia está limitada a único tenant de base de datos. Si necesitas otra base de datos, debes crear otra instancia. Cuando creas una instancia del servicio de SAP HANA Cloud, tu acceso está restringido al tenant de base de datos. El sistema de base de datos está gestionado por SAP. De hecho, no tendrás el control total del tenant de base de datos ya que el usuario SYSTEM está gestionado por SAP y un número de características se han desabilitado.

Inicialmente, la arquiectura del tenant de base de datos se describía como un sistema de base de datos de tenant múltiple (MDC), y este concepto de container capturó con precisión el hecho de que el tenant the base de datos es una entidad aislada. Incluso con un sistema de base de datos o cuentas de administración “superuser” del sistema operativo, no tendrías acceso al tenant. El catálogo de base de datos (con sus tablas, procedimientos y vistas) y también el entorno de seguridad (con sus usuarios, roles y privilegios) son autónomos y están estrictamente separados. Del sistema de base de datos, sólo tendrás acceso de lectura a los metadatos y estadísticas.

La siguiente imagen muestra el explorador de base de datos SAP HANA, una de las herramientas disponibles como servicio e incluida con SAP HANA Cloud. Esta herramienta incluye una consola SQL para ejecutar búsquedas. Lo que también incluye un buscador de catálogo para que “explores” los objetos clásicos de base de datos como schemas, tablas, y vistas así como objectos específicos de SAP HANA como graph workspace o vistas de columnas (cálculos) (incluso una colección JSON como el almacenamiento de documento NoSQL en futuras versiones).

La selección de la imagen muestra la vista de monitoring del sistema M_CUSTOMIZABLE_FUNCTIONALITIES. Esta vista muestra las características que están restringidas para un tenant de base de datos. Para SAP HANA Cloud, esto incluye restricciones en las características de backup, import/export y accesto a la consola de gestión de SAP HANA (HDBCONS) así como límites en las sentencias ALTER SYSTEM para mantener la configuración como se definió.

Los backups son parte del servicio de SAP HANA Cloud y están completamente mantenidos por SAP. Los backups de base de datos se hacen en intervalos regulares, y puedes acceder tanto al backup del catálogo como al archivo backup.log para información detallada. Si necesitas restaurar la base de datos, debes dar de alta una petición de servicio. El acceso al archivo del sistema del host está restringido, y como consecuencia, las funciones de import y export directo están desactivadas. Sin embargo, puedes importar y exportar usando un cliente de base de datos, o puedes conectar a amazon S3 o Microsoft Azure Storage.

DBADMIN

Además del sistema de base de datos, el sistema operativo, y el archivo del sistema, SAP también tiene acceso exclusivo al cuenta superuser de la base de datos SYSTEM del tenant de la base de datos. Este usuario puede ejecutar cualquier acción en la base de datos pero sólo puede acceder a objetos del schema SYS y schemas relacionados. Para que SYSTEM (y SAP) accedan a cualquier objeto de tu base de datos, debes ejecutar explícitamente una sentencia GRANT. En lugar de SYSTEM, para gestionar tu tenant de base de datos, recibirás un clon de superusuario llamado DBADMIN. Este usuario es similar al usuario SYSTEM  pero carece de un único privilegio: USER ADMIN. Como resultado, el usuario DBADMIN no puede hacer ningún cambio en SYSTEM o cualquier otra base de datos de la cuenta del usuario. El usuario DBADMIN tiene privilegios del sistema USERGROUP y es el propietario del grupo de usuarios DEFAULT. Así que, el usuario DBADMIN puede crear otros usuarios y grupos de usuario, como el usuario SYSTEM (excepto para aquellos que están a nivel raíz, fuera del contexto de grupos de usuario). Como usuario con un alto privilegio, SAP recomienda crear cuentas de administración con menos privilegios y luego desactivar el DBADMIN.

Servicios

La siguiente imagen muestra la app Manage Services del cockpit de SAP HANA. Como el explorador de base de datos SAP HANA, el cockpit SAP HANA está incluido con SAP HANA Cloud y proporcionado como servicio. Las diferentes págias o vistas de la herramienta se llaman apps. En la cabecera de la app Manage Service, se muestra el nombre del tenant de la base de datos (H00), que también es el identificador del sistema (SID). El SID y el nombre del tenant de base de datos son importantes para SAP HANA, platform edition. Sin embargo, para SAP HANA Cloud, esta información tiene poca relevancia. Todas las conexiones se hacen a través del endpoint de la instancia del servicio sin especificar el SID o el número de instancia (00).

Fíjate también que el numero de hosts es uno. Mientras que puedes escalar SAP HANA, platform edition, a múltiples hosts, esta funcionalidad no se encuentra ya disponible para SAP HANA Cloud. El escalado a múltiples sistemas de host está planeado para una versión futura. Fíjate que el escalado flexible de los servicios se refiera a un escalado horizontal: arriba o abajo, añadiendo o eliminando recursos. Los sistemas de host múltiple se refieren a un escalado vertical: dentro o fuera, añadiendo hosts de computación.

Si estás familiarizado con SAP HANA, platform edition, reconocerás los siguientes servicios:

  • El servicio daemon actua como un servicio rastreador para todos los servicios, monitorizando estados y reiniciando servicios que no están ejecutándose.
  • El servicio nameserver hospeda el sistema de base de datos.
  • El servicio compileserver compila los procedimientos y SQLScript.
  • Si has activado AFI, para análisis predictivo o algoritmos de machine learning, el servicio scriptserver también está escuchando como un servicio compartido.
    Lo que hace a estos servicios, servicios compartidos es que están configurados y gestionados desde el sistema de base de datos, que también es por lo que no puedes parar estos servicios. Para interactuar con estos servicios, debes conectarte a la base de datos del sistema, que como hemos explicado para SAP HANA Cloud, está restringido a SAP.
  • El servicio indexserver hospeda el tenant de la base de datos.
  • El servicio dbserver, o servicio de provisión de datos, está asociado con el SDI y se conecta al data provisioning agent (DPA) instalado en un host remoto.
  • El servicio diserver es parte del HDI, y como el SDI, este servicio está dedicado a un tenant de base de datos.

Como hemos dicho antes, daemon está configurado por defecto para iniciar servicios parados, por lo que la acción Stop service efectivamente es una petición de reinicio del servicio. Raramente usarás esta acción, la mayoría cuando un servicio no esté actuando como se espera.Con el indexserver, debes tener cuidado porque estás reiniciando la base de datos a la que estás conectado.

La app de Manage Services también lista los roles del servicio (master), pero estos roles son relevante sólo para sistema de host múltiple, una funcionalidad actualmente no disponible para el servicio SAP HANA Cloud. El puerto SQL del indexserver (tenant de la base de datos) listado es relevante sólo para sistemas on-premise para las conexiones del cliente SQL. Para SAP HANA Cloud, las conexiones sólo pueden hacerse usando el endpoint del servicio (puerto TLS 443). Fíjate cómo la configuración por defecto del cockpit de SAP HANA sigue siendo un entorno de SAP HANA, platform edition (on-premise), pero puedes ajustar fácilmente la vista de las columnas de esta app (y la mayoría de las otras apps) haciendo click al icono de engranaje en la cabecera de la tabla. Los servicios son configurables con los parámetros del sistema, y la configuración se persiste en archivos de configuración con una extensión *.ini.

Facebooktwitterlinkedinmailrss

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *