La sauvegarde d'un site Web par un cube OLAP SQL Server 2012 est-elle considérée comme raisonnable?


11

J'ai été chargé de concevoir une solution pour une grande chaîne de vente au détail. Ils veulent permettre à chacun de ses 1,2 million de clients de se connecter à un site Web pour voir la répartition des achats récents (mois en cours, mois précédent, cumul annuel) sur environ 50 catégories. Les données seront mises à jour une fois par jour.

Je pense à mettre en place un cube OLAP basé sur SQL Server 2012 et à laisser le site Web interroger ce cube directement, en tirant parti de fonctionnalités telles que la mise en cache proactive. Cependant, étant un développeur dans l'âme, je n'ai pratiquement aucune expérience avec les parties des services d'analyse de SQL Server, donc je suis très préoccupé par les performances de cette solution.

La connexion d'un site Web directement à un cube OLAP semble-t-elle une solution réalisable? Ces systèmes réagissent-ils à la charge de plusieurs utilisateurs à peu près comme un serveur SQL, ce qui en fait une solution raisonnable, ou agissent-ils complètement différemment?

Je ne m'attends pas à ce que les utilisateurs vérifient leur statut très souvent et j'utiliserai bien sûr la mise en cache sur le serveur Web, etc.

Réponses:


11

Vous pouvez le faire avec un système OLAP - certains des avantages de SSAS pour ce type d'application incluent:

  • SSAS peut facilement évoluer, d'autant plus qu'il s'agit d'une application en lecture seule sans aucune exigence de réécriture de cube.

  • Les agrégations peuvent être ajustées pour minimiser les E / S, ce qui permet aux cubes d'être ajustés pour plus d'efficacité.

  • Le logiciel client OLAP et les contrôles tiers (Web et client riche) sont facilement disponibles auprès d'un certain nombre de fournisseurs.

  • L'édition SQL Server 2012 Business Intelligence possède à peu près toutes les fonctionnalités d'évolutivité de SSAS, elle peut donc être utilisée comme une plate-forme économique pour faire face aux cubes d'une base de données SQL Server Enterprise Edition (ou tierce). Notez que la licence peut être un problème pour cela car l'édition BI est uniquement CAL.

  • SSAS a une fonction d'exploration de données qui pourrait être utilisée pour effectuer une analyse du panier d'achat sur les données et alimenter une fonctionnalité `` achats suggérés '' sur le site Web.

D'un autre côté, l'exigence est d'afficher un ensemble de données relativement contraint, de sorte que la capacité de découpage ad hoc d'un serveur OLAP peut être exagérée, à la fois en termes de coût du logiciel et de l'infrastructure matérielle pour l'exécuter ( SSAS est assez gourmand en ressources). Vous pourriez probablement répondre à vos besoins immédiats avec une base de données récapitulative régulièrement actualisée, et le faire avec moins de matériel et de coûts de licence.

À première vue, je dirais que OLAP n'est probablement pas nécessaire pour répondre à vos besoins existants. Cependant, cela pourrait certainement être fait de cette façon et vous pourriez obtenir un certain kilométrage des fonctionnalités d'exploration de données pour fournir une fonctionnalité `` achats suggérés ''.


3
De plus, une fois que les cubes sont là, vous pouvez trouver des moyens de les utiliser. Les entrepôts de données sont là pour les questions qui ne sont pas encore connues - celles qui sont connues sont quelque chose qu'une simple requête peut gérer. Je ferais certainement un prototype basé sur des cubes OLAP, puis le présenterais aux parties prenantes et expliquerais la flexibilité supplémentaire.
TomTom

1
Je soupçonne que la première option (avec SSAS et cubes) peut déjà être en place pour les analystes de la chaîne de vente au détail. Dans le commerce de détail, ils font généralement le data mining, mais ne le livrent pas encore aux clients finaux. PS: Vous pouvez lire une brève revue de certains contrôles BI fonctionnels pour les applications Web (dans ASP.NET) dans ma réponse SO .
Marian

TRÈS Probable - qu'ils ont déjà des cubes.
TomTom

7

SSAS est un sujet très charnu. Presque rien de ce que vous savez sur le moteur de base de données ne peut être appliqué à Analysis Services. Si le seul objectif était de fournir un back-end pour ce rapport, la mise à jour d'Analysis Services et la mise en œuvre de la base de données OLAP constitueraient une surcharge assez importante par rapport à une approche plus conventionnelle d'actualisation périodique de certaines données récapitulatives stockées dans un base de données relationnelle ou création d'un rapport Reporting Services qui s'exécute à partir d'un instantané d'exécution généré périodiquement.

Cela dit, si vous avez vraiment besoin à long terme de certaines des forces d'Analysis Services, telles que les rapports multidimensionnels ad hoc et les expressions MDX (vous pouvez faire des trucs assez cool), et que vous travaillez avec un très grand entrepôt de données qui lui permet de surpasser de manière significative une base de données relationnelle, alors il pourrait être utile de l'apprendre. Cependant, ne vous attendez pas à le récupérer en une journée.


3

Oui, c'est une solution très raisonnable. J'ai des clients qui ont SSAS avec une charge similaire et cela fonctionne très bien. Comme toute conception de base de données, les performances que vous obtiendrez seront directement liées à la qualité de la conception du cube.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.