in-memory computing -...
TRANSCRIPT
Universidad de Costa Rica
Sede de Occidente
Recinto de Tacares
IF-7100 Ingeniería del Software
Profesor: Óscar M. Alfaro Solís
In-Memory Computing
Estudiantes Álvarez Barrantes Paula Vanessa – B40301
Hidalgo Quesada Elí Jeancarlo –B43429
Rojas Alfaro Stephanie Mayela
I Ciclo 2017
1
Índice
Introducción .............................................................................................................................................. 2
1. ¿Qué es In-Memory Computing (IMC)? ...................................................................................... 4
2. Ventajas de In-Memory Computing ................................................................................................ 5
3. Desventajas de de In-Memory Computing .................................................................................... 6
4. Aplicaciones In-Memory Computing .............................................................................................. 6
5. Casos Aplicados de In-memory Computing ................................................................................ 8
5.1. Caso 1: Mercury Gate. ................................................................................................................. 8
5.2. Caso 2: e-Therapeutics ............................................................................................................... 9
5.3. Caso 3: Transformando la Gestión Financiera en SAP con SAP HANA ..................... 10
Conclusión ............................................................................................................................................... 12
Referencias Bibliográficas .................................................................................................................. 14
2
Introducción
Desde el inicio de los tiempos el ser humano ha buscado la forma de facilitar sus
labores diarias y reducir el tiempo que invierte realizando tareas específicas. Las
anteriores son razones que el ámbito de la tecnología, en especial el de la informática y
computación se haya desarrollado tanto y tan rápidamente.
Un ejemplo de los avances tecnológicos en velocidad para la resolución de
problemas se dio cuando se creó la primera computadora digital llamada ENIAC, que
pesaba unas cuantas toneladas y consumía unos cientos de kilovatios para funcionar,
nada similar a las computadoras que se existen actualmente, hizo un cambio total en el
tiempo que una persona a mano se tardaba en realizar sumas y cálculos de trayectorias
de proyectiles. Redujo los tiempos considerablemente al ser capaz de hacer 5000 sumas
por segundo y hacer cada 30 segundos un cálculo de trayectoria. Desde luego, en el año
2017 existen dispositivos que realizan cálculos mucho más complejos con una precisión
casi perfecta y en nanosegundos.
En la actualidad, un atributo indispensable de los sistemas de cómputo es el
tiempo de respuesta, entiéndase como tiempo de respuesta el tiempo que transcurre
entre que un usuario realiza una consulta o solicita información al sistema y la
información que solicitó le es entregada. Los usuarios finales buscan obtener lo que
necesitan con tiempos de espera considerablemente bajos y basan sus criterios de
calidad en la rapidez del sistema para realizar los procesos. Es por esto, que la
informática ha buscado una solución para satisfacer las necesidades de agilización y
velocidad del usuario y ha desarrollado una tecnología llamada Procesamiento en tiempo
real mejor conocido como In-Memory Computing (IMC, por sus siglas en inglés), tema
principal de esta investigación.
Antes de adentrarnos en el tema y en los términos técnicos del IMC, es posible
explicar las generalidades del tema con un ejemplo simple, ignorando las técnicas de
mercadeo de los supermercados, se puede comparar con el fin del In-Memory
Computing, ya que los supermercados son almacenes de productos, como los Data
Warehouse y los estantes que poseen cerca de las cajas en donde se cancelan los
3
productos son como el caché. Los supermercados conocen muy bien a sus clientes por
lo que saben lo que deben colocar en este caché (estantes), que son los productos que
comúnmente olvidan los clientes o los productos que requieren acceso más rápido sin la
necesidad de atravesar todo el local. En términos generales así es el funcionamiento de
la tecnología de In-Memory Computing, más adelante se explicará mejor y con términos
más exactos del tema.
4
1. ¿Qué es In-Memory Computing (IMC)?
In-Memory Computing es una tecnología de computación la cual se basa en
manejar el acceso a los datos desde la memoria de acceso aleatorio (RAM) o utilizando
el sector de la unidad de procesamiento (CPU) llamada caché, esto permite realizar
consultas mucho más rápido que con los discos convencionales, dado a que evita que el
CPU tenga que estar realizando peticiones de entrada y salida con los otros dispositivos
que hagan lenta las consultas debido a los cuellos de botella que provoca pasar de una
arquitectura de mayor velocidad a una menos veloz.
Para SAP en esta tecnología se combinan los avances en hardware como el uso
de múltiples core y las capacidades de terabytes de memoria, y el software en las bases
de datos In-memory databases con un almacenamiento con un alto grado de
comprensión entre las filas y las columnas. En In-memory computing se establece que
el procesamiento se lleva a cabo en la capa de la base de datos y no en la capa de la
aplicación, aplicando la arquitectura de cliente-servidor.
SAP en el año 2011 realizó una proyección que para ese año la aplicación de la
tecnología de In-memory database tendría un costo de 30% menos que una base de
datos tradicional esto porque necesitan menos capacidad de sistema, la administración
de las cargas de trabajo de análítica, operaciones y desempeño son manejadas por
medio de un solo sistema y reducía la redundancia de datos. Esta misma empresa
demostró que reemplazar una base de datos tradicional con la tecnología de In-memory
computing hace que el desempeño en generar reportes en tiempo de ejecución
aumentará considerablemente y que un proceso pasará de tardar varias horas a unos
pocos segundos.
Marcel Grandpierre, Georg Buss y Ralf Esser (2013) autores de un documento
para Deloitte, la empresa privada número uno de servicios profesionales del mundo,
entre los servicios que ofrece a nivel global abarcan cinco áreas funcionales como lo son
consultoría, impuestos, asesorías, asesoría jurídica, asesoría financiera y auditoría,
generó un documento en donde afirma que la tecnología de In-memory computing es el
Santo Grial de la analítica. Esto lo afirman porque al cambiar los Data Warehouse a un
5
sistema de In-memory computing se reducen considerablemente la cantidad de capas
necesarias de Inteligencia de Negocio para el acceso a datos “crudos” y generar reportes
completos con resultados del análisis.
La importancia de In-Memory Computing es que permite analizar volúmenes
grandes de datos en menor tiempo del que se necesitaba anteriormente; en especial
cuando se utilizan herramientas de Business Intelligence en la organización, como lo
menciona Ebimcorp Asesoria Empresarial (2017) In-Memory Computing es una
tecnología que acelera el procesamiento de la información al menos 20 veces, lo que
ahorra un 200% la relación precio-desempeño.
En la revista chilena Gerencia, el autor del artículo IN-MEMORY COMPUTING
¿Un nuevo paradigma? (2013), Ernesto Castillo señala que “según la consultora Gartner,
en 2014 el 30% de las aplicaciones analíticas de BI se realizarán con la tecnología In-
Memory, para ir sumando escalabilidad y velocidad de procesamiento, lo que tiene un
beneficio directo al adelantarse a escenarios futuros más proactivos. Dentro de esta
dinámica, el rendimiento de las corporaciones se verá potenciado gracias al aumento de
aplicaciones analíticas, sumado a la estrategia de BI, la minería de datos, predicciones
y simulaciones”.
2. Ventajas de In-Memory Computing
El mayor beneficio al implementar In-memory Computing, se basa en la eficiencia
en cuanto a la velocidad, donde entran términos tales como el cero tiempo de respuesta,
que hace referencia a la contestación casi instantáneas del sistema, reduciendo la
espera durante los procesos de análisis de información hasta en 3600 veces en
comparación a sistemas tradicionales de bases de datos esto según Inforges -
Especialistas en el ERP SAP Business One.
El beneficio en cuanto a velocidad, trae consigo un conjunto de aportes en pro de
la organización, uno de estos es el permitir que puedan investigar conjuntos completos
de datos en lugar de muestras representativas, lo que permite elaborando estrategias
seguras en base a todas las variables relevantes.
6
In-memory Computing permite además a los encargados de ventas, operaciones
y finanzas, tomar decisiones estratégicas que mejoren los resultados finales,
determinando de forma colectiva el impacto financiero de la estrategia.
3. Desventajas de de In-Memory Computing
En el artículo de Pablo Albarracín (2011), presenta que “una de las mayores
preocupaciones se da con la computación en memoria, en la nube, donde la seguridad
se convierte en un desafío, la seguridad no es un tema menor, sobre todo hoy cuando
los ciberataques son recurrentes en todas las industrias y gobiernos.”
Según Gerardo Dávila, socio de Consultoría de Ernst & Young México, el uso de
la nube se ha transformado en una tendencia que se puede observar a simple vista y de
una manera muy clara; y que los clientes solicitan cada vez más opciones, a pesar de su
auge existen temores relacionados con la seguridad, no se tiene la completa certeza que
los datos que se encuentran en la nube se encuentren completamente seguros en la
nube, no saber a ciencia cierta la situación de los datos de la empresa representa un
obstáculo bastante grande para la aplicación de In-memory Computing.
4. Aplicaciones In-Memory Computing
En la revista chilena Gerencia, el autor del artículo IN-MEMORY COMPUTING
¿Un nuevo paradigma? (2013), Ernesto Castillo nos comenta que durante el SAP Partner
Summit 2011, la compañía alemana de software empresarial SAP, lanzó al mercado
latinoamericano su aplicación en memoria denominada HANA (High-Performance
Analytic Appliance), la que permite analizar volúmenes masivos de datos en tiempo real
facilitando la toma de decisiones de negocio de manera veloz, además esta herramienta
de business intelligence cuenta con la posibilidad de funcionamiento en la nube.
Esta herramienta es apta para todo tamaño de empresas, sin importar el sector
económico, esto ya que puede adaptarse a la realidad diferentes organizaciones, “SAP
HANA es la base y el núcleo de todo lo que estamos haciendo y de lo que haremos, tanto
con nuestros producto actuales como con todo los que vayamos a lanzar en el futuro,
porque se trata de un nuevo paradigma, de una manera completamente diferente de
7
construir aplicaciones”, explicó Rodolpho Cardenuto, presidente de SAP América Latina
y el Caribe.
Otra herramienta innovadora basada en la tecnología de In-Memory Computing
consiste en denominado sistemas de pagos inteligentes, la cual como aplicación
financiera consta del calcula y entrega alternativas de financiamiento en facturas
abiertas, analizando los datos actuales e históricos, proponiendo con inteligencia los
descuentos que se deberían realizar en determinadas facturas. Donde la tecnología de
memoria permite eliminar supuesto en cuanto a cada cliente y factura, según el impacto
que esto represente sobre la liquidez del cliente.
Durante los últimos años otra empresa que se ha incursionado en la innovación
con computación en memoria, es la australiana Tibco, la cual entrega ejemplos prácticos
de cómo esta tecnología puede elevar la competitividad de las empresas, ayudando a
romper la barrera del rendimiento en cualquier aplicación que requiera frecuentes y altos
volúmenes de solicitudes de grandes conjuntos de datos almacenados.
Según Tibco las siguientes son un conjunto de ventajas al implementar la
computación en memoria, cada una de éstas conforme a su área en el mercado:
-Industria Aeronáutica: Se almacenan en caché de millones de registros relacionados
con vuelos, estos datos están en constante cambio, incluyen itinerarios, tarifas y
disponibilidad, de lo que se encarga es de garantizar que los tiempos de respuesta sean
cortos en la búsqueda de disponibilidad de los vuelos.
-E-commerce: Se almacenan datos de los sitios de comercio electrónico para permitir
personalizar los pedidos y los carritos de compras, con el fin de garantizar la mejor
experiencia del cliente.
“El impacto de la computación en memoria en los departamentos de TI es
importante. Hoy en día si se quiere competir en los mercados verticales donde tiene un
impacto real (finanzas, telecomunicaciones, comercio minorista, etc.) en la
infraestructura y los conocimientos de programación, tomar ventaja de la computación
en memoria es un imperativo, donde el análisis y la búsqueda a través de grandes
8
conjuntos de datos lleva a las empresas a diferenciar sus negocios en el futuro”, dice
David Hickman, director of service-oriented architecture (SOA) de Márketing de Tibco.
La empresa GridGain Systems ofrece a sus clientes una plataforma de In-Memory
Computing de grado empresarial basada en Apache Ignite. La meta de esta organización
es que a través de sus servicios sus clientes puedan ganar ventaja competitiva de
cualquier negocio y en tiempo real. GridGain Systems ofrece soluciones completas de
In-Memory Computing permitiendo así realizar transacciones de alto volumen, analítica,
y procesamiento analítico en tiempo real.
5. Casos Aplicados de In-memory Computing
Los siguientes 2 casos de éxito fueron tomados de la página de la empresa
GridGain, en estos se puede observar como la solución de In-Memory Computing que
brinda esta empresa, se adapta a diversas áreas de mercado que van desde empresas
de transporte, financieras y hasta investigaciones científicas, en las que la solución
encontrada ha beneficiado la productividad de las mismas aumentando la confianza de
sus clientes.
5.1. Caso 1: Mercury Gate.
El primer caso a estudiar es de la empresa Mercury Gate dedicada a sistemas de
gestión de transporte globales, ofreciendo Servicios SaaS (Software as a Services). Las
soluciones que esta empresa ofrece a los transportistas y proveedores son planificar,
optimizar y ejecutar movimientos globales de transporte, ya sea por tierra, mar o
aéreo, además que proporciona un control de extremo a extremo. Mercury Gate hizo una
gran inversión en infraestructura de telecomunicaciones, debido a la demanda de gestión
de transportes en el 2000 se reconoció la necesidad de mejorar el rendimiento en
términos de bases de datos. El reto que debía de cumplir Mercury Gate era lograr
satisfacer las demandas en cuanto a rendimiento para sus clientes, ya que ellos
necesitaban obtener la información de sus envíos lo más rápido posible para hacer sus
negocios y mantener la competitividad a medida que ahorraban dinero y aumentar sus
ganancias. Es por esto que esta empresa buscó alternativas de In-Memory Computing,
9
por la escalabilidad horizontal que les permite tener, además de reducir costos y mejorar
el servicio del cliente y su confianza.
La solución que GridGain les ofreció les permitió resolver el reto de escalabilidad
para el crecimiento del cliente. Sin embargo, el mayor beneficio que obtuvo fue el
aumento de rendimiento y la importante reducción del tiempo de espera, que pasó de
tardar alrededor de un minuto a 10 segundos. Los resultados han sido bien recibidos por
los clientes de Mercury Gate y han generado grandes frutos para la compañía, lo que
ayudó a esta compañía a ser más eficiente y a dar mejores resultados para sus clientes
ofreciéndoles confiabilidad.
5.2. Caso 2: e-Therapeutics
El segundo caso a analizar es de la empresa e-Therapeutics una empresa del
reino unido que se encarga del descubrimiento y desarrollo en busca de tratamientos
para enfermedades bio complejas, como el cáncer y la neurodegeneración, usando un
enfoque llamado red de farmacología e-theraupetics identifica y analiza una específica
cadena de proteínas asociadas con una enfermedad en particular, y entonces identifica
múltiples puntos que si se impactan simultáneamente , pueden interrumpir en esta
cadena de proteínas. El equipo busca moléculas en fármacos que maximicen el impacto
sobres estas cadenas de proteínas.
Este enfoque es basado en un analista computacional de las células de las
enfermedades, un simple análisis no toma mucho tiempo, e-theraupetics envuelve ciento
y miles de análisis entre múltiples parámetros establecidos y asunciones, resultando en
un extraordinario ambiente intensivo de cómputo, en 2012 para acelerar estos procesos
la compañía reconoció la necesidad de paralelizar los algoritmos
Esta empresa decidió adquirir el servicio de Gridgain, esto le permitió habilitar
transacciones de alto rendimiento que corren 1000 veces más rápido que la opción de
disco. Los beneficio que esta empresa obtuvo al utilizar In-Memory Computing para
paralizar su enfoque, fueron el rendimiento de su análisis ya que permitió pasar de
semanas de duración de procesamiento a horas o inclusive minutos, ahora son capaces
de tomar iniciativas que eran simplemente imposibles con la tecnología anterior, ahora
10
son capaces de construir modelos de células más largos y complejos lo que ha abierto
fundamentalmente nuevos enfoques para abordar enfermedades, y los científicos
pueden explorar más hipótesis.
La empresa SAP también ha acelerado su negocio con la ayuda de la tecnología
In_Memory Computing, la cual ha ayudado a impulsar su negocio, para mantenerlo al
margen de las necesidades actuales de sus clientes.
5.3. Caso 3: Transformando la Gestión Financiera en SAP con SAP HANA
Durante 40 años, SAP ha ayudado a las empresas a funcionar mejor con
soluciones software de primera. Y durante ese tiempo, la organización financiera de SAP
proporcionó un fuerte liderazgo financiero. En 2012, esta empresa decide acelerar su
transformación aprovechando la última innovación SAP HANA, pasando de procesos
financieros en lotes a procesos en tiempo real y ofreciendo lo que permite ofrecer una
experiencia superior a todos los usuarios en finanzas.
Alcanzando gracias a esto, hitos clave, primero con aceleradores SAP HANA para
análisis de rentabilidad en tiempo real, luego con SAP BW potenciada por SAP para la
creación de informes en tiempo real, y finalmente implementado SAP Business Suite en
SAP HANA para procesos transaccionales, sin embargo, mientras se realizaba este
proceso se continua la percepción de que el sistema ERP se podría optimizar más, para
lograr el nivel de alineación agilidad y previsibilidad que se pretendía alcanzar, para lo
cual se unieron fuerzas con el equipo de desarrollo de innovación de aplicaciones, para
coinnovar lo que ahora se llama Financials Add-on para SAP Business Suite powered
by SAP HANA.
En menos de dos meses fue lanzado, con lo que agilizamos las finanzas de ERP,
pero de forma no disruptiva. Actualmente cuentan con una base común para la
contabilidad regulatoria y de gestión, así como para los procesos transaccionales y de
analíticos. Y con esto lograr ver beneficios inmediatos, como que el procesamiento de la
agregación y de la transacción ahora se puede hacer instantáneamente, además de
contar con una exploración más flexible hasta el nivel de artículos de línea. Permitiendo
analizar en detalle los datos financieros en todas las dimensiones, renovando
11
completamente la experiencia del usuario en finanzas haciéndola más personalizada,
receptiva y simple.
12
Conclusión
La tecnología cambia en un abrir y cerrar de ojos, y todos los cambios que se
generan tienen como fin principal es mejorar los servicios que actualmente existen de
manera que aumenten la productividad y que cumplan con el atributo indispensable de
los sistemas actuales que se mencionó en esta investigación: la disminución en el tiempo
que tarda en ofrecer una respuesta. En la actualidad la calidad de un sistema se ve
influenciada directamente por la velocidad que posee para resolver las solicitudes
realizadas por los clientes.
Muchas empresas sobresalientes en los servicios de consulta de datos que
ofrecen a sus clientes aplican el In-memory computing, que es la más vivo ejemplo de
que una simple idea puede llegar a ser una revolución de mercado, ya que la idea inició
en un foro en donde uno de los participantes opinó que para él sería de lo mejor tener
todos los datos en un sistema que estuviera en memoria caché, alguien leyó este “deseo”
y logró hacerlo realidad ofreciendo la posibilidad de reducir tiempos de consulta de horas
a segundos para diferentes fines como generar reportes, hacer analítica de datos o
realizar consultas directo a datos.
Gracias a esta investigación fue posible comprender el funcionamiento de In-
memory computing, el cual hace uso de la memoria caché del CPU o de la memoria de
acceso aleatorio (RAM), y que a partir de esta tecnología ha surgido una sustitución a
las bases de datos tradicionales, ya que en la actualidad se intentan mantener las bases
de datos y hasta los Data Warehouse In-memory, haciendo que los datos se encuentren
disponibles en memoria caché desde el momento en que se ingresan consultas sin
importar si la base de datos se encuentra normalizada se realicen con la mayor velocidad
posible.
Sin embargo, la computación en memoria puede ser un reto para aprovecharse
de manera eficaz, porque no todo el software está diseñado para tomar ventaja de ella.
Una aplicación que fue escrita para ejecutarse en una infraestructura con
almacenamiento tradicional puede necesitar modificaciones para sacar el máximo
provecho de la computación en memoria.
13
Esta tecnología puede significar la diferencia entre el típico rendimiento de las
aplicaciones y una velocidad de apresurada. Además, es importante recalcar que la
computación en memoria fue muy cara de obtener y difícil de configurar, sin embargo,
actualmente las plataformas de computación en memoria basadas en la nube ofrecen
formas rentables y accesibles para superar el cuello de botella que los discos duros
pueden crear en una infraestructura tradicional.
Con los casos estudiados se pudo observar cómo la tecnología In-memory-
Computing es utilizada en una amplia gama de mercados, donde las aplicaciones de esta
tecnología hacen que las empresas que la utilicen mejoren su rendimiento con tiempos
de respuesta más cortos y analizando mayor cantidad de datos.
14
Referencias Bibliográficas
Albarracín P. (2011) Computación In-Memory, La Promesa Para Agilizar La Analítica
En Las Empresas. Recuperado de:
http://tecno.americaeconomia.com/articulos/computacion-memory-la-promesa-
para-agilizar-la-analitica-en-las-empresas
Barceló M. (2008) Una Historia de la Informática. Primera Edición en Castellano.
Editorial Ciervo 96 S.A. Recuperado de:
https://books.google.co.cr/books?id=8wwUowhAp_MC&pg=PA52&lpg=PA52&dq
=cuanto+tiempo+tardaba+ENIAC+en+realizar+un+proceso&source=bl&ots=hDb
A3gUBxy&sig=C6ZR8mJf7eZuL-
YEGAGf3jTx0BA&hl=es&sa=X&redir_esc=y#v=onepage&q=cuanto%20tiempo%
20tardaba%20ENIAC%20en%20realizar%20un%20proceso&f=false
Castillo E. (2013) IN-MEMORY COMPUTING, ¿Un nuevo paradigma?. Revista
Gerencia, Chile. Recuperado de: http://www.emb.cl/gerencia/articulo.mvc?xid=23
Earls A. (2011) Tips on evaluating, deploying and managing in-memory analytics tools.
BeyeNETWORK.com. Recuperado de:
https://web.archive.org/web/20120425232535/http://www.analyticsearches.com/s
ite/files/776/66977/259607/579091/In-Memory_Analytics_11.10.11.pdf
ebim corp Asesoría Empresarial(2017) SAP HANA: In Memory Computing (IMC), un
nuevo paradigma. recuperado de:
http://ebimcorp.biz/main_website/2017/04/10/sap-hana-in-memory-computing-
imc-nuevo-paradigma/
Gill J. (2007) Shifting the BI Paradigm with In-Memory Database Technologies.
Recuperado de: https://www.highbeam.com/doc/1P3-1636785121.html
Grandpierre M., Buss G., Esser R. (2013) In-memory computing technology. The holy
grail of analytics?. Deloite. Recuperado de:
https://www2.deloitte.com/content/dam/Deloitte/de/Documents/technology-
media-telecommunications/TMT_Studie_In_Memory_Computing.pdf
15
Gridgain.com. (2015). Banking on HPC and Fast Data with GridGain C. Recuperado de:
https://www.gridgain.com/wp-
content/uploads/2015/10/GridGain_Case_Study_Bank.pdf
Gridgain.com. (2015). Case studt.Global SaaS TMS Provider MercuryGate Chooses
GridGain to Improve Business for Clients by Reducing System Wait Times
GridGain In-Memory Data Fabric Meets Unique Needs of SaaS Vendors and
Provides Opportunities for New Revenue Streams. Recuperado de:
https://www.gridgain.com/wp-
content/uploads/2015/04/GridGain_Case_Study_MercuryGate.pdf
Gridgain.com. (2015). e-Therapeutics Runs Hundreds of Thousands of Computational
Analyses in Minutes to Find Treatments for Biocomplex Diseases. Recuperado
de: http://go.gridgain.com/rs/491-TWR-806/images/GridGain_Case_Study_--_e-
Therapeutics.pdf
Gridgain.com. (2017). The GridGain In-Memory Computing Platform Built on Apache®
Ignite™ | GridGain Systems. [online] Recuperado det: https://www.gridgain.com/
Hao Zhang, Gang Chen, Beng Chin Ooi, Kian-Lee Tan, Meihui Zhang (2015) In-
Memory Big Data Management and Processing: A Survey. Recuperado de:
http://ieeexplore.ieee.org/stamp/stamp.jsp?reload=true&tp=&arnumber=7097722
SAP (2011) SAP® In-Memory Computing Technology Changing the Way Business
Intelligence Is Managed. SAP Thought Leadership Business Intelligence.
Recuperado de: http://fm.sap.com/data/upload/files/sap_in-
memory_computing_technology_.pdf