¿Es razonable respaldar un sitio web con un cubo OLAP de SQL Server 2012?


11

Me encargaron diseñar una solución para una gran cadena minorista. Quieren permitir que cada uno de sus 1.2 millones de clientes inicien sesión en un sitio web para ver la distribución de compras recientes (mes actual, mes anterior, año hasta la fecha) en alrededor de 50 categorías. Los datos se actualizarán una vez al día.

Estoy pensando en poner un cubo OLAP basado en SQL Server 2012 y dejar que el sitio web consulte este cubo directamente, aprovechando características como el almacenamiento en caché proactivo. Sin embargo, como desarrollador en el fondo, no tengo casi ninguna experiencia con las partes de servicios de análisis de SQL Server, por lo que estoy bastante preocupado por el rendimiento de esta solución.

¿Conectar un sitio web directamente a un cubo OLAP suena como una solución factible? ¿Reaccionan tales sistemas a la carga de múltiples usuarios más o menos como un SQL Server, haciendo de esto una solución razonable, o actúan de manera completamente diferente?

No espero que los usuarios verifiquen su estado con mucha frecuencia y, por supuesto, usaré el almacenamiento en caché en el servidor web, etc.

Respuestas:


11

Puede hacer esto con un sistema OLAP; algunos de los beneficios de SSAS para este tipo de aplicación incluyen:

  • SSAS puede escalar fácilmente, especialmente porque se trata de una aplicación de solo lectura sin requisitos de reescritura de cubos.

  • Las agregaciones se pueden ajustar para minimizar la E / S permitiendo que los cubos se sintonicen para mayor eficiencia.

  • El software del cliente OLAP y los controles de terceros (web y cliente enriquecido) están fácilmente disponibles en varios proveedores.

  • La edición de SQL Server 2012 Business Intelligence tiene casi todas las características de escalabilidad para SSAS, por lo que se puede usar como una plataforma rentable para los cubos frontales para una base de datos de SQL Server Enterprise Edition (o de terceros). Tenga en cuenta que las licencias pueden ser un problema para esto, ya que la edición de BI es solo de CAL.

  • SSAS tiene una función de minería de datos que podría usarse para hacer un análisis de la cesta de la compra en los datos y alimentar una función de 'compras sugeridas' en el sitio web.

Por otro lado, el requisito es mostrar un conjunto de datos relativamente restringido, por lo que la capacidad de cortar y cortar ad-hoc de un servidor OLAP puede ser exagerada, tanto en costo de software como en costo de la infraestructura de hardware para ejecutarlo ( SSAS tiene bastante hambre de recursos). Probablemente podría cumplir sus requisitos inmediatos con una base de datos de resumen actualizada periódicamente y hacerlo con menos costos de hardware y licencias.

A primera vista, sugeriría que OLAP probablemente no sea necesario para cumplir con sus requisitos existentes. Sin embargo, ciertamente podría hacerse de esta manera y podría obtener algo de millaje de las funciones de minería de datos para proporcionar una función de 'compras sugeridas'.


3
Además, una vez que los cubos estén allí, puede encontrar formas de usarlos. Los almacenes de datos están ahí para las preguntas que aún no se conocen: las que se conocen son algo que una consulta simple puede manejar. Definitivamente haría un prototipo basado en cubos OLAP y luego lo presentaría a los interesados ​​y explicaría la flexibilidad adicional.
TomTom

1
Sospecho que la primera opción (con SSAS y cubos) ya puede estar implementada para los analistas de la cadena minorista. En el comercio minorista, generalmente realizan tareas de minería de datos, pero aún no las entregan a los clientes finales. PD: Puede leer una breve reseña sobre algunos controles de BI en funcionamiento para aplicaciones web (en ASP.NET) en mi respuesta SO .
Marian

MUY PROBABLE: que ya tienen algunos cubos.
TomTom

7

SSAS es un tema muy carnoso. Casi nada de lo que sabe sobre el motor de base de datos se puede aplicar a Analysis Services. Si el único objetivo fuera proporcionar un back-end para este informe, ponerse al día con Analysis Services e implementar la base de datos OLAP sería una sobrecarga bastante sustancial en comparación con un enfoque más convencional de actualizar periódicamente algunos datos de resumen almacenados en un base de datos relacional o crear un informe de Reporting Services que se ejecuta desde una instantánea de ejecución generada periódicamente.

Dicho esto, si realmente necesita a largo plazo algunas de las fortalezas de Analysis Services, como informes multidimensionales ad-hoc y expresiones MDX (puede hacer algunas cosas bastante interesantes), y está trabajando con un gran almacén de datos que le permite superar significativamente una base de datos relacional, entonces podría valer la pena aprenderlo. Sin embargo, no espere recogerlo en un día.


3

Sí, esta es una solución muy razonable. Tengo clientes que tienen SSAS con carga similar y funciona bien. Al igual que cualquier diseño de base de datos, el rendimiento que obtenga estará directamente relacionado con la calidad del diseño del cubo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.