Pregunta

¿Los motores OLAP en memoria tienen ventajas sobre los motores OLAP tradicionales respaldados por suficiente RAM para contener todo el cubo (s)?

Por ejemplo, si uso un motor Molap (SSA) y GB / TB de RAM, donde todo el cubo (o incluso Star-Schema) es residente de RAM, ¿cuál es la diferencia en comparación con algo como TM1 / SAP HANA?

¿Fue útil?

Solución

Las bases de datos diseñadas con el supuesto de que serán completamente residentes en la memoria principal pueden usar estructuras como Índices T-Tree. Pero la verdadera ventaja es que los IMDB son más simples. Hacen menos (ya que no tienen que preocuparse por administrar un caché, o Serializing escribe Para consistencia, o cualquier cosa que ver con la E/S compatible con el ácido), por lo que ejecutan menos instrucciones sobre el hardware para llevar a cabo el mismo "trabajo". Una base de datos de propósito general tiene que ser todo para todas las personas; como un Leatermán tiene una docena de herramientas, pero a veces solo necesitas una vanguardia, por lo que compra una cuchilla de Arma blanca, ¡Y nadie debate que es un mejor cuchillo!

Otros consejos

No es mi campo de experiencia, pero como entiendo la diferencia en la mayoría de las llamadas bases de datos OLAP en memoria (no es un término que me gusta, se utiliza como un tono de marketing más que una comparación justa de las tecnologías) es Índices de la tienda de columnas.

Tiendas de columna vs en las tiendas de fila (qué tan diferentes son realmente) es una buena introducción a la tecnología si está familiarizado con las estructuras tradicionales de base de datos OLTP y OLAP.

Los índices de la tienda de columnas hará una aparición en SQL Server 2012 (también conocido como 'Denali').

Aquí hay un Enlace A una presentación de Power Point de Conor Cunningham, arquitecto principal de software en el equipo del procesador de consultas de SQL Server que cubre esta nueva característica.

Las tiendas de columna permiten una compresión de datos significativa de una manera que no sea posible en un sistema de almacenamiento de filas. Básicamente, todos los valores en una columna se almacenan solo una vez en un diccionario, entonces el DB almacena una clave de diccionario de enteros en lugar del valor original. Si tuviera una ROW Store DB en la memoria, pero significativamente más grande, y más poco práctico daría el costo de la memoria. Las mejoras en el rendimiento son lo suficientemente significativas como para que ya no necesite datos de transacción previos a los agregados y los cubos no son necesarios en la mayoría de los casos.

Además, porque el almacén de columnas mantiene todos los valores de columnas en bloques de memoria secuenciales, el escaneo tiene menos bloques para omitir en operaciones como Select. Sin embargo, hay algunos inconvenientes en las tiendas de columna transaccionalmente, y HANA, por ejemplo, agregó tablas de almacén en versiones posteriores.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a dba.stackexchange
scroll top