Czy tworzenie kopii zapasowej witryny przez moduł OLAP SQL Server 2012 jest uważany za rozsądny?


11

Zadanie polegało na zaprojektowaniu rozwiązania dla dużej sieci detalicznej. Chcą umożliwić każdemu z 1,2 miliona klientów zalogowanie się na stronie internetowej, aby zobaczyć rozkład ostatnich zakupów (bieżący miesiąc, poprzedni miesiąc, rok do chwili obecnej) w około 50 kategoriach. Dane będą aktualizowane raz dziennie.

Zastanawiam się nad stworzeniem kostki OLAP opartej na SQL Server 2012 i pozwoleniem stronie internetowej na bezpośrednie sprawdzenie tej kostki, wykorzystując funkcje takie jak proaktywne buforowanie. Ponieważ jednak jestem programistą, nie mam prawie żadnego doświadczenia z częściami SQL Server dotyczącymi usług analitycznych, więc jestem bardzo zaniepokojony wydajnością tego rozwiązania.

Czy podłączenie strony internetowej bezpośrednio do kostki OLAP wydaje się realnym rozwiązaniem? Czy takie systemy reagują na obciążenie ze strony wielu użytkowników w przybliżeniu jak SQL Server, co czyni to rozsądnym rozwiązaniem, czy też działają zupełnie inaczej?

Nie oczekuję, że użytkownicy będą często sprawdzać swój status i oczywiście będę używać buforowania na serwerze internetowym itp.

Odpowiedzi:


11

Możesz to zrobić za pomocą systemu OLAP - niektóre zalety SSAS dla tego typu aplikacji obejmują:

  • Usługi SSAS można łatwo skalować - zwłaszcza, że ​​jest to aplikacja tylko do odczytu, bez wymagań dotyczących zapisu zwrotnego kostki.

  • Agregacje można dostroić, aby zminimalizować liczbę operacji we / wy, umożliwiając dostrojenie modułów pod kątem wydajności.

  • Oprogramowanie klienckie OLAP i elementy sterujące stron trzecich (klient internetowy i bogaty) są łatwo dostępne od wielu dostawców.

  • Wersja SQL Server 2012 Business Intelligence ma prawie wszystkie funkcje skalowalności dla SSAS, dzięki czemu może być używana jako opłacalna platforma do tworzenia kostek dla bazy danych SQL Server Enterprise Edition (lub innej firmy). Należy pamiętać, że licencja może być w tym przypadku problemem, ponieważ wersja BI obejmuje wyłącznie licencję CAL.

  • SSAS ma funkcję eksploracji danych, która może być wykorzystana do analizy danych koszyka na zakupy i dostarczenia funkcji „sugerowanych zakupów” na stronie internetowej.

Z drugiej strony, wymaganiem jest pokazanie stosunkowo ograniczonego zestawu danych, więc zdolność ad-hoc „wycinania i krojenia” serwera OLAP może być nadmierna, zarówno pod względem kosztów oprogramowania, jak i kosztów infrastruktury sprzętowej do jego uruchomienia ( SSAS jest dość głodny zasobów). Prawdopodobnie możesz spełnić swoje natychmiastowe wymagania dzięki okresowo odświeżanej podsumowującej bazie danych i zrobić to przy niższych kosztach sprzętu i licencji.

Na pierwszy rzut oka sugeruję, że OLAP prawdopodobnie nie jest konieczny do spełnienia istniejących wymagań. Jednak z pewnością można to zrobić w ten sposób i możesz uzyskać pewien przebieg z funkcji eksploracji danych, aby zapewnić funkcję „sugerowanych zakupów”.


3
Ponadto, gdy kostki już tam będą, możesz wymyślić sposoby ich wykorzystania. Istnieją hurtownie danych dla pytań, które nie są jeszcze znane - te, które są znane, są czymś, co może obsłużyć proste zapytanie. Zdecydowanie wykonałbym prototyp oparty na kostkach OLAP, a następnie przedstawiłem go interesariuszom i wyjaśniłem dodatkową elastyczność.
TomTom

1
Podejrzewam, że pierwsza opcja (z SSAS i kostkami) może być już dostępna dla analityków sieci detalicznej. W handlu detalicznym zwykle zajmują się eksploracją danych, ale nie dostarczają ich jeszcze klientom końcowym. PS: W mojej odpowiedzi SO możesz przeczytać krótką recenzję na temat niektórych działających formantów BI dla aplikacji internetowych (w ASP.NET) .
Marian

BARDZO prawdopodobne - że mają już kilka kostek.
TomTom

7

SSAS to bardzo mięsisty temat. Prawie nic z tego, co wiesz o silniku bazy danych, nie można zastosować do usług Analysis Services. Jeśli jedynym celem byłoby zapewnienie zaplecza dla tego raportu, wówczas przyspieszenie korzystania z usług Analysis Services i wdrożenie bazy danych OLAP byłoby dość znacznym narzutem w porównaniu z bardziej konwencjonalnym podejściem polegającym na okresowym odświeżaniu niektórych danych podsumowujących przechowywanych w relacyjna baza danych lub tworzenie raportu usług Reporting Services, który jest uruchamiany z okresowo generowanej migawki wykonania.

To powiedziawszy, jeśli naprawdę potrzebujesz długoterminowych mocy niektórych usług Analysis Services, takich jak wielowymiarowe raportowanie ad-hoc i wyrażenia MDX (możesz zrobić całkiem fajne rzeczy), i pracujesz z bardzo dużą hurtowni danych, która pozwala znacznie przewyższyć relacyjną bazę danych, warto się jej nauczyć. Jednak nie spodziewaj się odebrać go w ciągu jednego dnia.


3

Tak, to bardzo rozsądne rozwiązanie. Mam klientów, którzy mają SSAS z podobnym obciążeniem i działa dobrze. Jak każdy projekt bazy danych, uzyskana wydajność będzie bezpośrednio związana z tym, jak dobry jest projekt kostki.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.