Anuncios

miércoles, 17 de abril de 2013

Proyectos tabulares de Microsoft SSAS


Todos los que hayan trabajado en Business Intelligence con las herramientas de Microsoft ya conocen lo que son los proyectos Multidimensionales de bases de datos.

Son bases de datos hechas para la generación de reportes con un diseño especial muy diferente a las bases de datos transaccionales y con otro motor de base de datos.

Los proyectos Multidimensionales si bien les falta mucho para poder ser tan estables como las bases de datos transaccionales, están en una etapa más avanzada de desarrollo y grandes empresas ya lo utilizan.

Desde SQL Server 2000 hasta SQL 2012 varias empresas utilizan esta tecnología.

Sin embargo, a partir de SQL 2012 aparece el modelo multidimensional.

En un artículo anterior realicé la comparación de ambas tecnologías:

http://elpaladintecnologico.blogspot.com/2012/11/modelos-tabulares-vs-modelo.html

Antes de migrar sus datos vea su Hardware. Los modelos Tabulares requieren de muchísima Memoria RAM (64 GB o más).

Si muchos de sus datos están en memoria Caché y ya tiene muchas agregaciones, es posible que el modelo multidimensional sea más veloz que el tabular.

Como experiencia personal encontré los siguientes problemas con el modelo Tabular:

  • Las particiones no se procesaban en paralelo si no secuencialmente, lo que hace más lento el procesamiento. Hay algunas mañas para mejorar eso:
http://sqlblog.com/blogs/marco_russo/archive/2012/09/11/parallelize-incremental-processing-in-tabular-ssas-tabular.aspx
  • No se pueden usar multiples idiomas. Esto es bien frustrante para empresas que tienen el core en inglés pero tienen sucursales en otros países que requieren manejar otros idiomas.
  • Si la base de datos es de varios Teras, la base de datos simplemente se muere con un mensaje de error de falta de Memoria y para colmo no se vuelve a levantar.
  • Tuve algunos problemas con algunos tipos de datos de Oracle y el Modelo Tabular que no tuve con los datos Multidimensionales. Es decir, que no funciona con cualquier columna.
  • Si son muchos datos tarda un horror manejar configuraciones de diferentes particiones.
  • Al ser el modelo tabular muy dependiente de memoria RAM y de requerir mucha. Siempre se va a comer esa memoria y puede afectar a otras aplicaciones.

En síntesis. El modelo Tabular es un modelo rápido de crear. Muuuuy intuitivo (aprendes a hacer en proyecto en pocas horas). No necesita agregaciones, el uso de particiones es muy intuitivo, pero tiene mucha dependencia de la memoria RAM.
Es muy compatible con Excel y puede ser bastante rápido con ciertos escenarios.

Particularmente creo que la tecnología tiene mucho futuro y que todos vamos a usar ese modelo en siguientes versiones, pero inicialmente recomiendo esperar una versión futura de SQL Server con modelos tabulares ya que la actual versión todavía requiere mayor cantidad de mejoras.

Referencias

http://richardlees.blogspot.com/2012/05/sql-server-2012-tabular-versus.html

People who read this post also read :