EMPRESA EN TIEMPO REAL DEFINIENDO LA PLATAFORMA DE TI Enero 2015
2
ÍNDICE
1. INTRODUCCIÓN
5
2. PILARES DE UNA PLATAFORMA TI EN TIEMPO REAL
7
2.1 IoT. Internet de las Cosas
7
2.2 Big Data
11
2.3 Fast Data
15
3. LA PLATAFORMA DE TI EN TIEMPO REAL DE ORACLE
17
3.1 Procesado de flujos de entrada de información (Data Streaming, IoT)
20
3.2 Procesado de información bajo el paradigma Fast Data
22
3.3 Procesado de información bajo paradigma Big Data
25
3.4 Otros componentes a tener en consideración
29
3.4.1 Movilidad
29
3.4.2 Personalización en tiempo real
31
3.4.3 Calidad del dato
32
3.4.4 Seguridad de la información
34
3.5 Propuesta de plataforma TI en tiempo real
37
3.6 Ejemplos de plataformas TI en Tiempo Real desplegadas con tecnología Oracle
38
4. CASOS DE USO EN RETAIL
40
5. VENTAJAS DE LA ADOPCIÓN DE UNA PLATAFORMA DE TIEMPO REAL FRENTE A LA OPTIMIZACIÓN DE LOS TIEMPOS DE ACCESO A BASE DE DATOS
41
3
4
1 INTRODUCCIÓN
M
ovilidad, Internet de las Cosas, redes sociales, Big Data, … no son tendencias, sino una realidad. Muchos aspectos de nuestra vida y del uso que hacemos de la tecnología han evolucionado estos últimos años, abriendo de este modo nuevas posibilidades y servicios, pero creando, al tiempo, también nuevas necesidades y retos. Esta disrupción tecnológica se hace más patente en el sector empresarial. Las compañías buscan nuevas fórmulas de negocio que les permitan aprovechar estos nuevos modelos de relación con sus clientes mediante la aplicación de factores digitales en sus procesos de negocio. El concepto de empresa en tiempo real se va extendiendo cada vez más no sólo aplicado a las operaciones que soportan el análisis y la toma de decisiones estratégicas, sino a cualquier proceso asociado con la actividad cotidiana de la empresa, desde la interacción con el cliente en el punto de venta, hasta el cálculo de disponibilidad de existencias o la planificación de la demanda. La implantación de estrategias de tiempo real es diferente según cada sector y cada empresa, pero, en todo caso, la adopción de estas estrategias viene soportada por transformaciones significativas en el ámbito de las tecnologías de la información. Los catalizadores para la adopción de una estrategia de empresa en tiempo real están relacionados con la búsqueda de mejoras en cuatro dimensiones de negocio fundamentales: Agilidad del negocio. Eficiencia operativa. Diferenciación competitiva. Satisfacción del cliente. Desde la perspectiva de un departamento de sistemas de información esto se traduce, fundamentalmente, en tres grandes aspectos:
Reducir los costes y tiempos necesarios para integrar los diferentes sistemas/aplicaciones para dar respuesta a nuevas necesidades, permitiendo la modificación de los procesos que soportan el negocio de forma rápida y sencilla.
Disponer de una visión unificada y accesible de todos los datos generados/recogidos en los diferentes sistemas y aplicaciones.
Poner, en el menor tiempo posible, a disposición de las aplicaciones que soportan la operativa de negocio la información actualizada, independientemente de cuál haya sido la aplicación, proceso, unidad de negocio, proveedor, tienda física, filial, país, etc. que ha provocado el cambio en los datos. 5
A la hora de diseñar las plataformas de TI que permitan soportar el cambio hacia la empresa en tiempo real hay que tener siempre en consideración que la estrategia de negocio de cada empresa determinará cuáles son los datos que deberán ser gestionados por los sistemas de información, cuál será la naturaleza de estos datos (estructurados, no estructurados o semi-estructurados) y cuáles serán las decisiones de negocio que deberán ser soportadas. Además hay que tener en cuenta que la empresa debe enfrentarse a un entorno cambiante, en el que los datos a gestionar, la naturaleza de estos datos, e incluso el tipo de decisiones de negocio a tomar, cambiarán de manera significativa a lo largo del tiempo. En el presente documento se pretenden explicar las ventajas que aporta, tanto para el departamento de TI, como para el negocio, la adopción de una plataforma TI basada en combinar tres nuevos paradigmas de sistemas de información: Internet of Things Fast Data Big Data
INTERNET OF THINGS
FAST DATA
BIG DATA
Figura 1: Paradigmas de sistemas de información
La combinación de estos tres paradigmas a la hora de realizar el diseño de una plataforma tecnológica, permite a la empresa responder de forma proactiva y predictiva frente a los cambios en el entorno, en lugar de la tradicional respuesta reactiva que es soportada por las arquitecturas actuales.
6
2 PILARES DE UNA PLATAFORMA TI EN TIEMPO REAL
A
unque al pensar en IoT los primeros casos de uso que normalmente se nos ocurren tienen que ver con la sensorización (smart cities, control remoto, gestión del tráfico, teleasistencia, etc.) no hay que olvidar que dentro de este paradigma también se incluyen los teléfonos móviles y tablets, que cada vez más están reemplazando a los tradicionales PCs de sobremesa, y no sólo para navegar por internet.
IoT. Internet de las Cosas La evolución de las tecnologías de la información en las últimas dos décadas ha pasado por:
Multi-function Embedded Devices
Smart Energy & mHealth Sensors & Micro controllers
Personal Devices
Años 90. Inicio y despliegue de internet y la conectividad generalizada de los PCs y la Web. 2000-2010. Popularización de internet y generalización del acceso desde las empresas y hogares. 2010-2014. Dispositivos móviles inteligentes: tablets y smartphones se conectan a internet. 2015 - ?. Según las previsiones, los próximos años vendrán marcados por la Internet de las Cosas. Siendo las capacidades de conectividad de los dispositivos la clave de la evolución de la TI en los próximos años.
Connected Vehicles
Communications Industrial controls & Network Appliances
Smart Appliances & Consumer Electronics
Figura 2: IoT 7
Shoppers Want to Be Mobile. Retailers Aren´t. Ther Yet. While customers expect to shop, pay and interact more via their movile devices, retailers are not ready yet.
71%
of shoppers are interested in paying by phone
Shoppers Retailers
9%
of retailers have mobile wallet capabilities
78%
27%
of shoppers expect to increase their purchases via mobile phone
49%
of retailers have purchasing capabilities on their mobile website
of shoppers want access to customer reviews and ratings while is store
Shoppers
60%
78%
of respondents are interested in posting to social media while shopping in store.
Retailers
14%
of retailers use QR codes/digital signage to provide additional product information
Figura 3: Accenture. Mobile Shopping. How seamless are you?
Uno de los grandes retos que supone la explosión de los dispositivos móviles conjuntamente con el auge del comercio electrónico es poder dar una respuesta adecuada a los usuarios de las aplicaciones móviles cuando interactúan con la plataforma de comercio electrónico, no sólo para realizar compras aisladas desde sus teléfonos móviles, sino también para: 8
Comprar online productos que se han probado en una tienda física (showrooming). Tendencia impulsada especialmente por la posibilidad de conseguir precios menores en la plataforma de comercio electrónico. Consultar disponibilidad y precios de productos en la web, pero realizar la compra en tiendas físicas (webrooming) normalmente cercanas a su localización.
Pagar su compra utilizando su dispositivo móvil en lugar de efectivo o tarjeta de crédito. Suscribirse y recibir promociones o recomendaciones en su aplicación móvil. Publicar comentarios respecto a su experiencia de compra. Contextos de identificación en tiendas físicas, por ejemplo para montar sistemas automatizados de recogida de pedidos. Este tipo de funcionalidad, en el caso de España, puede adquirir mayor relevancia con la extensión del DNIe 3.0 que incorpora un chip NFC. Etc.
Estos dispositivos móviles, además de la operativa generada directamente por el usuario al navegar por internet, interactuar con redes sociales, realizar operaciones desde aplicaciones móviles de comercio electrónico, etc. también permiten de manera automática conocer su posición actual, identificar al usuario de la plataforma de comercio electrónico, etc. Aspectos estos que pueden ser de interés para modificar la forma en que desde las empresas se relacionan con sus clientes, empleados y proveedores, mejorando la eficiencia operativa o desarrollando nuevos modelos de negocio. Pero toda esta información carece de valor si obligamos al usuario a esperar durante decenas de segundos o, incluso minutos, para poder obtener la información de disponibilidad de una prenda en una tienda que se encuentra cerca de su actual ubicación, si le obligamos a esperar para poder hacer un pedido con recogida en tienda mientras verificamos si existe disponibilidad de la talla que desea, o si recibe una promoción minutos después de pasar delante del centro comercial en que está vigente, etc. Es decir, toda la interacción con un usuario de dispositivo móvil debe garantizar que el tiempo de respuesta al usuario es inmediato o en tiempo casi real.
Otra de las tecnologías que se incluyen bajo el paraguas de IoT es todo lo referente a RFID, cada vez más extendida en entornos industriales, retail, etc. y utilizada entre otras cosas para: Trazabilidad. Mejora de la gestión de stocks e inventario. Mejorar la atención al cliente en tiendas físicas.Etc. La extensión de la implantación de RFID en los procesos de las empresas permite no sólo mejorar la eficiencia en los procesos internos, sino que al proporcionar información en tiempo real de los movimientos de los productos (salidas de centros logísticos, recepción en tienda, venta, etc.), permite además crear nuevos procesos que incrementan el valor ofrecido a los clientes, especialmente combinando esta tecnología con el comercio electrónico y los dispositivos móviles.
Así, si una empresa es capaz de eliminar las latencias asociadas al procesado de la información RFID, podrá ofrecer a sus clientes: Consulta en tiempo real de disponibilidad de productos en tienda. Consulta y posibilidad de compra de productos en tránsito desde centros logísticos hacia tiendas, informando al cliente de la fecha prevista de disponibilidad. Avisos de recepción en tienda de determinados productos/ tallas de interés para el cliente. Sugerencias de tiendas cercanas alternativas a la elegida por el cliente (y sin existencias del producto/talla) para recogida en tienda de un producto comprado en la plataforma de comercio electrónico. Etc. 9
Además de las iniciativas ya comentadas, asociadas al comercio online y la RFID, la IoT está también modificando la forma que se produce la relación con los clientes en las tiendas físicas, permitiendo: Precio dinámico: fijando el precio en tiempo real en base a diferentes elementos que pueden variar, como por ejemplo el coste de los materiales, las condiciones metereológicas locales, la demanda y disponibilidad actual, etc. Screenless Experiences: que permitirán al cliente obtener información personalizada de los productos interactuando desde interfaces sencillas o desde sus dispositivos móviles. 10
Alertas de proximidad: que permitirán no sólo atraer al cliente a la tienda (como ya se ha comentado), sino también avisarle de la ubicación dentro de la tienda de aquellos productos que le interesan, presentarle ofertas personalizadas en función del producto que está comprando o para el que ha realizado una consulta de información con su móvil, etc. Este tipo de iniciativa se verá facilitada por los beacons en la tienda y el Bluetooth Smart (ó Bluetooth LE) en los dispositivos móviles.
Punto de venta y entrega móviles: la combinación de RFID y códigos QR con tecnologías como el NFC que permiten el pago móvil permitirán a los encargados de tienda cobrar al cliente en cualquier punto de la tienda, o más aún disponer de “quioscos” en la tienda dónde el cliente puede realizar el pago y desactivar los sistemas de alarma de los productos. Los proveedores de tarjetas de crédito y diferentes bancos españoles, como por ejemplo el BBVA o Caixabank están lanzando aplicaciones que permiten el pago móvil. Etc.
Big Data Si observamos las magnitudes de los datos generados a raíz de la expansión de Internet y de la masiva utilización de ordenadores y otros dispositivos electrónicos, tanto para uso empresarial, como para uso personal, podríamos pensar que Big Data está enfocada sólo a almacenar y gestionar la cada vez mayor cantidad de Petabytes generados. Sin embargo, esta visión es errónea, ya que no se trata de almacenar datos, sino de transformar estos datos (generados por la actividad de las personas, dispositivos móviles, sensores, máquinas y procesos) en valor para el negocio, utilizando inmediatamente los datos recogidos o extrayendo la información que contienen y utilizándola para incrementar el volumen de negocio, la productividad o el conocimiento del entorno.
Bid Data are High volume, high velocity and high variety information assets that require new forms of processing to enable enhanced decision making and insight discovery.* enabling corporations to make near real-time decisions...
INFORMATION MANAGEMENT
ADVANCED ANALYTICS
Figura 4: Gartner. Definición de BigData
Aplicaciones Big Data típicas son, por ejemplo, la monitorización del uso de electricidad en los hogares, la gestión y seguimiento del tráfico de mercancías, la personalización de las ofertas a clientes en plataformas web, el aprovechamiento de la información de geolocalización de dispositivos móviles y tarjetas de crédito, etc.
Para lograr esta generación de valor será necesario gestionar información incluida tanto en flujos de datos estructurados (típicamente originados por procesos de negocio informatizados), como en flujos de datos no estructurados (información de logs, twitter, etc.) lo cual supone una dificultad añadida. 11
VELOCIDAD
Éstas y otras aplicaciones de Big Data, tienen en común: Volumen: se manejan grandes volúmenes de datos, especialmente en el caso de los datos no estructurados. Velocidad: los datos cambian muy rápidamente, esto hace que sea preciso procesarlos con extrema rapidez porque muchos de estos datos pierden valor al poco tiempo de haber sido generados. Variedad: los datos pueden provenir de muy diferentes orígenes: sensores, redes sociales, peajes, puntos de venta, logs de navegación web, comentarios de blogs, redes sociales, etc. Esto hace que tengamos que implementar diferentes estrategias de procesamiento según cuál sea el origen del dato que queremos procesar. 12
VOLUMEN
VARIEDAD
DATA LAKE
VERACIDAD
Figura 5: Construcción de la visión unificada del dato empresarial
Veracidad: en toda esa ingente cantidad de datos se puede encontrar información valiosa que puede ayudar a incrementar el volumen de negocio, encontrar nuevas formas de negocio, etc. El objetivo de una estrategia de Big Data debe ser encontrar esa información y hacerlo lo más rápidamente posible. Como ya se ha comentado, la diferente tipología de los datos exigirá disponer de herramientas que permitan hacer frente a las características específicas de cada uno de ellos. Así, para los datos estructurados (con mayor densidad de información) tendremos los tradicionales sistemas de DWH
soportados por motores de bases de datos relacionales. En el caso de los datos no estructurados, en los que la densidad de información es pequeña; pensemos, por ejemplo, en un documento de texto o una entrada de un blog, en los que sólo una pequeña porción de texto aporta información realmente relevante, será necesario disponer de soluciones que permitan encontrar patrones de información y realizar estas búsquedas simultáneamente sobre gran cantidad de datos. Es para dar respuesta a este tipo de procesado para lo que surgen los sistemas de ficheros distribuidos y en concreto Hadoop, que ha acabado por convertirse en un estándar de facto.
Primary Use Cases for Hadoop What are the primary use cases for Hadoop in your organization? Analysis of transactional data from sales or point-of-sale systems Analysis of online customer behavior data Service innovation (e.g., to aid development of a new service for clients) Analysis of operations-related data Analysis of machine or device data Conversión of a data warehousing solution Nonanalytic workloads
(e.g., use of data analytics technologies to run OLTP, Web sites or email applications)
Web analytics
(e.g., ad targeting, spam/virus detection and search)
Others Don´t know
Figura 6: Casos de uso de Hadoop. “IDC. Trends in Enterprise Hadoop Deployments”
Por otra parte, tendremos datos semiestructurados, como los generados por sensores, que precisan un proceso semejante al de las bases de datos tradicionales,
0 5 10 % of respondents
pero con la diferencia de que no será necesario definir modelos de datos complejos, con múltiples tablas relacionadas entre sí. Además, el esquema que soporte
15
20
25
30
35
40
45
su procesamiento debe ser dinámico. Para responder a estas necesidades se utilizan las bases de datos No SQL (Not Only SQL).
Figura 7: Tipología de datos y repositorios asociados 13
Figura 8: Oracle. Modelo de gestión de la información
Frente a las arquitecturas de TI tradicionales, basadas en la construcción de modelos de datos ajustados a las aplicaciones (schema on write), las nuevas plataformas de TI orientadas a Big Data están más focalizadas en capturar los datos tal cual son generados y preparar distintas vistas de estos datos teniendo en cuenta cómo van a ser consumidos (schema on read). Esto no quiere decir que se abandonen las tecnologías informacionales clásicas como los DWH, sino que estos pasan a ser considerados como un consumidor más de los datos (utilizando un sistema relacional) que debe ser alimentado de forma continua e incremental a partir de datos estructurados y no estructurados, eliminando o reduciendo a la mínima expresión las ventanas de carga. De hecho, los tradicionales procesos de carga de 14
datos, concebidos de manera batch, y ejecutados a intervalos regulares (cada varias horas, diarios, etc.), pasan a convertirse en estos nuevos modelos en procesos continuos y dinámicos de aprovisionamiento, es decir, en procesos de datastreaming que alimentan las plataformas Big Data (y, por extensión, DWH) constantemente, reduciendo al mínimo la latencia del dato y permitiendo obtener una visión cercana al tiempo real. En resumen, las tecnologías y propuestas arquitecturales incluidas bajo el paradigma de Big Data permitirán: Disponer de una visión completa, unificada y consistente de toda la información relevante para el negocio a partir de datos
generados por los sistemas operacionales o capturados desde redes sociales, dispositivos móviles, sensores, etc. Simplificar los procesos de captura, gestión y consumo de información. Incorporación de nuevos tipos de datos e incremento de la profundidad histórica que facilitará la identificación de patrones. Implantar políticas de gestión y gobierno del dato unificado. Implantar nuevos modelos de alimentación de los sistemas informacionales que permitan reducir los tiempos de obtención de información de valor.
Fast Data Como ya se ha visto para el caso de IoT (epígrafe 2.1) para poder aprovechar las oportunidades de negocio generadas por la explosión de dispositivos móviles, es crucial disponer en los sistemas operacionales en tiempo real de los datos que nos informan de stock (inventario en tienda física, en tránsito, etc.), la ubicación del cliente, etc. y poder tomar rápidamente decisiones en función de esos datos. Sin embargo, la realidad hoy en día es que, en la mayor parte de los casos, desde que un sistema operacional (sistema de gestión de almacén, transporte, punto de venta, etc.) genera una operación/evento que provoca una modificación en los datos (por ejemplo existencias de un producto en una tienda) relacionado con la toma de una decisión de negocio (compra
de un producto con recogida en tienda), hasta que el dato está actualizado y disponible para los sistemas operacionales (comercio electrónico, aplicación móvil, etc.) que lo necesitan, transcurre demasiado tiempo, de forma que no se tiene la certeza de que el dato tenga la calidad/veracidad necesaria para su utilización. Esto hace que las empresas estén perdiendo posibilidades
de incrementar sus ingresos con nuevas ventas y reducir sus gastos gracias a mejoras operacionales. Diferentes estudios, como por ejemplo el de Aberdeen Group que incluye la estadística mostrada en la Figura 9, indican que uno de los principales motivadores en las nuevas iniciativas de gestión del dato es la excesiva latencia asociada a los datos.
Too much crucial business information is deliverd late
53%
Frowing data is inaccessible or under-utilized for business analysis
47%
Data is too fragmented/”solied” to develop a clear picture of the business
46%
The volume of data is growing too rapidly for our current data infrastructure
40% All Respondents
Figura 9: Principales motivadores para las iniciativas de gestión del dato “Aberdeen Group, Data Management for BI. Big Data, Bigger Insight, Superior Performance, January 2012” 15
Foco del Paradigma Fast Data
Valor para el negocio
Evento de Negocio
Generar valor en el menor tiempo de respuesta posible
Tiempo
Figura 10: Fast Data. Generación de Valor
El paradigma de Fast Data pretende aportar más valor al negocio incrementando la velocidad, y reduciendo las latencias a la que los datos están disponibles para su utilización en las aplicaciones y procesos que permiten generar valor para el negocio, bien incrementando las ventas, bien mejorando la eficiencia operacional. Así pues, Fast Data trata de: Obtener más valor de los datos en vuelo. Tomar decisiones más rápidas. Mejorar la visibilidad y previsibilidad. Ejecutar las operaciones de negocio en tiempo real. Para ello, y frente a los tradicionales sistemas de gestión de procesos de negocio en el que siempre existe un disparador del proceso que está claramente identificado (una operación de recepción de mercancía, un cliente que lanza un pedido desde la web, etc.), en el caso de Fast Data no se espera a que se produzca de forma explícita 16
un evento que desencadene la ejecución del proceso, sino que se opta por un enfoque proactivo en el que se monitoriza permanente el flujo continuo de datos recibidos, o data-streaming, desde cualquier canal (tienda física, online, RFI, sensores, dispositivos móviles, etc.) para determinar si es necesario proceder a realizar el lanzamiento de un proceso de negocio (oferta, alerta, descuento adicional, etc.). En este análisis del flujo continuo de datos cada nuevo dato recibido será tratado como un evento, independientemente de que se trate de información de un tag RFID, de una lectura de un dispositivo cuenta personas, de un ticket de venta, etc. Este evento, bien por sí mismo, o bien en correlación con otros eventos recibidos previa, simultánea o posteriormente será susceptible de desencadenar un proceso de negocio; esto no quiere decir que todos los eventos recibidos provoquen el desencadenamiento de un proceso de negocio, sino que será un grupo reducido el que lo provoque, siendo crítico para el negocio identificar este pequeño subconjunto de eventos tan pronto como se producen.
Las necesidades de negocio que están haciendo que cada vez más las empresas evolucionen sus plataformas de TI teniendo en cuenta el paradigma de Fast Data son principalmente las cuatro siguientes: Lanzamiento de nuevos servicios que precisan de datos en tiempo real. Por ejemplo campañas de marketing basadas en la ubicación del cliente. Mejorar la experiencia multicanal del cliente. Para lo cual es necesario acceder en tiempo real a información del perfil del cliente, experiencias previas de compra, stocks, etc. Mejorar la eficiencia operacional. Por ejemplo reduciendo los costes de la cadena logística, desarrollando o ampliando los usos de las iniciativas de RFID, mejorando los mantenimientos de dispositivos, etc. Mejorar la calidad de las operaciones. Reduciendo el número de roturas de stock, mejorando los tiempos de la cadena de abastecimiento, etc.
3 LA PLATAFORMA DE TI EN TIEMPO REAL DE ORACLE Teniendo en cuenta lo comentado en los anteriores puntos del presente documento, la propuesta de arquitectura TI en tiempo real de Oracle se basa en los siguientes principios de arquitectura fundamentales: Utilización de la mejor tecnología para cada tipo de dato utilizando un enfoque innovador basado en el modelo de Data Lake ligado a tecnologías de Big Data en el que se implanta un repositorio único de datos en su formato nativo, utilizando para ello diferentes tecnologías que se adaptan a la naturaleza de cada tipo de dato (Figura 7). Ingesta de datos con un modelo de data-streaming, en tiempo “casi” real, utilizando una arquitectura adaptada al flujo de datos y tipología de la información que permita reducir al mínimo las latencias asociadas al procesado del data-streaming. Enfoque modular, garantizando escalabilidad futura y coexistencia con los sistemas existentes y garantizando posibles evoluciones futuras de estos sistemas. Plataforma de Data Lake desacoplada de los sistemas de producción, distribución y consumo de datos corporativos existentes. De forma que se minimicen los impactos en la operativa actual y futura del negocio.
Historificación del dato en entorno Big Data y accesibilidad de manera transparente por las aplicaciones. Esta historificación será transparente para las aplicaciones y estas no precisarán conocer si el dato que consultan está almacenando en una base de datos relacional, NoSQL o en un sistema de ficheros distribuido Hadoop. Implantación de una política de calidad del dato que detecte y prevenga posibles errores e inconsistencias. El análisis detallado de los datos generados por los diferentes canales de interacción con el cliente, tags RFID, etc. será inviable si no es posible realizar comparaciones entre conjuntos de datos con diferentes orígenes, de forma que será necesario aplicar políticas de normalización y calidad de los datos que permitan construir una visión unificada de la realidad del negocio y del entorno.
Independencia entre las capas de gestión de la información y el acceso a los datos usando interfaces basados en estándares. Reducción de los costes de integración y los riesgos asociados. Permitiendo reaccionar de forma ágil ante cambios en los modelos de negocio. Implantación de un Laboratorio del Dato basado en la utilización de herramientas de descubrimiento de información y analíticas avanzadas que permitan desarrollar estrategias innovadoras de análisis de los datos contenidos en el Data Lake, de forma que se mejore la interpretación de los datos y se puedan realizar extrapolaciones útiles para el negocio, en definitiva se aporte valor a negocio desde los datos. Calidad de servicio: disponibilidad, rendimiento, escalabilidad, fiabilidad, seguridad. 17
La visión lógica de la propuesta de plataforma TI en tiempo real de Oracle se estructura en base a los siguientes bloques:
Flujos de Datos
Eventos de Interés
Procesado Tiempo Real
Datos operacionales Datos web & social Ejecución Innovación
Conocimientos /Ideas
Depósito de Datos
Data Factory
DWH
BI y Reporting
Información Operativa
Nuevos patrones/ hallazgos
Evento & Datos Laboratorio Descubrimiento de Información
Figura 11: Visión lógica
Uno de los enfoques de adopción de estas tecnologías consiste en identificar un caso de uso concreto y acotado que permita desplegar las diferentes piezas tecnológicas que componen la plataforma de forma que exista un beneficio a corto plazo. Ejemplos de casos de uso en el sector retail serían los siguientes: Disponibilidad de información permanentemente actualizada de los datos de inventario y stock (comercial, en tránsito, administrativo, etc.) Previsión de la demanda. Perfilado y segmentación de clientes que permitirán la personalización de campañas de marketing. Venta cruzada en plataforma de comercio electrónico. Recomendaciones en base a ubicación geográfica. Movilización del punto de venta. Buy On Line Pick Up in Store y Webrooming. 18
No parece factible abordar simultáneamente todos los posibles casos de uso, siendo necesario acotar el despliegue inicial de una plataforma de tiempo real a uno o pocos casos. Aunque en una primera fase sólo se aborde un caso de uso, a la hora de realizar el diseño de la plataforma, se ha de tener en cuenta que desde el primer momento deben incluirse los elementos que permitan:
El enfoque de tiempo real es más innovador que otros planteamientos enfocados sólo a resolver la problemática concreta de un caso de uso. Por ejemplo, alternativas basadas en implementar mejoras tecnológicas sobre la plataforma ya existente que permitan reducir los tiempos de respuesta de determinadas consultas de las aplicaciones; por ejemplo mediante la utilización de una caché de objetos en memoria que descargue de consultas al backend, bases de
Realizar la captura en tiempo real de eventos. Social
Mantener un grid (caché distribuida) de datos en memoria accesible por los diferentes sistemas operacionales. Disponer de repositorios de datos Hadoop, NoSQL y relacionales. Garantizar unos niveles mínimos de calidad y seguridad de los datos.
Mobile
Procesado Tiempo Real Big Data
IoT
datos en memoria para resolver los problemas de rendimiento de consultas, etc., renunciando a abordar la adopción de una filosofía de desarrollo de sistemas y aplicaciones orientadas al tiempo real.
Estos enfoques más conservadores tienen una serie de importantes limitaciones tácticas y estratégicas, que se verán en el punto 5 del presente documento. Además, plantean significativas limitaciones
a la hora de dar respuesta a nuevas necesidades de negocio en relación a la adopción de nuevos modelos de negocio asociados a movilidad, comercio electrónico, redes sociales, etc.
GENERACIÓN
TRANSPORTE
Evento
Gestor Eventos
Base de Datos
CÁLCULOD GRID DE DATOS EN MEMORIA
A continuación se describen los elementos principales que conforman la propuesta de plataforma en TI en tiempo real de Oracle, teniendo en cuenta un proceso de negocio genérico que sigue el siguiente flujo:
ISTRIBUCIÓN
Bus De Servicios
Captura de cambios
App1 App2 App3
Data Streaming
Raw Data Reservoir
Figura 13: Proceso de negocio genérico
Foundation Data Layer
Access & Raw Data Performance Layer Reservoir
DWH
Laboratiorio del Dato
19
Procesado de flujos de entrada de información (Data Streaming, IoT) La plataforma debe disponer de capacidad de capturar la información originada tanto por ele-mentos técnicos (elementos RFID, información de localización de móviles, beacons, etc.), como por procesos de negocios (ventas en
tiendas físicas, ventas en plataforma de comercio electrónico, envíos y devoluciones de material, etc.). Pero no será suficiente con capturar los datos generados por esos flujos constantes de datos, sino que además, como ya se ha comentado, será
GENERACIÓN
TRANSPORTE
Evento
Gestor OEP Eventos
Base de Datos
CÁLCULOD GRID DE DATOS EN MEMORIA
necesario disponer de capacidades de análisis y toma de decisiones asociadas a la información detectada en el flujo de datos y reglas de negocio predefinidas, detectando determinadas condiciones de negocio y reaccionando ante ellas. ISTRIBUCIÓN
Bus De Servicios
Golden Gate
App1 App2 App3
Data Streaming
20
Raw Data Reservoir
Foundation Data Layer
Figura 14: Procesado de flujos de entrada de información
Laboratiorio del Dato
Access & Raw Data Performance Layer Reservoir
DWH
Los flujos de entrada de información pueden tener dos orígenes claramente diferenciados: Información recibida en formato de evento: ficheros con información de operaciones como por ejemplo tickets de ventas, lecturas de sensores, datos de posicionamiento, correos electrónicos, mensajes de redes sociales, logs de navegación en catálogo o tienda web, etc. Actualizaciones de bases de datos de aplicaciones operacionales: inserción de registro de movimientos, movimiento contable registrado en la base de datos de ERP, actualización de vacaciones en sistema de RR.HH., etc.
Independientemente de cuál sea el origen del flujo de entrada de información, lo importante será capturarlo inmediatamente después de que la base de datos operacional se haya actualizado o de que el fichero, lectura, etc. sea recibida en los sistemas. Para ello Oracle propone dos soluciones: Oracle Event Processing: para la captura, análisis y correlación entre eventos, verificación del cumplimiento o no de reglas y patrones preestablecidos, extracción de datos de interés, etc. Constituye la mejor estrategia para realizar ingesta masiva de información con el menor consumo de recursos, así como la mejor manera de poder evaluar, analizar y reaccionar lo antes posible ante la ocurrencia de un evento de interés para negocio. Permitiendo de manera sencilla responder al incremento de necesidades de procesado de eventos.
Oracle Golden Gate: solución de captura de cambios en bases de datos que permite la captura e inserción en los motores de bases de datos de los principales fabricantes. Golden Gate dispone de funcionalidades que le permite realizar la inserción de los datos en el sistema destino utilizando diferentes estrategias, entre ellas está GG-JMS que permitiría transformar un cambio en base de datos en un evento que se hace llegar vía colas JMS a Oracle Event Processing, de forma que en este se podría tratar como si fuese un evento originado por la recepción de un fichero o la lectura de un sensor. 21
Procesado de información bajo el paradigma Fast Data
Una vez identificado el o los eventos de interés para el negocio mediante Oracle Event Processing, es necesario extraer del conjunto de datos asociados aquellos que son de interés para los procesos de negocio que harán uso del paradigma de procesado de información de Fast Data.
OEP permitirá, a partir de la obtención de los datos de un evento, lanzar diferentes ramas paralelas de procesado, de forma que, por ejemplo, podrá persistir el fichero XML ó JSON asociado al evento en Oracle NoSQL y en paralelo extraer la información asociada a 3-4 campos que son necesarios para actualizar los datos críticos de negocio que se gestionan en el grid de datos en memoria.
Coherence es la solución de Oracle para realizar la implementación del grid de datos en memoria. Se trata de la mejor solución en cuanto a alta disponibilidad, escalabilidad, rendimiento, off-loading de plataformas tradicionales, implementación de cálculo y acceso en tiempo real a información almacenada y compartida entre diferentes sistemas de información de diferentes naturalezas.
App3
Figura 15: Procesado de información bajo el paradigma Fast Data 22
Figura 16: OEP. Ejemplo de programación de flujo de eventos
La utilización de un grid de datos en memoria es una solución tecnológica conceptualmente simple y en la práctica proporciona una gran agilidad y simplicidad de administración proporcionando las siguientes ventajas clave: Escalabilidad extrema predictiva: Objetos que representan “estado”. Objetos que representan “reglas de negocio” y operaciones CRUD. Gestión y propagación de eventos. Gestión de réplicas de información.
Rendimiento extremo en acceso a datos y procesamiento paralelo en tiempo real. Escenario para implementar servicios en tiempo real en datos y en reglas de cálculo de negocio aplicables de manera distribuida por los nodos del grid de datos.
El modelo de datos está orientado a facilitar las consultas en tiempo real (utilización de modelos clavevalor). No hace falta desnormalizar para ser más eficiente puesto que ya lo está en diseño.
Alta disponibilidad y extrema robustez en cuanto a la tolerancia a fallos. Modelo distribuido donde no hay maestros ni esclavos. Contiene “loaders” para reconstruir en cualquier momento los objetos en caso de inicio o caída del sistema. Para reducir al máximo estos tiempos de reconstrucción se recomienda utilizar Oracle NoSQL como repositorio para la persistencia de los objetos.
Sincronización automática entre el grid de datos y plataformas de gestión de datos (Oracle NoSQL DB y Oracle Database)
Integración con arquitecturas SOA tradicionales así como otras aplicaciones tradicionales. Compartición de información entre diferentes plataformas y sistemas de información. Posibilidad de consulta de los datos utilizando CQL, lenguaje similar al SQL.
Soporte a la gestión transaccional de acceso a datos y ejecución de servicios en memoria. Integración de modo nativo con: Oracle Event Processing Oracle Golden Gate (Coherence Hot Cache): es posible definir mapeos entre registros de una tabla origen de los cambios y los campos de un objetodel grid de datos destino de los cambios. 23
Figura 17: Detalle del procesado de información bajo paradigma Fast Data
Dentro del propio Coherence se implementa una arquitectura orientada a eventos, de tal forma que se pueden configurar listeners dentro de Coherence que cuando reciben un evento permiten disparar acciones que, a su vez, actualizarán los campos de otro objeto u objetos gestionados en el grid de datos en memoria haciendo disponible de forma casi instantánea esa información a los sistemas y aplicaciones operacionales que utilizan la información del objeto calculado. Con la combinación OEP + GG + Coherence es posible obtener valores muy reducidos de latencia del dato, teniendo en cuenta la naturaleza de los consumidores de información; de forma que el modelo de objetos se diseñe orientado al consumidor y este 24
no tenga que hacer operaciones de agregación o cálculo, que introducirían retardos, para poder utilizar el dato. Además utilizando el Oracle Service Bus podemos simplificar el proceso de consumo de la información gestionada en el grid de datos en memoria ya que puede permite ejecutar consultas CQL y devolver los datos en diferentes formatos: XML, JSON, etc. en función de cual sea el que mejor se adapte a la naturaleza del consumidor, permitiendo crear servicios web de consulta de los datos de Coherence para dar respuesta a nuevas necesidades de las aplicaciones sin necesidad de realizar cambios en el modelo de objetos. Con esta estrategia de diseño de los objetos del grid de datos enfocado
a los consumidores y con el filtrado de información realizado en OEP, es posible eliminar la necesidad de utilizar complejos procesos ETL para poder calcular los valores de datos críticos para los procesos de negocio. Sin embargo, hay que tener en cuenta que existen otro tipo de necesidades, como pueden ser la elaboración de informes, la búsqueda de patrones de fraude, etc. que no pueden ser implementados de forma óptima con una solución de grid de datos en memoria y responden mejor a un procesado en sistemas DHW tradicionales. Para este tipo de necesidades OEP + Coherence también son de utilidad, ya que disponen de integraciones nativas con Oracle NoSQL y Oracle Database.
Procesado de información bajo paradigma Big Data Como ya se ha comentado, con la utilización del paradigma de Fast Data es posible acceder en tiempo casi real a la información actualizada de los datos críticos de negocio. Pero los accesos a estos datos están muy orientados
a la toma de decisión en procesos de negocio transaccionales y no presentan un comportamiento óptimo para la ejecución de tareas de analítica descriptiva y prescriptiva.
Para ese tipo de procesado que requiere el cálculo de agregados, análisis de datos históricos, o el cruce de información de múltiples fuentes es mucho mejor un enfoque de BigData.
Figura 18: Procesado de información bajo paradigma Big Data 25
Retención de datos por periodos cortos de tiempo y/o retención de Subconjuntos de datos que agilizan aplicativos
Datos
EP
NoSQL RDBMS
Pero aunque no se trate de obtener resultados en rabioso tiempo real, también hay que tener en cuenta que es necesario reducir al máximo los tiempos necesarios para la obtención de resultados. Por ejemplo, en el análisis de nuevos patrones de fraude, cuanto antes se detecte este y se definan las reglas de verificación que es necesario ejecutar en tiempo real en OEP, menor serán las pérdidas ocasionadas. Como se ha visto, cada vez es más importante para el negocio poder acceder a todo tipo de datos y en los enfoques de datawarehouse tradicionales: En los procesos ETL se va perdiendo información en cada paso. Los datos no estructurados normalmente no se procesan. Los datos históricos no considerados podrían tener importancia. 26
Sistema principal para analíticas y publicaciones de informes
Hadoop Retención de datos de “largo recorrido”, ejecución de procesos batch de análisis.
Figura 19: Visión lógica de Big & Fast Data
Por ello, uno de los principios que Oracle tiene en cuenta a la hora de diseñar la propuesta de plataforma TI en tiempo real es reducir al máximo las transformaciones de datos que es necesario realizar. Así pues se tendrán en cuenta: Oracle Big Data Appliance (BDA): sistema de ingeniería conjunta que simplifica el despliegue y administración de repositorios de datos semiestructurados y no estructurados. Este sistema está especialmente diseñado para optimizar el rendimiento de: Oracle NoSQL DB: repositorio de datos en formatos XML y JSON, así como repositorio de
información que debe ser muy rápidamente accedida desde aplicaciones web o móviles (perfil de cliente, productos más comprados conjuntamente, reglas para detección de fraude, etc.). Cloudera Hadoop: sistema de ficheros de datos distribuido. BigData SQL: solución que permite realizar consultas SQL desde la base de datos Oracle a ficheros Hadoop y/ó Oracle NoSQL DB, integrando de esta manera datos estructurados, semiestructurados y no estructurados en una misma consulta al tiempo que aprovecha las capacidades de cálculo en paralelo de Exadata y BDA.
Oracle Exadata: sistema de ingeniería conjunta especialmente diseñado para optimizar el rendimiento de la base de datos Oracle, permitiendo simultáneamente la ejecución de cargas de trabajo OLTP y analíticas. Las opciones de base de datos principalmente implicadas en el procesamiento de información en tiempo real son: Oracle RAC: solución de clustering activo/activo de base de datos. Oracle Advance Analytics: agiliza la detección de patrones en los datos mediante algoritmos de data mining y funciones R ejecutados de forma nativa en el motor de base de datos.
Oracle In-Memory Database Option: permite la utilización simultánea, y de forma transparente para las aplicaciones, de tablas en formato columnar en memoria y en formato fila tradicional. Con esta posibilidad se optimizan las consultas analíticas (formato columnar en memoria) sobre la tabla sin penalizar por ello las consultas operacionales (formato fila tradicional).
Con estos repositorios podemos beneficiarnos del procesamiento de cada tipo de datos en aquella tecnología que nos proporciona resultados óptimos, pero adicionalmente y con el objetivo de continuar reduciendo los tiempos de latencia, Oracle propone la utilización de Oracle BigData SQL que permite ejecutar desde Exadata una consulta SQL que se procesa, de forma transparente para el usuario y/ó la aplicación, contra datos almacenados en: Oracle Database de Exadata.
SQL
Hadoop
Big Data SQL
ORACLE
Oracle NoSQL DB en Big Data Appliance (BDA). Cloudera en Big Data Appliance.
Figura 20: Oracle Big Data SQL 27
De esta forma se minimizan los movimientos de datos entre servidores y se aprovechan las capacidades de cálculo en paralelo que tanto Exadata, como BDA presentan, consiguiendo de nuevo reducciones en las latencias. Desde Oracle se propone la utilización de una estrategia de gestión de la información (ver Figura 21), que contempla las siguientes capas: Normalmente los datos se cargarán en la capa RAW (datos en bruto) y ahí serán mantenidos en su formato original, por si en un momento determinado pueden ser de utilidad para cualquier proceso de negocio que actualmente no hemos identificado o bien para procesos analíticos como, por ejemplo, descubrimiento de patrones de fraude. En lo posible para reducir los costes se intentará utilizar Cloudera u Oracle NoSQL DB. Los datos de esta capa serán utilizados como orígenes para actualizar la capa de Foundation. En la capa de Foudation se almacenarán datos integrados y estandarizados que reflejan objetos 28
Access & Performance Layer Interpretación pasada, actual y futura de los datos empresariales. Diseñada para facilitar el acceso y navegación. Foundation Data Layer Modelo de datos que no cambian. Independientemente de los cambios de procesos de negocio Raw Data Layer
Enriquecimiento (+) Calidad del Dato (+) Costes concurrencia (+)
Formalización (+)
Almacén de datos en bruto. No se almacenan datos transformados.
Figura 21: Capas de Datos
de negocio y de organización, estos objetos serán almacenados de forma independiente a su generación en los procesos de negocio; de esta manera se logran desacoplar de los aplicativos y se facilita la agilidad y flexibilidad de los desarrollos. Normalmente serán almacenados en Oracle Database. Estos datos pueden ser accedidos directamente, o a través de Oracle Service Bus, por aplicativos, aunque la mayor parte de las veces el acceso se hará desde la capa de Access & Performance. La capa de Acces & Performance facilitará a las aplicaciones la consulta y navegación de los datos,
así como el rendimiento óptimo de las consultas (utilización de Oracle In-Memory Database para consultas analíticas). Desde aquí se dotará a negocio de múltiples interpretaciones de los datos almacenados en las capas inferiores, estas interpretaciones tendrán en cuenta criterios de negocio. Frente a los esquemas ETL tradicionales basados en la ejecución periódica de procesos de carga masivos, en la propuesta de Oracle los datos van actualizándose de una capa a otra de forma continua y manteniendo la trazabilidad, utilizando para ello Oracle Data Integrator.
Busca en el Smartphone
Otros componentes a tener en consideración
Los elementos mencionados en los puntos 3.1, 3.2 y 3.3 forman el núcleo de la propuesta de plataforma TI en tiempo real de Oracle pero, además, Oracle dispone de otra serie de soluciones que ofrecen funcionalidades complementarias que pueden ser de interés a la hora de considerar el despliegue de una solución orientada al procesado de información en tiempo real.
41% 31%
después compra por ordenador
después compra en establecimiento
Figura 22: Utilizaciónde smartphones “Google.Our Mobile Planet: España. Mayo de 2013”
56% Ha realizado una busqueda desde un móvil después de ver un anuncio
Televisión
Tienda
Revistas
Carteles
51%
42%
46%
39%
Ubicación del anuncio
Movilidad Uno de los principales impulsores de la necesidad del proceso en tiempo real es la explosión de la utilización de dispositivos móviles asociada con la popularización del uso de smartphones y tablets.
provocando que se modifiquen los patrones de relación con el cliente; patrones que cada vez vienen más influidos por lo que han consultado, o están consultando, en su dispositivo móvil.
Los dispositivos móviles se están convirtiendo en la principal plataforma de acceso a internet y de búsqueda de información
Por lo tanto es crítico para cualquier empresa establecer una estrategia de movilidad que permita:
Desarrollar aplicaciones para los dispositivos móviles. Adaptar los canales web de la empresa (web, tienda online, etc.) para mejorar su usabilidad desde dispositivos móviles. Incrementar los canales de ingresos. 29
El objetivo final de cualquier estrategia en el ámbito de la movilidad tiene como objetivo final incrementar los canales de ingresos de la empresa y deberá necesariamente interactuar con la plataforma en tiempo real, bien para obtener información de esta (disponibilidad de producto en tienda, recomendaciones compra, ofertas geoposicionadas, …), bien como origen de datos (consultas realizadas, posicionamiento de clientes y empleados, etc.) a procesar en la plataforma de tiempo real. Así pues se pueden distinguir claramente dos líneas de actuación complementarias: Desarrollo de aplicaciones en dispositivos móviles: en esta línea Oracle dispone de soluciones como Oracle Mobile Suite y Oracle Mobile Security Suite que permitirán el desarrollo de aplicaciones móviles multidispositivo que puedan interactuar de forma segura contra los sistemas TI que soportan la operativa de la empresa. 30
Adaptación de los canales web para acceso multidispositivo: muchas de las posibilidades que plantean la adopción de una estrategia de tiempo real, como por ejemplo la personalización de campañas de marketing, la consulta de información de producto desde dispositivos móviles, información personalizada según experiencias previas de compra o ubicación, etc. precisan adaptar las plataformas web de forma que desde estas se puedan aprovechar los perfiles de cliente obtenidos a partir de los datos procesados en la plataforma de Big Data y la información proporcionada por la plataforma de Fast Data. Esta adaptación de las plataformas web deberá permitir: Facilitar la interacción del cliente desde su dispositivo móvil, ofreciendo capacidades de generación y gestión de ofertas, cupones y promociones en tiempo real según el contexto desde el cual el cliente acceda.
Simplificar el desarrollo y mantenimiento de microsites y campañas personalizadas para una tienda o conjunto de tiendas físicas. Personalizar la información ofrecida al cliente en función de su perfil explícito (cumplimentado directamente por el cliente) o implícito (obtenido procesando información de compras previas, navegación en la web, actividad en redes sociales, …) Generación de códigos QR que en función de una determinada información: hora, perfil de cliente, tienda, … redirigen a una promoción, proporcionan un descuento determinado, etc. Para esta adaptación de las plataformas web de la empresa a la interacción en tiempo real con clientes que acceden indistintamente desde dispositivos fijos y móviles la solución disponible es Oracle WebCenter.
Personalización en tiempo real A partir del despliegue de una plataforma de TI en tiempo real obtendremos información valiosísima acerca de los clientes, del comportamiento comercial de los productos, de la situación real de la empresa, etc. que, conjuntamente con la aplicación de técnicas de analítica avanzada sobre los datos recogidos de la operativa de la empresa, redes sociales, etc. nos permitirá explorar nuevos modelos de negocio en base a: Mejora de la segmentación de clientes, tiendas físicas, … Anticipación de tendencias emergentes en el mercado. Detección de patrones de consumo. Ajuste de precios según demanda, inventario, condiciones metereológicas, … Mayores capacidades de simulación de escenarios.
Todas estas iniciativas se basan en la aplicación de técnicas de analítica descriptiva y predictiva sobre los datos recogidos de diferentes canales y en menor medida, la utilización de técnicas de analítica prescriptiva. Precisamente la potenciación de la utilización de la analítica prescriptiva permitirá personalizar de forma más óptima los diferentes canales de interacción con los clientes, de forma que: Cuando navegue por la tienda online, bien desde dispositivos móviles o desde su ordenador personal, se le presenten aquellos productos que realmente le interesan y están buscando. Cuando llamen a un centro de atención al cliente lo atienda el operador que mejor se adapte al tipo de consulta o solicitud que motiva la llamada. Cualquier correo o comunicación publicitaria que se le envía está perfectamente adaptada a sus intereses actuales, de forma que el contenido que se le presenta es de interés para el cliente.
Hacer frente a estos retos no es sencillo y, sin embargo, los clientes están cada vez más saturados de información inútil por lo que para incrementar su satisfacción y fidelidad es cada vez más importante personalizar correctamente la información que les proporcionamos. Para conseguir esta personalización son utilizadas técnicas ya comentadas como la segmentación y la definición de acciones y reglas asociadas a estos segmentos, pero con la tecnología habitualmente empleada es prácticamente inmanejable pretender individualizar la personalización ya que deberíamos tener tantos segmentos como clientes. Para lograr ese grado de personalización es necesario automatizar todo el proceso, desde la captura de los datos hasta la toma de decisión que determina el contenido a mostrar o la acción a realizar. 31
Eventos de Interés
La única forma de conseguir este grado de personalización es cuando esta se realiza de una forma completamente automática. Esta problemática es la que resuelve Oracle Real-Time Decisions (RTD). Se trata de un motor de toma de decisiones automático que permite llegar a conseguir una personalización a nivel individual, de forma sencilla, controlada y automática, teniendo en cuenta y analizando en tiempo real toda la información de que disponemos. Para ello se basa en algoritmos predictivos y técnicas de aprendizaje automático, buscando patrones de comportamiento comunes que permitan personalizar cualquier interacción con nuestros clientes, prediciendo cual es la mejor opción de una forma completamente automática en cualquiera de nuestros canales.
Calidad del dato Dos de las claves del paradigma de Big Data son la capacidad de procesar grandes volúmenes de datos y que estos datos, originados por múltiples fuentes, tienen diferentes formatos. Estas 32
Flujos de Datos
Web, Kioskos, Call Center, App móvil
Procesado Tiempo Real
RTD Datos operacionales Datos web & social Ejecución Innovación
Depósito de Datos
Data Factory
DWH
BI y Reporting
Conocimientos /Ideas Información Operativa
Nuevos patrones/ hallazgos
Evento & Datos Laboratorio Descubrimiento de Información
Figura 23: Integración de RTD en la plataforma TI de Tiempo Real
dos características: cantidad y variedad, hacen que uno de los grandes retos a la hora de afrontar una estrategia de Big Data sea garantizar que los datos que van a ser utilizados son realmente útiles, es decir, es necesario dotarse de procedimientos y herramientas que permitan asegurar la calidad de los datos.Los datos procesados han de evolucionar en línea con el negocio, por lo que se necesita proporcionar mecanismos para tener el control de su evolución en las diferentes capas o etapas del modelo de gestión de la información, controlando cuál es el camino seguido por cada dato, su estado, transformaciones y reglas de negocio aplicadas.
Asimismo, los datos han de ser validados antes de su transformación, ha de verificarse si cumplen las reglas de negocio (atributos exigidos a cada dato, formato, etc.) y ser enriquecidos y relacionados para consolidarse como representación del negocio. Los procedimientos que garantizan la calidad de los datos no son procesos aislados que se ejecutan periódicamente sino que deben estar embebidos en todo el ciclo de procesado de los datos, desde el momento en que son capturados, o incluso desde el mismo instante de su generación si se trata de aplicaciones bajo control de la empresa (formularios web, tienda online, etc.), pasando por su tratamiento y el acceso a la información resultante.
Data Streaming
A continuación se muestran los principales procesos de calidad del dato que han de ser tenidos en cuenta a lo a largo de cada una de las capas o etapas definidas en el modelo de gestión de la información propuesto por Oracle (ver Figura 8).
Raw Data Reservoir
Foundation Data Layer
Acess & Performance Layer
DWH
Eventos
App2
Validación de negocio Auditorías y Reglas de Calidad Ingéstión de Datos
App1
AppN
Servicios de Calidad de Datos Acceso a la información Trazabilidad, Análisis de Impacto, Glosario de Negocio
Figura 24: Procesos de calidad del dato
El primer paso que debemos dar es entender cuál es el contenido de los datos a tratar, su estructura y atributos, es decir, será necesario realizar un Análisis y Perfilado de los Datos independientemente de cuál sea su fuente y su estructura, de forma que podamos entender el valor para el negocio de cada tipo de dato sin necesidad de realizar costosos procesos de modelización y consolidación de los datos.
El siguiente paso será definir cuáles son las características que debemos exigir a los datos para que los consideremos adecuados. Estableciendo reglas que nos permitan validar que los datos son los adecuados, chequear que no procesamos duplicados, etc. definiendo también las reglas que permitan tomar de modo automático decisiones acerca de qué hacer cuando se detecten datos nulos, con formato incorrecto, etc.
Adicionalmente, es interesante que las aplicaciones que van a hacer uso de los datos, no sólo para consultarlos, sino también para crear nuevos registros o modificar los existentes puedan hacer uso de los procedimientos de aseguramiento de la calidad definidos, de forma que antes de dar de alta un registro puedan realizar un chequeo automático de si cumple con los requisitos exigidos a ese tipo de registro o si es necesario realizar alguna modificación en los datos. Para ello se define una capa de servicios de calidad del dato.
Foundation Data Layer
Para dar respuesta a los requisitos que el establecimiento de una estrategia de calidad del dato lleva aparejados Oracle dispone de Oracle Enterprise Data Quality y Oracle Enterprise Metadata Management. En la siguiente figura se muestra el encaje de cada una de estas soluciones en los procesos que son necesarios contemplar dentro de la calidad del dato.
Data Streaming Raw Data Reservoir Eventos
Acess & Performance Layer
Oracle Enterprise Data Quality (EDQ)
DWH
Oracle Enterprise Data Quality (EDQ) Oracle Enterprise Metadata Management + EDQ Ingéstión de Datos
App1 App2 AppN
Enterprise Data Quality Acceso a la información Oracle Enterprise Metadata Management (OEMM)
Figura 25: Soluciones de Oracle para gestión de la calidad del dato
33
Hackers
22%
Foreign nation-states
(e.g. China Rusia, North Kores)
11%
Organized crime
4%
21%
Current employees & former employees
Desktop (user dev)
Database
(server)
5% Activists/activist
organizations/hactivist
Figura 26: Consideración de principales originadores de amenazas de seguridad. “PwC. Key findings from the 2013 US State of Cybercrime Survey”
Seguridad de la información La estrategia de Big Data conlleva consolidar datos diversos y dispersos en una única plataforma común aunque se almacenen con diferentes formatos. Independientemente del formato en que se almacenen los datos, para todos ellos deberá garantizarse su seguridad, definiendo y controlando: Cuándo puede ser accedido, tanto para consulta, como para modificación. Qué dispositivos, usuarios y aplicaciones pueden acceder y a qué información pueden acceder. Que cada aplicación accede sólo al conjunto de datos que le corresponde. Qué usuarios pueden acceder directamente a los datos y qué información deben ver. Regulación, estándares y restricciones legales que aplican. 34
Top 10 assets affected within Insider Misuse (n=142)
26% 25%
Other
22%
Payment card
12%
Cashier
10%
File
9%
Other
8%
Web application
8%
Unknown
6%
Laptop
5%
(server) (media)
(people) (server)
(people) (server)
(user dev)
Figura 27: Principales objetivos de los ataques internos. “Verizon. 2014 Data Breach Investigations Report”
Además, no siempre se tendrá control sobre el desarrollo de los aplicativos que consultan la información, pudiendo ser objeto de ataques (intencionados o no) que pueden provocar el robo de datos críticos para el negocio. Hay que tener muy en cuenta que el peligro del robo de datos no sólo viene de agentes externos a la organización, sino que en la mayor parte de las ocasiones provendrá de usuarios internos o de personal subcontratado.
Para proteger los repositorios de datos, tanto contra amenazas externas como internas, será necesario disponer de soluciones de seguridad transparentes a las aplicaciones que permitan: Cifrar los datos almacenados en los repositorios: protegiéndose contra la divulgación no autorizada de los datos.
Data Streaming BDA + Exadata Raw Data Reservoir
Foundation Data Layer
Acess & Performance Layer
App1
Eventos
Filtrado de Datos
Control Acesso Ingéstión de Datos
Cifrado de Datos
Control Acesso Cifrado de Datos
DWH Control Acesso
App2 AppN
Cifrado de Datos Acceso a la información
Figura 28: Necesidades de securización del dato
Cifrado de los datos:
Definir políticas de acceso a los datos: controlando qué usuarios pueden acceder directamente a la base de datos y qué información pueden consultar. De forma que se garantice la protección contra accesos no autorizados a datos sensibles por parte de usuarios privilegiados. Garantizar que los datos utilizados en los entornos de desarrollo y pruebas, que deben ser un reflejo de los entornos de producción, no contienen información sensible.
Auditar y monitorizar la actividad realizada sobre los repositorios de datos: además de proteger los datos, habrá que verificar que esta protección funciona realizando auditoría de la actividad realizada sobre los repositorios. Oracle dispone de un conjunto de soluciones que brindan las capacidades más avanzadas del sector en relación con la seguridad de los datos, integrándose de manera transparente con las aplicaciones existentes, al tiempo que se cumple con los requerimientos obligatorios de las regulaciones de seguridad. De este conjunto de soluciones, en el caso de la protección de los repositorios de datos son de especial interés:
Oracle Advanced Security Option: que permite cifrar los datos gestionados en las bases de datos Oracle. Tiene dos funcionalidades fundamentales: Transparent Data Encryption (TDE): utilizada para cifrar los repositorios de base de datos Oracle, protegiéndolos contra pérdidas o robos de discos y backups y evitando que los usuarios de sistema operativo puedan ver los datos mediante inspección de los ficheros. Data Redaction: permite definir políticas de cifrado de datos en vuelo, de forma que en función del usuario que realiza la consulta desde la aplicación se pueden devolver cifrados todos o parte de los datos. 35
Data Streaming BDA + Exadata Raw Data Reservoir Ingéstión de Datos
Eventos
Foundation Data Layer
Acess & Performance Layer
App1
Oracle Enterprise User, Kerberos, Apache Sentry Entitlement Server + Virtual Private Database Oracle Data Vault Apache Sentry
Advanced Security + Data Masking
Oracle Data Vault Advanced Security + Data Masking
DWH
App2 AppN
Oracle Data Vault
Advanced Security + Data Masking Acceso a la información
Figura 29: Soluciones Oracle para securización del dato
Gestión de políticas de acceso a los datos: Oracle Data Vault: permite definir políticas de control de accesos de aplicaciones y usuarios con privilegios (DBAs) a la base de datos Oracle, así como implementar la separación de roles (un DBA debe administrar, pero no tiene porque ver el detalle de los datos). Oracle Virtual Private Database: funcionalidad incluida en el motor de base de datos Oracle que permite definir políticas de acceso a nivel de fila, en combinación con la funcionalidad de Enterprise Users también incluida en la base de datos permite definir políticas personalizadas por usuario de base de datos. 36
Auditoría:
Enmascaramiento de información en entornos de desarrollo y prueba: Oracle Data Masking: permite la ofuscación de datos extraídos de entornos productivos y que van a ser utilizados en desarrollo y prueba. Garantiza que los desarrolladores pueden trabajar con las mismas estructuras de datos que en producción, pero no pueden ver datos reales.
Oracle Audit Vault and Database Firewall: permite controlar para la base de datos (Oracle, DB2 LUW, Microsoft SQL Server, MySQL, …), que cada acceso a los datos es realizado conforme a las normativas exigidas, de forma que se puede realizar un control exhaustivo de cómo se utilizan y en qué los permisos de los usuarios y aplicaciones. Permite controlar: ¿Quién ha hecho qué? ¿Qué datos han sido accedidos? ¿Cuándo?, …
Propuesta de plataforma TI en tiempo real
Oracle Fusion Middleware Coherence
Oracle Fusion Middleware
Oracle Fusion Middleware
Service Bus
Weblogic Suite
Event Processing
Evento
App1
Coherence
App2
Weblogic Suite
Oracle Exalogic Data Streaming
Oracle Database 12c
Base de Datos Base de Datos Base de Datos
Fusion Middleware Data Integrator
Oracle Exadata
Oracle NoSQL Database
App3
DWH
Cloudera Hadoop
Oracle Big Data SQL
Oracle Big Data Appliance
Figura 30: Principales elementos de la propuesta de plataforma TI en tiempo real 37
NTT Comm. Para realizar la monitorización del tráfico de red (del orden de 84M de entradas de log por minuto) sin comprometer el rendimiento de esta. Utiliza OEP para capturar los paquetes en tiempo real y realizar las agregaciones y detección de patrones (ratio de paquetes erróneos, paquetes perdidos, tráfico sospechoso, etc.). OEP, una vez enriquecida la información la envía a Coherence en donde se correlaciona la información capturada desde los diferentes dispositivos de red y se realiza el análisis de tráfico en tiempo real. Posteriormente los paquetes capturados y los resultados se almacenan en un Exadata para su explotación desde las herramientas de Business Intelligence. 38
Usando Coherence, Nike ha construido un grid de datos distribuido en memoria desplegado en un clúster de 192 nodos y 2TB de caché que proporciona acceso de muy baja latencia a los datos más recientes y relevantes para el consumidor. Esta caché gestiona actualmente más de 150.000 peticiones por minuto con, aproximadamente, 180 millones de objetos gestionados en el grid de datos.
WEBSITE
API GATEWAY
WEB BACKEND
API BACKEND
Distributed Cache
Persistant Data Store
IN MEMORY DATA GRID
DATABASE
Event driven Processing
Queues
ASYNC QUEUED BASED PROCESSING
Figura 32: Nike+ implementación
Canon ha cambiado la plataforma de mantenimiento de sus impresoras, para pasar de un modelo reactivo a otro proactivo que permita mejorar la calidad de servicio a sus clientes y reducir costes. Para ello se ha dotado de una plataforma basada en la utilización de Exalogic, OEP y Coherence.
MFP SOAP
A continuación se indica de forma muy esquemática para qué están utilizando algunos de los clientes los productos de Oracle dentro de sus plataformas de tiempo real.
Nike Fuelband. La plataforma Nike+ es el primer paso de Nike para pasar de ser simplemente una empresa de “producto” a una empresa de “producto + experiencia”. Actualmente hay más de 8 millones de usuarios en la plataforma Nike+ que están usando la pulsera de Nike. Una vez se transmiten los datos de la pulsera, los usuarios pueden acceder desde una aplicación móvil o desde la web para consultar las métricas correspondientes a su actividad diaria, compararlas con las de otros usuarios, etc.Para poder dar este servicio. Nike ha optado por construir una plataforma TI que responde a a un modelo centrado en el consumidor, para lo cual ha utilizado Oracle Coherence y Oracle Exadata.
Data Access
Ejemplos de plataformas TI en Tiempo Real desplegadas con tecnología Oracle
Data Access
EXPERIENCES
COERENCE (temp data)
Figura 33: Canon. Mantenimiento proactivo
HISTORY DB
WAS/TP SERVER
Agent
ORACLE COLLECTOR
logs
Listener
UDP
COHERENCE Processor
Map Listener
Processor
Event Processing
OEP Expert System Vision Engine
Test Load Balancing Processor Fail-Over
Test based Log Format
Figura 34: NH Bank. Plataforma a alto nivel
NongHyup. Monitorización en tiempo real de transacciones bancarias. NH Bank es uno de los principales bancos de Corea del Sur y ha implementado una plataforma de monitorización de los log de los sistemas legacy que soportan su operativa diaria (servidores web, WAS, etc.) para ello ha creado un grid de datos en memoria para realizar el seguimiento de los logs y hacer el seguimiento del estado de las transacciones. Adicionalmente, utilizando OEP ha incluido funcionalidad de detección de operaciones fraudulentas, marketing en tiempo real, etc.
ORACLE NoSQL DATABASE
Payback. Utilización de Oracle NoSQL DB para personalización de la comunicación con el cliente en los canales online, offline y móvil.
EXPORT
IMPORT
Access to the member attibutes parallel on all channels Only Read High rate of queries In parallel all the same time Expectation Fast response Same result at any time on all channels Key-Value Store has enough resources available to deal with the planed requirement and is easy to scale
Figura 35: Payback. NoSQL para personalización experiencia multicanal ORACLE
Globalia. Proporciona un servicio web de consulta de disponibilidad y precios de hoteles. Este servicio es accesible por agencias de viaje de forma que tiene que tener un tiempo de respuesta reducido, al tiempo que soporta múltiples parametrizaciones de la consulta.
COHERENCE
Carga Masiva
ORACLE DATABASE
Nodo1
Al iniciar el Grid
Inventario /Costes
Sincronización Nodo2
Nodo3
ORACLE
ORACLE
COHERENCE
COHERENCE
HOTELES
PRECIOS
DISPONIBILIDAD
NODO 1
HOTELES
PRECIOS
DISPONIBILIDAD
NODO 2
Utiliza Oracle Coherence para mantener la información de hoteles, tarifas y disponibilidad, paralelizando la ejecución de consultas CQL sobre todos los nodos del clúster para obtener tiempos de respuesta muy reducidos.
Figura 36: Globalia. Disponibilidad tarificada de hoteles 39
4 CASOS DE USO EN RETAIL
E
ntre los posibles casos de uso a desplegar sobre una plataforma de TI en tiempo real se incluyen:
Mantenimiento del dato de inventario y stock permanentemente actualizado. Implantación de estrategias de webrooming y BOPIS (Buy Online Pick Up In Store) Sugerencia de tiendas cercanas con disponibilidad actual de artículos Sugerencia (y reserva) en tiendas cercanas sin disponibilidad actual pero con recepción de producto deseado en fecha próxima
Optimización de promociones: En base a ubicación geográfica del cliente En base a histórico de compras En función del perfil de cliente Etc.
Optimización de precios en rebajas y estrategias de políticas de precios dinámicos. Mejoras en la previsión de la demanda 40
Incremento de la profundidad del análisis Detección de patrones de consumo geográficos Análisis cruzado de consumo en tienda física y comercio electrónico Integración de previsiones metereológicas
Seguimiento en tiempo real del comportamiento de productos. Demanda real frente a demanda prevista Artículos con riesgo de rotura de stock Etc.
Análisis y seguimiento de operativa en tienda. Problemas de funcionamiento de dispositivos Ratio de empleados/cliente Mermas Condiciones ambientales e impacto en la venta Optimización de consumo energético Etc.
Análisis y detección de fraude en tiempo real Optimización de la cadena de aprovisionamiento
Clickstream: análisis por área geográfica de productos consultados en la plataforma de comercio electrónico y no adquiridos. Comparativa con comportamiento en tienda física Análisis de disponibilidad de productos en tienda física Sugerencias a usuarios de comercio electrónico Etc.
Promociones a clientes de comercio electrónico Por perfil del cliente Por posicionamiento geográfico del cliente Los clientes que han comprado esto, también ha comprado… Etc.
Gamificación: fomentando la captura de feedback de productos, recomendación de productos a contactos, fidelización del cliente, etc. Análisis de información de redes sociales e impactos en las ventas Análisis de competencia Auditoría y cumplimiento normativo
5 VENTAJAS DE LA ADOPCIÓN DE UNA PLATAFORMA DE TIEMPO REAL FRENTE A LA OPTIMIZACIÓN DE LOS TIEMPOS DE ACCESO A BASE DE DATOS
Estas innovaciones permiten mejorar espectacularmente las prestaciones de los sistemas de bases de datos relacionales, de forma que se reducen varios órdenes de magnitud los tiempos necesarios para ejecutar consultas complejas. Esta mejora de prestaciones hace atractiva la opción de su adopción dentro de las actuales plataformas de TI, especialmente pensando en criterios de simplificación del cambio y reducción de costes de implementación. Sin embargo, una propuesta de plataforma tecnológica basada en seguir manteniendo las plataformas tradicionales y simplemente utilizar innovaciones que se limitan a mejorar los tiempos de respuesta de las
consultas a bases de datos, como la utilización de bases de datos en memoria y tecnologías flash, que permiten mejorar los tiempos de respuesta de los aplicativos actuales, supone un error estratégico de cara a encarar un planteamiento global de tiempo real. Ya que, como se ha indicado en anteriores puntos del presente documento, el concepto de Empresa en Tiempo Real desde el punto de vista de TI es mucho más que el acceso instantáneo a la información (o con un tiempo de acceso muy reducido) y está más enfocado al acceso a información fiable (veraz y actualizada) en el instante de tiempo en el que se
necesita, sin necesidad de tiempos de espera asociados a proceso de carga y transformación. Lo que define el tiempo real varía por industria, empresa y proceso de negocio. Así, para una empresa de retail interesada en permitir una estrategia de webrooming, el tiempo real vendrá determinado por conocer en todo momento la situación real del inventario en las tiendas y en tránsito hacia estas; mientras que si lo que interesa es realizar promociones personalizadas lo interesante será conocer en todo momento el historial de compra del cliente, su ubicación geográfica actual, etc.
Business Event
Valor para el negocio
A
demás de los paradigmas de IoT, Fast Data y Big Data, en los últimos años han surgido otras innovaciones tecnológicas que también reducen los tiempos necesarios para el procesado de información, estas innovaciones pasan por la mejora en las tecnologías de procesadores, las tecnologías flash, discos de estado sólido, procesamiento de bases de datos en memoria (SAP HANA, Oracle In-Memory Database Option, IBM BLU Acceleration,…), etc.
Data Captured
Analysis completed
Data latency
Analysis latency
Decision latency
Action taken
Action Time Figura 38: Latencia en la toma de decisiones 41
A continuación se explican las principales desventajas asociadas a una simple adopción de soluciones de mejora de los tiempos de consulta del dato, frente a una estrategia de implantación de una plataforma de TI en Tiempo Real. La toma de decisión es retrasada hasta el fin del procesado de cada uno de los datos individuales. Como se muestra en la Figura 38, la latencia de la información, entendida como el tiempo que transcurre desde que una operación/evento de negocio modifica los datos hasta que los datos actualizados están disponibles para su utilización por el resto de las aplicaciones y sistemas se compone, a su vez, de tres latencias diferentes: Latencia del dato. Será el tiempo transcurrido desde que se produce el evento que provoca el cambio en el valor del dato hasta que ese cambio es capturado y almacenado. Latencia de análisis. Tiempo transcurrido desde que el dato es capturado, se realizan las operaciones necesarias sobre el dato, se carga en el sistema relacional y se ejecuta la consulta o consultas necesarias desde los aplicativos que lo van a utilizar. Latencia de toma de decisión. Una vez que la aplicación dispone del dato actualizado será el tiempo que necesita para realizar la operación asociada. 42
De las tres latencias indicadas, normalmente la más significativa será la latencia del dato, ya que implica integrar diferentes fuentes de información como: bases de datos relacionales, ficheros XML recibidos de POS, información de tags RFID, etc. que no tienen porque estar sincronizadas. Una apuesta por una solución únicamente basada en tecnologías de bases de datos columnares (SAP HANA, Oracle In-Memory Database Option, IBM BLU Acceleration, …), no tiene ningún tipo de incidencia sobre la latencia del dato, puesto que tan sólo permitirá reducir una parte de la latencia de análisis. Y ni siquiera esa reducción será siempre significativa, ya que se reducirán los tiempos de respuesta de las consultas que impliquen cálculos de agregados, sumas, etc. (consultas analíticas); pero no aportarán beneficios en consultas operacionales, como por ejemplo la carga del perfil de cliente o la consulta del stock disponible del producto X con talla Y en la tienda Z. Además, en aquellas soluciones que no hacen transparente la organización columnar de los datos (Oracle InMemory Database no tendría esta limitación), para conseguir esta reducción será necesario tener en cuenta el modelo columnar en el diseño del modelo operacional, lo cual puede provocar ineficiencias que aumenten la duración de la latencia del dato y los tiempos de la latencia del análisis asociado a operaciones de transformación.
No simplifica la integración entre diferentes aplicaciones. Las plataformas TI tienen diferentes aplicativos, como por ejemplo el comercio electrónico, TPV, sistemas financieros, etc. cada uno de estos sistemas genera ó actualiza datos que pueden ser de interés para los otros, de forma que cada vez que se produzca un cambio será necesario actualizarlo en uno, o varios, aplicativos adicionales. Para lograr esta sincronización de información en las plataformas tradicionales se utilizan soluciones ETL que consultan los datos en el sistema origen, realizan las transformaciones necesarias para adaptarlo al formato del sistema o sistemas destino y finalmente actualizan la base de datos destino. Esta operativa, además de suponer un incremento en las latencias, dificulta enormemente la evolución de los aplicativos, ya que para realizar un cambio en uno de ellos habrá que tener en cuenta las implicaciones sobre los procesos ETL que propagan los datos a otros sistemas. Por lo tanto, la evolución de TI basada únicamente en continuar con la estrategia tradicional, mejorando los tiempos de respuesta de la base de datos mediante la utilización de bases de datos columnares no aborda la problemática de tiempo real en su totalidad.
En contraste, la plataforma TI en Tiempo Real que Oracle propone, parte de un enfoque innovador, consistente en la creación de un repositorio común de información (Data Lake) en el que se capturan los cambios de los datos procedentes de los diferentes aplicativos. Estos cambios se capturan en el mismo formato en el que se producen (RDBMS, NoSQL, Hadoop), y se actualizan incrementalmente y en tiempo casi real para crear las diferentes visiones que son necesarias para los aplicativos. La solución ofrece, además, una capa de abstracción del acceso de los diferentes consumidores a los datos críticos para el negocio en tiempo real (stock, perfil del cliente, última posición conocida, histórico de compras, etc.). Con esta propuesta se facilita la integración entre los aplicativos, al tiempo que se aumenta la flexibilidad de estos procesos de integración y por consiguiente la agilidad de TI para responder a cambios en el entorno de negocio. No tiene en cuenta la naturaleza de los datos. En las plataformas tradicionales los repositorios de datos, generalmente, son sistemas de base de datos relacionales (transaccionales e informacionales) y sistemas de ficheros (logs, xml, etc.). Sin embargo con la explosión del IoT y Big Data, cada vez son más los aplicativos que gestionan datos en otros formatos: JSON, XML, RDF, etc.
Con un enfoque de solución únicamente basado en bases de datos relacionales seguirá siendo necesario realizar transformaciones para cargar los objetos XML ó JSON en el repositorio. Además aunque algunas de estas bases de datos en memoria, soportan tipos de datos XML , otras presentan restricciones. De nuevo, como ya se ha visto en el punto anterior, la adopción de una base de datos en memoria sigue precisando de ETLs y sin permitir la reducción en los tiempos de latencia del dato. Accesibilidad desde aplicaciones y dispositivos móviles. El acceso desde dispositivos móviles es uno de los principales factores que impulsan la implantación de estrategias de tiempo real en las plataformas de TI. Las aplicaciones orientadas a clientes móviles no suelen ejecutar consultas complejas o con un número elevado de parametrizaciones, sino que suelen ser consultas sencillas, pero que exigen un tiempo de respuesta óptimo. Con el fin de obtener este tiempo de respuesta óptimo, este tipo de plataformas suele utilizar bases de datos NoSQL y cachés de datos en memoria para los backend orientados a dar servicios a aplicativos móviles.
Estos tipo de funcionalidades están contempladas en la propuesta de plataforma TI de tiempo real de Oracle, mientras que en una propuesta basada en la evolución de la plataforma tradicional son inexistentes, por lo cual los aplicativos móviles deberán ejecutar sus consultas contra el repositorio relacional, lo cual supondrá una sobrecarga adicional para estos entornos, al tiempo que puede provocar bloqueos que los ralenticen de forma significativa. El desarrollo de estas aplicaciones móviles ha potenciando también el modelo de APIs, lo cual no está en absoluto contemplado en una evolución de plataforma basada simplemente en la adopción de bases de datos en memoria, mientras que en la propuesta de plataforma en tiempo real de Oracle se incluye el despliegue de un bus de servicios que, además de facilitar la conversión de los resultados de las consultas a JSON (formato normalmente utilizado para intercambio de información desde los sistemas de backend con los dispositivos móviles) también será una pieza clave a la hora de adoptar una estrategia de desarrollo móvil basado en APIs. 43
Agilidad y flexibilidad para dar respuesta a nuevas necesidades de negocio.
Es necesario continuar con los esquemas tradicionales de Extracción-TransformaciónCarga de los datos para poder construir una visión unificada de la información. Como se ha comentado anteriormente, una evolución de plataforma basada simplemente en mejorar los tiempos de respuesta de las consultas SQL no permite reducir una de las principales causas de latencia: la necesidad de realizar múltiples procesos de carga y transformación de datos. 44
El diseño de la plataforma TI de tiempo real no debe ser realizado para dar respuesta a un único caso de negocio, sea éste éste el inventario de tienda física en tiempo real, el cálculo del stock en tránsito, la mejor oferta para un cliente próximo a tienda física, etc. sino que debe ser realizado con amplitud de miras y permitiendo su crecimiento dinámico, para soportar nuevos casos de uso definidos por el negocio, bien como innovaciones disruptivas (por ejemplo Nike+), bien como respuesta a exigencias del mercado (webrooming y/ó showrooming).
Para permitir esta agilidad y flexibilidad, la plataforma debe abstraer los datos al consumidor (con Oracle Service Bus), permitir la captura de eventos generados por diferentes dispositivos y/ó aplicativos (con Oracle Event Processing), reducir el tiempo de acceso a datos críticos para el negocio de forma escalable (con Coherence), gestionar los datos de manera eficiente en función de su tipología y variabilidad (con Oracle Database, Oracle NoSQL DB y Hadoop) y permitir la ejecución de analítica descriptiva, predictiva y prescriptiva explotando simultáneamente diferentes tipologías de datos (con Oracle BigData SQL, Oracle In-Memory Database Option y Real-Time Decisions) y todo ello con posibilidad de escalabilidad horizontal y vertical de los recursos hardware y software que conforman la plataforma. De todos estos requisitos asociados a la agilidad y flexibilidad, una propuesta de arquitectura TI en tiempo real basada únicamente en la continuidad de las plataformas tradicionales sólo podría satisfacer la mejora de la analítica, siempre y cuando los datos estuviesen almacenados en repositorios relacionales. Lo cual, como ya se ha comentado repetidas veces, conlleva asumir una excesiva latencia del dato.
Escalabilidad y continuidad de servicio Además, una plataforma de tiempo real, especialmente para hacer frente a las necesidades asociadas al servicio a usuarios de dispositivos móviles, debe tener un diseño arquitectural que soporte la ampliación de los recursos hardware y software empleados sin que la ampliación de los estos recursos implique cortes de servicio. Todos los elementos incluidos en la propuesta de plataforma TI de tiempo real de Oracle garantizan la continuidad de servicio utilizando arquitecturas de clústering altamente disponibles. Desde los diferentes elementos software: Oracle Database. Desplegada en servidores de ingeniería conjunta Exadata y utilizando la opción Oracle RAC que permite el despliegue de clústering activo/activo de base de datos. Oracle In-Memory Database Option. Que se puede desplegar en los diferentes nodos de un RAC, de forma que se aprovecha de las capacidades de alta disponibilidad aportadas por el software de clústering, lo cual supone un valor diferencial frente a otros competidores cuyas soluciones no soportan despliegues activo/activo.
Oracle Event Processing. Que hace uso internamente de Oracle Coherence Enterprise Edition para garantizar la continuidad de servicio en caso de caída de alguno de los procesos. Oracle Coherence. Que para desplegar la caché de objetos en memoria utiliza una arquitectura de objetos distribuidos y replicados entre los diferentes nodos del grid. Utilizando además la persistencia asíncrona en de los objetos en Oracle NoSQL DB para garantizar que no existe pérdida de información en el improbable caso de caída de todos los servidores que soportan el grid de datos. Oracle NoSQL DB. Que mediante la utilización de diferentes zonas y la réplica de datos entre ellas garantiza la protección frente a errores de caída de un servidor.
La solución propuesta se basa en el uso de sistemas de ingeniería conjunta: Oracle Exalogic Oracle Exadata Oracle Big Data Appliance
Además, el despliegue de las soluciones software de Oracle sobre estos sistemas de ingeniería conjunta aporta beneficios adicionales asociados a la velocidad de respuesta en las operaciones realizadas dentro de cada uno de ellos (por ejemplo con Exabus en el Exalogic ó SmartScan y el Flash Caché en el Exadata) y en el intercambio de datos entre ellos gracias a la utilización del protocolo Infiniband en todos ellos. En una propuesta de plataforma continuista, basada simplemente en la adopción de bases de datos en memoria no siempre se puede garantizar la continuidad de servicio ya que en ocasiones no es posible un despliegue en clústering activo/activo. Fruto de esta limitación también se ve reducida de una manera muy importante su escalabilidad, que sólo puede ser conseguida a mediante un tradicional modelo de scale-up del servidor en el que se ejecuta. 45
Copyright © 2015 Oracle. Todos los derechos reservados. Oracle y JAVA son marcas registradas de Oracle Corporation y sus empresas afiliadas. Los demás nombres pueden ser marcas comerciales de sus respectivos propietarios.