Tiempos de respuesta menores a un segundo con la

Anuncio
Tiempos de respuesta menores a un segundo con
la nueva analítica en memoria de MicroStrategy 10
Fernando Gutiérrez-Cabello
El alto rendimiento ya no es solo un plus en las aplicaciones analíticas
Los usuarios esperan un rendimiento al nivel de
Google de sus aplicaciones analíticas,
especialmente en dispositivos móviles
La explosión en volúmenes de datos y la
variedad, exige consolidación y agregación en
memoria
Impulsores del
gran rendimiento
Las aplicaciones analíticas modernas contienen
cientos de visualizaciones, distribuidas a miles de
usuarios al día
La caída drástica en el coste de la memoria, junto al
procesamiento en paralelo, hacen posible un
rendimiento económico
2
La nueva arquitectura en memoria de MicroStrategy combina 3 logros
Almacenamiento de datos en
memoria
Procesamiento masivo en paralelo con
hardware básico
Analítica de anticipación: datos
integrados y capas de visualización
3
Exploración interactiva de
de terabytes
por 100.000 de usuarios
Cubos en memoria divididos en paralelo - PRIME
•
•
4
Paralelo
Relacional
In Memory
Engine
Escalabilidad lineal
Esquema flexible
De 3 a 10 veces más rápido
De 7 a 20 veces más
usuarios
Exploración interactiva
estrechamente vinculada
Conexiones de
datos en paralelo
para una tasa de
recuperación más
alta.
Renderización de
visualizaciones en
paralelo desde
cubos en memoria.
•
Esquema de cubos
mucho más flexible.
•
Capa en memoria
muy mejorada.
•
Mejor gestión de
memoria.
•
Acepta más de
2.000 millones (2B)
de filas por cubo.
Datos repartidos en
múltiples trozos de
2B.
•
Motor en memoria
estrechamente
vinculado con motor
de visualización.
•
Tiempos de
respuesta muy
rápidos.
Los cubos divididos en paralelo coexisten con las bases de datos existentes
• No sustituyen a las bases de datos.
Cubos divididos en
paralelo
• Funcionan como capa de datos
«caliente» para aplicaciones que
requieren un gran rendimiento.
• Acuden a las bases de datos para
ofrecer más detalle.
• Se cargan desde las bases de datos
,archivos y Hadoop.
DATOS ORIGEN
Procesamiento masivo en paralelo con hardware básico
Ejecución en paralelo con
MSTR 10
BI tradicional
Motores de
consulta
Cuello de botella
Memoria
compartida
Ejecución en
paralelo
Datos
distribuidos
Memoria
Memoria
•
Ejecución y carga de consultas en paralelo
•
Hardware básico y económico
Memoria
Interacciones más rápidas: datos y capa de visualización integrada
BI tradicional
Capa de
visualización
Escasamente
vinculado
Capa de datos
Motor de visualización
ligado al dato
La capa analítica
optimiza las consultas
para datos
La capa de datos
analiza el panel de
indicadores y
optimiza las
estructuras
Capa de visualización
Capa de datos
•
La capa de datos no entiende el diseño de la
capa analítica
•
Las capas muy integradas permiten la
optimización
•
Conexiones optimizadas para el mínimo común
denominador
•
La capa analítica optimiza globalmente las
consultas enviadas a datos según estructuras de
datos
•
La capa de datos se anticipa y planifica según el
conocimiento del panel de indicadores
Carga de datos más rápida con cubos en memoria divididos en paralelo
Los cubos inteligentes se toman mucho tiempo porque la recuperación
de datos ODBC (utilizando un solo hilo) es lenta.
Cuello de
botella
API
VISUALIZACIÓN
Motores de aplicación
Ajuste el número de conexiones a través de
VLDB: el valor predeterminado es 2.
Motores de analíticaMotores de analítica
DATOS
DATOSDATOS
DATOS
…
8
Ahora los datos se pueden cargar en paralelo, lo
que permite una publicación de cubos más
rápida.
…
DATOS
Capacidades analíticas más amplias con cubos en memoria divididos en paralelo
Cuello de
botella
Los set de datos estaban limitados a analíticas de un solo paso
La división en paralelo es compatible con la generación de CSI de multipaso para admitir una amplia
gama de analítica y estar a la par con el motor SQL.
La analítica de multipaso incluirá la compatibilidad con cualificaciones métricas, filtros de relación, etc.
9
Volúmenes de datos más grandes con cubos en memoria divididos en
paralelo
Cuello de
botella
Limitación de datos de 2.000 millones (2B) de filas por cubo.
Superar la limitación de 2B de filas al poder dividir datos en varios núcleos de una CPU y poder
dividir los datos dentro del cubo en múltiples trozos de 2B.
Aprovechar núcleos existentes de una CPU con mayor eficiencia.
9.4.1
MSTR 10
Cubo dividido en paralelo
2B
Cubo OLAP
2B
2B
….
2B
…………….
DATOS
Núcleo
1
Núcleo
2
Núcleo
3
DATOS
…....….
Núcleo
16
CPU de 16 núcleos
10
Núcleo
1
DATOS
Núcleo
2
DATOS
Núcleo
3
….…...
……….
DATOS
Núcleo
16
CPU de 16 núcleos
Servicios OLAP en memoria y cubos en memoria divididos en paralelo
Acceda a la base de datos
con
una mayor producción
Crear y publicar el cubo con
una mayor escalabilidad de
datos
Analizar los datos con
un tiempo de respuesta
menor
9.4.1: Servicios OLAP
Datos: 5M de filas
Tasa de recuperación:
5.074 kB/seg.
9.4.1: Servicios OLAP
Datos: 2,35B de filas
Fallo por el límite de filas de 2.000
millones.
9.4.1: Servicios OLAP
Datos: 8M de filas
11
Tiempo de respuesta: 0:06:33
MSTR 10: Carga de 8 hilos en
paralelo
Datos: 5M de filas
Tasa de recuperación:
22.454 kB/seg.
MSTR 10: División en 8 hilos
Datos: 2,35B de filas
Tiempo de publicación: 5:14:23
Tamaño del cubo: 265 GB
Tiempo de respuesta: 0:04:25
Cargue datos 4
veces más rápido
Aumente la escalabilidad
de datos hasta 80 veces
Interacciones de datos
50% más rápidas
MSTR 10: Acceso de 8 hilos en
paralelo
Datos: 8M de filas
Servicios OLAP en memoria y cubos en memoria divididos en paralelo
12
0
1
2
3
4
5
0
5
10
15
Potencia de salida (kilociclos)
Cubo MSTR 10 con 8 divisiones en Linux con 8 núcleos
Cubo MSTR 10 con 1 divisiones en Linux con 8 núcleos
Cubo MSTR 10 sin divisiones en Linux con 8 núcleos
Cubo MSTR 9.4.1
Tiempo de respuesta promedio (seg.)
Tiempo de respuesta promedio (seg.)
El cubo no dividido en paralelo presenta una capacidad un 20% mayor que los servicios OLAP
1
2
3
4
5
6
7
0
5
Potencia de salida (kilociclos)
10
Cubo MSTR 10 con 8 divisiones en Win64 con 8 núcleos
Cubo MSTR 10 con 1 divisiones en Win64 con 8 núcleos
Cubo MSTR 10 sin divisiones en Win64 con 8 núcleos
Cubo MSTR 9.4.1
Servicios OLAP en memoria y cubos en memoria divididos en paralelo
490
30
390
Tiempo de respuesta
(seg.)
Tiempo de respuesta (seg.)
35
25
290
20
15
190
10
5
0
-10
R1 R3
R5 R7
R9 R11 R13 R15 R17 R19 R21 R23 R25
Informes del cliente A
Cubo 9.4.1
Cubo MSTR10 sin divisiones
Cubo MSTR10 con 32 divisiones
•
•
13
90
R1 R3 R5 R7 R9 R11 R13 R15 R17 R19 R21 R23 R25 R27 R29
Informes del cliente B
Cubo 9.4.1
Cubo MSTR10 sin divisiones
Cubo MSTR10 con 32 divisiones
El cubo en memoria dividido presenta un aumento significativo del rendimiento en casi
todos los casos, tanto para el cliente A como para el B.
Los cubos sin divisiones y OLAP presentan prácticamente el mismo tiempo de respuesta.
Descargar