Il supporto di un sito Web da un cubo OLAP di SQL Server 2012 è considerato ragionevole?


11

Mi è stato affidato il compito di progettare una soluzione per una grande catena di negozi. Vogliono consentire a ciascuno dei suoi 1,2 milioni di clienti di accedere a un sito Web per vedere la distribuzione degli acquisti recenti (mese corrente, mese precedente, da inizio anno) in circa 50 categorie. I dati verranno aggiornati una volta al giorno.

Sto pensando di installare un cubo OLAP basato su SQL Server 2012 e di consentire al sito Web di interrogare direttamente questo cubo, sfruttando funzionalità come la cache proattiva. Tuttavia, essendo uno sviluppatore a cuore, non ho quasi alcuna esperienza con le parti dei servizi di analisi di SQL Server, quindi sono abbastanza preoccupato per le prestazioni di questa soluzione.

La connessione di un sito Web direttamente a un cubo OLAP sembra una soluzione fattibile? Tali sistemi reagiscono al carico di più utenti più o meno come un SQL Server, rendendolo una soluzione ragionevole o agiscono in modo completamente diverso?

Non mi aspetto che gli utenti controllino il loro stato molto spesso e ovviamente userò la memorizzazione nella cache sul server Web ecc.

Risposte:


11

Puoi farlo con un sistema OLAP - alcuni dei vantaggi di SSAS per questo tipo di applicazione includono:

  • SSAS può essere facilmente ridimensionato, soprattutto perché si tratta di un'applicazione di sola lettura senza requisiti per il writeback dei cubi.

  • Le aggregazioni possono essere ottimizzate per ridurre al minimo l'I / O e consentire ai cubi di essere ottimizzati per l'efficienza.

  • Il software client OLAP e i controlli di terze parti (Web e rich client) sono prontamente disponibili da numerosi fornitori.

  • L'edizione di SQL Server 2012 Business Intelligence ha praticamente tutte le funzionalità di scalabilità per SSAS, quindi può essere utilizzata come piattaforma economica per gestire i cubi di un database di SQL Server Enterprise Edition (o di terze parti). Si noti che le licenze potrebbero essere un problema per questo, poiché la BI Edition è solo CAL.

  • SSAS ha una funzione di data mining che potrebbe essere utilizzata per eseguire un'analisi del carrello della spesa sui dati e alimentare una funzione di "acquisti suggeriti" sul sito Web.

D'altra parte, il requisito è mostrare un set di dati relativamente vincolato, quindi la capacità di divisione ad hoc di un server OLAP potrebbe essere eccessiva, sia in termini di software che di costo dell'infrastruttura hardware per eseguirlo ( SSAS ha molta fame di risorse). Probabilmente potresti raggiungere i tuoi requisiti immediati con un database di riepilogo periodicamente aggiornato e farlo con meno costi di hardware e licenze.

Da una prima occhiata, suggerirei che OLAP probabilmente non è necessario per soddisfare i requisiti esistenti. Tuttavia, potrebbe certamente essere fatto in questo modo e potresti ottenere un po 'di chilometraggio dalle funzionalità di data mining per fornire una funzione di "acquisti suggeriti".


3
Inoltre, una volta che i cubi sono lì, puoi trovare modi per usarli. I data warehouse sono disponibili per le domande che non sono ancora note: quelle conosciute sono qualcosa che una semplice query può gestire. Sicuramente realizzerei un prototipo basato su cubi OLAP e poi lo presenterei agli stakeholder e spiegherei la flessibilità aggiuntiva.
TomTom,

1
Sospetto che la prima opzione (con SSAS e cubi) potrebbe essere già in atto per gli analisti della catena di vendita al dettaglio. Nella vendita al dettaglio di solito fanno le cose di data mining, ma non le consegnano ancora ai clienti finali. PS: puoi leggere una breve recensione di alcuni controlli BI funzionanti per le app Web (in ASP.NET) nella mia risposta SO .
Marian,

MOLTO probabile - che abbiano già dei cubetti.
TomTom,

7

SSAS è un argomento molto carnoso. Quasi nulla di ciò che sai sul motore di database può essere applicato ad Analysis Services. Se l'unico obiettivo fosse quello di fornire un back-end per questo rapporto, quindi aggiornarsi su Analysis Services e implementare il database OLAP sarebbe un sovraccarico piuttosto sostanziale rispetto a un approccio più convenzionale di aggiornamento periodico di alcuni dati di riepilogo archiviati in un database relazionale o creazione di un report di Reporting Services eseguito da un'istantanea di esecuzione generata periodicamente.

Detto questo, se hai davvero bisogno a lungo termine di alcuni dei punti di forza di Analysis Services, come i report multidimensionali ad hoc e le espressioni MDX (puoi fare cose piuttosto interessanti) e stai lavorando con un grande data warehouse che gli consente di superare significativamente un database relazionale, quindi potrebbe valerne la pena impararlo. Non aspettarti di prenderlo tra un giorno, comunque.


3

Sì, questa è una soluzione molto ragionevole. Ho clienti che hanno SSAS con carico simile e funziona bene. Come qualsiasi progetto di database, le prestazioni ottenute saranno direttamente correlate a quanto è buono il design del cubo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.