En un reciente webinar público, alguien de la
competencia demostró que no entendía nada sobre SAP HANA y transmitió su
limitado e inexacto conocimiento a analistas financieros y de la industria. En
SAP no suelen responder este tipo de cosas; pero al ver cómo se desarrolló la
escena que se había armado, nos pusimos a pensareeeee que: ¡debemos estar haciendo algo
bien! Es decir, ¿es posible que uno de los líderes en el desarrollo de bases de
datos desconozca en tal medida la próxima generación de tecnologías de bases de
datos? ¿O acaso será que simplemente no está dispuesto a reconocer la realidad,
y por eso recurre a diseminar información errónea?
El equipo HANA es un grupo apasionado por tres
cosas en común: hacer que los clientes de HANA tengan éxito, divertirnos, y
cuestionar el status quo. Con este propósito, de parte del equipo SAP HANA, me
gustaría corregir la información inexacta de nuestra competencia, y de paso
divertirme un poco.
La ventaja de SAP HANA
Quisiera empezar diciendo que (a) compararnos
con enfoques tecnológicos del pasado no tiene sentido, (b) los clientes de HANA
disfrutan de los excelentes beneficios de esta nueva tecnología sin cambios
disruptivos, y (c) HANA representa una nueva generación de 'enterprise
computing', particularmente en lo que concierne a bases de datos. Es una
plataforma de datos moderna para aplicaciones y análisis de datos en tiempo
real. Permite que una organización analice sus operaciones de negocios en base
a una gran cantidad y variedad de datos detallados, en tiempo real, a medida
que suceden, eliminando la latencia entre sistemas OLTP y OLAP para poder
trabajar "realmente" en tiempo real. La ventaja de HANA reside en que es un
sistema profundamente integrado con diferentes componentes que son
completamente transaccionales y bien integrados al optimizador de sistema.
Escalar vertical u horizontalmente es algo que funciona sin fricciones para
todos los componentes, tales como OLTP, OLAP (tanto operacional como de
warehouse), texto, planeamiento o puro desarrollo de aplicaciones. ¡Permite un
deploy fácil, sin un zoo de servidores, ni replicación interna, ni vistas
materializadas, ni un stack de motores!
En el análisis que comparto más abajo voy a
tratar de ser preciso para comunicar todo esto, y voy a actualizar este blog
periódicamente para brindar la verdad sobre SAP HANA continuamente. Aquí van
algunas de las correcciones.
#1 Lo más importante del diseño futuro de
bases de datos.
Incorrecto: "Los DBMS en memoria no
remplazarán a muchos (o a todos) los DBMS relacionales".
Correcto: Los DBMS en memoria son una parte
central del diseño futuro de bases de datos. Ya están remplazando grandes
porciones del mercado de bases de datos, en particular las de analytics,
planeamiento, simulaciones y aplicaciones en tiempo real (p. ej. el mercado de
los juegos). Los nuevos DBMS en memoria se basan en investigación académica
sólida y están diseñados para dar soporte a OLAP y OLTP. Ya son comunes en
mercados donde la performance es clave, y van a transformar los mercados a
nivel enterprise de la misma manera que el concepto de 'cloud' lo hizo con las
aplicaciones transaccionales.
#2. El rol de la plataforma de base de datos.
Incorrecto: Una base de datos en memoria sólo
puede hacer algunas cosas, tales como MOLAP, reportes operacionales, consultas
y análisis, planeamiento y presupuesto, y descubrimiento de información no
estructurada.
Correcto: SAP HANA es una plataforma de base
de datos en memoria de propósito general, que puede obtener información
reciente, capturar transacciones completamente ACID, analizarlas a medida que
ocurren, hacer procesamiento en la base de datos (metiendo la lógica de
negocios, de predicción y de planeamiento cada vez más en la base de datos), e
incluso brindar a los clientes servicios como analytics o aplicaciones cloud y
móviles. Se puede aplicar a los usos más comunes, mucho más allá de los casos
de uso en los nichos enumerados para bases de datos en memoria. No hace falta
agregar otras tecnologías y duplicar motores en un mismo servidor para
distintos usos: p. ej. Endeca (texto), Essbase (planeamiento), TimesTen
(caching, analytics).
#3. Escalar horizontalmente ante volúmenes
crecientes de información. Soporte para NUMA.
Incorrecto: SAP HANA tiene soporte limitado
para data marts y data warehouses, y no puede escalar horizontalmente.
Correcto: SAP HANA puede escalar
horizontalmente a un número ilimitado de núcleos/nodos, y los precios del
hardware siguen bajando. En nuestra conferencia SAPPHIRE NOW en mayo del año
pasado, Hasso mostró 32 nodos / más de mil núcleos corriendo SAP HANA (a los
13,45 minutos de su presentación). A propósito, tenemos tres sistemas de más de
mil núcleos corriendo en este momento en el mundo. Tenemos clientes activos de
HANA con sistemas multi-nodo que escalan horizontalmente, y varios partners,
incluidos IBM y HP, que ya están haciendo appliances capaces de escalar
horizontalmente.
Además, nuestro benchmark reciente sobre 100TB
en 16 nodos de servidores X5 de IBM, cada uno con medio TB de memoria, que
procesan 100TB de información BW en 300-500ms para reportes operacionales y
800ms-2s para consultas analíticas ad-hoc. La información también se puede
pasar a swap con mecanismos estándares de HANA, tales como un criterio de
'envejecimiento'. HANA tiene soporte para la arquitectura NUMA. Por el
contrario, en la documentación pública se revela que Oracle Exalytics tiene un
límite de 1 TB, y ya han dicho públicamente que una porción significativa de
ese TB se usa en memoria de trabajo para todos los productos que juntaron
(Essbase + Endeca + TimesTen).
#4: OLTP y OLAP.
Incorrecto: En SAP HANA hay una "limitada
performance de escritura".
Correcto: SAP HANA es una base para OLTP+OLAP
en una única pieza de hardware y un único sistema operativo; escala
verticalmente y horizontalmente (desde una Mac Mini a más de mil núcleos
distribuidos en varios nodos) y se ajusta dinámicamente según la carga de
trabajo. Somos la única base de datos en memoria que hace inserts en una base
de datos orientada a columnas con alta performance de escritura Y TAMBIÉN alta
performance analítica. Ésta es la diferencia clave de SAP HANA.
#5: Almacenamiento: fila, columna y texto.
Incorrecto: SAP HANA no tiene "soporte
para datos no estructurados" y no provee "compresión de filas y
columnas".
Correcto: SAP HANA tiene almacenamiento
orientado a filas, columnas y texto en una misma base de datos y tiene soporte
nativo para información no estructurada. Además, todo está integrado, lo cual
simplifica las operaciones transaccionales y analíticas en todas las formas de
almacenamiento. De hecho, la base de SAP HANA fue originalmente la búsqueda no
estructurada. Puede manejar búsquedas estándares y minería de texto tanto como
búsquedas de texto en campos estructurados. Gracias a la tecnología Inxight,
características lingüísticas tales como etiquetamiento, extracción de rasgos,
extracción de entidades y análisis de sentimiento van a estar incluidas en SAP
HANA. Inxight es el mejor software de análisis de texto en el mercado.
SAP HANA tiene soporte para compresión en
almacenamiento orientado a columnas. La compresión fuerte no es un
requerimiento para el almacenamiento orientado a filas, porque se lo usa
únicamente como buffer para el orientado a columnas y para tablas donde la
compresión es irrelevante. La ventaja de SAP HANA reside en una integración
inteligente con el stack de aplicaciones, lo cual elimina la necesidad de
compresión para el almacenamiento orientado a filas.
#6. Caching de información y optimización de
consultas.
Incorrecto: SAP HANA y TimesTen hacen caching
de información.
Correcto: La generación anterior de bases de
datos usaba caching para mejorar la performance. HANA es una base de datos
totalmente en memoria, basada en un nuevo paradigma de arquitectura. Dado que
la base entera está en memoria, no hay cache de información en HANA. SAP HANA
tiene un optimizador de primer nivel para consultas, que permite de manera
nativa la ejecución de consultas de manera altamente paralela, incluso haciendo
paralelismo inter- e intra-operador.
#7: Propiedades ACID e integridad
transaccional.
Incorrecto: SAP HANA "no tiene
verificación de la corrección/integridad transaccional, así como tampoco
concurrencia multi-versión (MVCC)".
Correcto: SAP HANA cumple con ACID
completamente, y usamos sistemas de almacenamiento permanente para backup y
persistencia. Es totalmente MVCC con las capacidades estándares, tales como
aislamiento a nivel de statement y de snapshot.
#8: Tablas agregadas y vistas materializadas.
Incorrecto: Hace falta tener vistas
materializadas para tener alta performance con tablas agregadas.
Correcto: ¡Otro ja ja! Los autos eléctricos no
necesitan bujías. Para datos detallados en memoria, calcular agregados en el
momento tiene mucha mejor performance. Las tablas agregadas son una tecnología
anticuada a esta altura, ya que se requiere mucho esfuerzo para crearlas,
almacenarlas de manera redundante, y administrar sus cambios. SAP HANA no
necesita índices para tener buena performance, como las bases tradicionales; la
base entera en memoria, para todas las dimensiones del dataset, actúa de por sí
como un índice.
#9: Clientes de Business Intelligence.
Incorrecto: SAP HANA brinda soporte limitado,
para unos pocos clientes BI.
Correcto: SAP Business Objects está optimizado
para correr en SAP HANA. Además de numerosos clientes de terceros que ya están
disponibles (p. ej. Tableau, Tibco Spotfire), continuaremos siendo
completamente abiertos a clientes BI de terceros para SAP HANA.
#10: Aplicaciones de planeamiento y funciones
analíticas.
Incorrecto: SAP HANA tiene soporte limitado
para aplicaciones de planeamiento y presupuesto.
Correcto: SAP HANA brinda un soporte completo
para aplicaciones de planeamiento. Muchas aplicaciones de SAP Enterprise
Performance Management corren sobre SAP HANA. SAP HANA tiene soporte nativo
para planeamiento dentro de la base de datos, en el motor de planeamiento.
Operadores como desagregación, copia y otros son parte del álgebra relacional
dentro de SAP HANA. Además, tenemos soporte para el lenguaje de planeamiento
FOX en SAP, dentro de la base de datos.
El planeamiento es un argumento muy importante
a favor de SAP HANA, no a la inversa. SAP HANA no necesita las operaciones
típicas de un cubo, porque podemos calcular en el momento. SAP HANA incluye en
su biblioteca las principales funciones analíticas y de negocios, tales como
funciones matemáticas, de conversión de monedas y unidades, de agregación excepcional,
de análisis de series temporales, de manejo jerárquico y de predicción. Tiene
además un amplio soporte para otras bibliotecas. Con SAP BW sobre HANA no
tenemos capas; metemos los cálculos de planeamiento en HANA DB para obtener
alta performance. SAP HANA tendrá soporte para toda aplicación transaccional,
warehouse de negocios, o aplicación cloud y BI de SAP. También tenemos partners
que están haciendo aplicaciones de planeamiento, desarrolladas nativamente en
SAP HANA.
#11. Reporte operacional y fuentes de datos.
Incorrecto: SAP tiene capacidades limitadas
para reportes operacionales debido a "fuentes de datos limitadas",
porque copian tecnologías ETL.
Correcto: SAP tiene una solución
extremadamente completa para reportes operacionales en tiempo real a partir de
múltiples fuentes de datos (p. ej. SAP CO-PA Accelerator). Muchas de ellos son
fuentes de datos de aplicaciones no SAP. SAP Data Services y SAP Sybase
Replication Server son líderes de mercado en tecnologías ETL y de replicación,
y traen datos de fuentes tanto SAP como no SAP. HANA tiene una velocidad
extremadamente alta de insert para bulk inserts, debido a su alto paralelismo.
Tiene soporte para todas las fuentes de datos y es un sistema que ha sido
testeado con más de 2TB por hora de movimiento de datos hacia SAP HANA.
#12. Esquema de precios.
Incorrecto: "SAP HANA es entre 5 y 50
veces más caro que Exalytics." el hardware para 1 TB HANA cuesta $362K, y
el software SAP HANA cuesta $3.75M
Correcto: Para 1 TB calculamos que el hardware
cuesta $40-$60K (no $362K) y el software será mucho más barato que en el
enunciado anterior. Además, SAP HANA está disponible a distintos precios para
diferentes segmentos del mercado.
Las posibilidades van desde HANA Edge para
pequeñas empresas, con precios adecuados (p. ej. $12K por un nodo hardware +
$2K por HANA para SAP B1 Analytics sobre HANA), hasta escenarios con más de
100TB de memoria. Los clientes también pueden comprar SAP HANA para una
aplicación (BW, BPC, CO-PA, Smart Meter Analytics, etc.) o para data marts y
data warehousing. BW sobre HANA para un data warehouse de 40TB está a muy buen
precio. Además, el esquema de precios HANA incluye todo lo que los clientes
necesitan: testing, desarrollo, ambientes de QA y soporte. No hace falta
comprar más software para cargar o mover información, acelerar el
almacenamiento (p. ej. Exadata), etc. Si se toma en consideración todo esto,
para una configuración de 512GB de uso, el costo total de SAP HANA es
aproximadamente el 50% del costo de los productos de la competencia.
#13: Estándares y apertura.
Incorrecto: "HANA sólo funciona con las
herramientas SAP, y tiene un SQL limitado o no estándar"
Correcto: Un porcentaje significativo de los
clientes usa HANA para información no SAP. Hay casos de uso tanto para
aplicaciones SAP como no SAP. Funciona con SQL y MDX estándares, y tiene
interfaces estándares para cualquier aplicación. Es abierto en todas sus capas:
- Opción libre de proveedor de hardware, para traer al mercado innovaciones a nivel del chip antes que la competencia
- Opción libre de cliente BI
- Abierto a todas las aplicaciones y plataformas
- Hay cientos de aplicaciones personalizadas (no SAP) en desarrollo sobre SAP HANA
p. ej. las aplicaciones Oracle y Oracle BI
corren sin cambios sobre SAP HANA. Los stored procedures existentes en Oracle
se traducen a SQLscript por razones de propiedad intelectual, lo cual muestra
la completa apertura de SAP HANA.
#14: SAP HANA en disco.
Incorrecto: SAP HANA no tiene soporte para
información almacenada en disco.
Correcto: SAP HANA tiene soporte para
información almacenada en disco a través de técnicas de asignación de prioridad
tales como Least Recently Used (LRU). SAP HANA puede mantener la información
relevante en memoria, y la información en disco se carga a pedido.
#15: Velocidad de consulta.
Incorrecto: SAP HANA no ejecuta consultas más
rápidamente que otras bases de datos.
Correcto: SAP HANA mantiene toda la
información en almacenamiento orientado a columnas, en formato entero,
optimizado para aprovechar las más recientes innovaciones de Intel, tales como
mejoras en CPU para operaciones con vectores. La arquitectura de avanzada de
SAP HANA y sus innovaciones a nivel de chip hacen que su desempeño sea más
rápido que el de las demás bases de datos del mercado. Por ejemplo, tenemos
cuatro clientes que han superado mejoras de 100.000 veces en sus procesos de
negocios con SAP HANA. El líder del grupo es MKI, que comprobó mejoras de
408.000 veces en el análisis de datos sobre ventas y logística.
#16: SAP HANA es más lento que Exadata y
Exalytics.
Incorrecto: "SAP HANA no corre más
rápidamente que Exadata, así que mucho menos va a mejorar a Exalytics".
Correcto: En un ejemplo en la infraestructura
de un cliente, SAP HANA resultó ser 15.000 veces más rápido que Oracle Exadata
en correr el proceso de verificación de crédito y límites de crédito sobre la
misma información y la misma consulta. Compárese esta performance en tiempo
real con la de una arquitectura basada en muchos servidores redundantes transaccionales,
analíticos, con aceleración en memoria y procesamiento de texto, que ya tienen
latencia inherente. Vemos esta misma experiencia en varios clientes, sólo
mencionamos aquí un ejemplo.
El enfoque actual en el mercado.
El nuevo enfoque de SAP HANA.
#17: Instalación y experiencia en
implementación.
Incorrecto: SAP HANA requiere de días para
instalar y de meses o años para implementar.
Correcto: SAP HANA se instala en un datacenter
en un tiempo que va de unos minutos a una hora. De hecho, pronto se podrá dar
de alta en algún cloud de nuestros partners. Provimi entró en funcionamiento,
haciendo análisis de rentabilidad, en tres semanas.
#18: Viaje en el tiempo.
Incorrecto: Es difícil para estas bases de
datos hacer reportes basados en series temporales sin un overhead importante.
Correcto: Con SAP HANA se pueden recorrer los
reportes en el tiempo (p. ej. para comparar predicciones de precios con los
precios reales). También permite desplazarse a lo largo del eje temporal y ver
cómo los reportes se construyen en el momento, sin necesidad de almacenarlos
previamente en vistas o índices.
Resumen
Presenté los hechos y sólo pido que se
entienda la verdad detrás de SAP HANA. La performance de SAP HANA es un cambio
enorme y revolucionario en el mercado tradicional de bases de datos. Es una
base única para OLTP+OLAP sobre una pieza de hardware y un sistema operativo, y
corre en equipos que van desde una Mac Mini hasta un cluster de servidores con
más de mil núcleos.
Aquí van las especificaciones técnicas de los
atributos que realmente nos importan:
- Volúmenes de información con gran crecimiento (sí, SAP HANA escala a medida que crezcan, y funciona con almacenamiento basado en disco)
- Información multi-estructurada (sí, incluye texto e información de máquina)
- Análisis en tiempo real de información reciente (sí, tiempo real _real_)
- Alta velocidad de interacción (sí, a la velocidad del pensamiento humano)
- No requiere esfuerzo para tunear la base de datos (sí, es más simple y más barato)
Estas características brindan mejoras de
performance de varios órdenes de magnitud. SAP HANA crea enormes ventajas
competitivas y de negocios para compañías al revolucionar la manera en que
éstas interactúan con sus clientes, así como su performance financiera y de
cadena de suministros. Clientes como Nongfu Spring (mejora de 22k sobre Oracle
DB) ya están abandonando Oracle.
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.