Wird das Sichern einer Website durch einen SQL Server 2012-OLAP-Cube als sinnvoll angesehen?


11

Ich wurde beauftragt, eine Lösung für eine große Einzelhandelskette zu entwickeln. Sie möchten jedem seiner 1,2 Millionen Kunden ermöglichen, sich auf einer Website anzumelden, um die Verteilung der letzten Einkäufe (aktueller Monat, Vormonat, seit Jahresbeginn) auf etwa 50 Kategorien zu sehen. Die Daten werden einmal täglich aktualisiert.

Ich denke darüber nach, einen SQL Server 2012-basierten OLAP-Cube einzurichten und die Website diesen Cube direkt abfragen zu lassen, wobei Funktionen wie proaktives Caching genutzt werden. Als Entwickler habe ich jedoch so gut wie keine Erfahrung mit den Analysedienstteilen von SQL Server. Daher bin ich sehr besorgt über die Leistung dieser Lösung.

Klingt das direkte Verbinden einer Website mit einem OLAP-Cube nach einer praktikablen Lösung? Reagieren solche Systeme ungefähr wie ein SQL Server auf die Last mehrerer Benutzer, was dies zu einer vernünftigen Lösung macht, oder verhalten sie sich völlig anders?

Ich erwarte nicht, dass Benutzer ihren Status sehr oft überprüfen, und ich werde natürlich Caching auf dem Webserver usw. verwenden.

Antworten:


11

Sie können dies mit einem OLAP-System tun. Zu den Vorteilen von SSAS für diese Art von Anwendung gehören:

  • SSAS kann leicht skaliert werden - zumal dies eine schreibgeschützte Anwendung ist, für die kein Cube-Writeback erforderlich ist.

  • Aggregationen können so eingestellt werden, dass die E / A minimiert werden, sodass die Cubes auf Effizienz abgestimmt werden können.

  • OLAP-Client-Software und Steuerelemente von Drittanbietern (Web und Rich Client) sind bei einer Reihe von Anbietern erhältlich.

  • Die SQL Server 2012 Business Intelligence Edition verfügt über nahezu alle Skalierbarkeitsfunktionen für SSAS, sodass sie als kostengünstige Plattform für Front-Cubes für eine SQL Server Enterprise Edition-Datenbank (oder eine Datenbank eines Drittanbieters) verwendet werden kann. Beachten Sie, dass die Lizenzierung hierfür ein Problem sein kann, da die BI-Edition nur CAL ist.

  • SSAS verfügt über eine Data Mining-Funktion, mit der eine Warenkorbanalyse der Daten durchgeführt und eine Funktion zum Kaufvorschlag auf der Website bereitgestellt werden kann.

Andererseits besteht die Anforderung darin, einen relativ eingeschränkten Datensatz anzuzeigen, sodass die Ad-hoc-Slice-and-Dice-Fähigkeit eines OLAP-Servers sowohl bei den Softwarekosten als auch bei den Kosten der Hardware-Infrastruktur für dessen Ausführung zu hoch sein kann ( SSAS ist ziemlich ressourcenhungrig). Sie könnten Ihre unmittelbare Anforderung wahrscheinlich mit einer regelmäßig aktualisierten Zusammenfassungsdatenbank erfüllen und dies mit weniger Hardware- und Lizenzkosten tun.

Auf den ersten Blick würde ich vorschlagen, dass OLAP wahrscheinlich nicht erforderlich ist, um Ihre bestehende Anforderung zu erfüllen. Dies könnte jedoch durchaus auf diese Weise geschehen, und Sie könnten einige Meilen von den Data Mining-Funktionen erhalten, um eine Funktion für Kaufvorschläge bereitzustellen.


3
Sobald die Würfel vorhanden sind, können Sie außerdem Möglichkeiten finden, sie zu verwenden. Data Warehouses sind für die Fragen da, die noch nicht bekannt sind - diejenigen, die bekannt sind, können mit einer einfachen Abfrage behandelt werden. Ich würde definitiv einen Prototyp basierend auf OLAP-Cubes erstellen und diesen dann den Stakeholdern präsentieren und die zusätzliche Flexibilität erklären.
TomTom

1
Ich vermute, dass die erste Option (mit SSAS und Cubes) für die Analysten der Einzelhandelskette bereits vorhanden ist. Im Einzelhandel erledigen sie normalerweise das Data Mining, liefern es aber noch nicht an die Endkunden. PS: In meiner SO-Antwort finden Sie eine kurze Übersicht über einige funktionierende BI-Steuerelemente für Webanwendungen (in ASP.NET) .
Marian

Sehr wahrscheinlich - dass sie bereits einige Würfel haben.
TomTom

7

SSAS ist ein sehr fleischiges Thema. Fast nichts, was Sie über das Datenbankmodul wissen, kann auf Analysis Services angewendet werden. Wenn das einzige Ziel darin besteht, ein Back-End für diesen Bericht bereitzustellen, wäre es im Vergleich zu einem konventionelleren Ansatz, einige in a gespeicherte zusammenfassende Daten regelmäßig zu aktualisieren, ein beträchtlicher Aufwand, sich mit Analysis Services vertraut zu machen und die OLAP-Datenbank zu implementieren relationale Datenbank oder Erstellen eines Reporting Services-Berichts, der aus einem regelmäßig generierten Ausführungs-Snapshot ausgeführt wird.

Das heißt, wenn Sie wirklich einen langfristigen Bedarf an einigen der Stärken von Analysis Services haben, wie z. B. mehrdimensionales Ad-hoc-Reporting und MDX-Ausdrücke (Sie können einige ziemlich coole Dinge tun), und Sie mit einem sehr großen arbeiten Data Warehouse, mit dem es eine relationale Datenbank deutlich übertreffen kann, dann könnte es sich lohnen, es zu lernen. Erwarten Sie jedoch nicht, es an einem Tag abzuholen.


3

Ja, das ist eine sehr vernünftige Lösung. Ich habe Clients mit SSAS mit ähnlicher Auslastung und es funktioniert einwandfrei. Wie bei jedem Datenbankdesign hängt die Leistung, die Sie erhalten, direkt davon ab, wie gut das Cube-Design ist.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.