Krótki przegląd SSAS dla DBA
Więc jesteś SQL Server DBA i właśnie odziedziczyłeś kilka niebieskich kostek do zarządzania. Wydaje się, że szybki kurs na temat zarządzania SSAS jest w porządku.
Z administracyjnego punktu widzenia SSAS jest dość prostą aplikacją, jeśli wymaga dużych zasobów. Jest o wiele prostszy niż platforma DBMS, choć różni się na kilka sposobów. Ponadto istnieje kilka zadań administracyjnych, takich jak optymalizacja oparta na użyciu specyficzna dla SSAS, które mogą być konieczne.
Utwórz kopię zapasową pliku konfiguracyjnego
Wszystkie dane konfiguracyjne znajdują się w pliku o nazwie msdmsrv.ini
. To plik XML. Jeśli majstrujesz przy konfiguracji przez SSMS (Połącz się z serwerem, kliknij prawym przyciskiem myszy serwer, wybierz właściwości), możesz ustawić opcje, które spowodują uszkodzenie serwera podczas uruchamiania. Zrób kopię, msmdsrv.ini
zanim zaczniesz grać z czymkolwiek.
Ważne parametry
Pamięć: SSAS to biblijny świnia pamięci. Jeśli to możliwe, lubi 64-bitowe wersje i dużo pamięci. Parametry „Memory \ LowMemoryLimit” i „Memory \ HighMemoryLimit” kontrolują zasady użycia pamięci. LowMemoryLimit nie jest minimalnym przydziałem pamięci. Jest to próg, w którym SSAS uważa, że w systemie brakuje pamięci i zaczyna wypłukiwać pliki z pamięci podręcznej. HighMemoryLimit to absolutne maksimum, którego użyje.
Zauważ, że SSAS przechowuje swoje dane w plikach (wiele plików - nie ma żadnego mechanizmu równoważnego z aplikacjami), więc często korzysta z buforowania systemu plików O / S dla tych plików. Pamiętaj, że domyślnymi limitami jest odpowiednio około 65% i 80% pamięci komputera, więc jeśli chcesz, aby serwer OLAP współistniał z instancją SQL Server, musisz je wyłączyć, aby nie walczył o pamięć z serwer bazy danych.
Katalogi: obejmuje pięć interesujących parametrów: DataDir, AllowedBrowsingFolders, BackupDir, LogDir i TempDir. Najważniejsze są DataDir i AllowedBrowsingFolders.
AllowedBrowsingFolders wpływa na listę folderów, w których serwer OLAP będzie umieszczał swoje pliki danych. Cokolwiek z interfejsem użytkownika (np. Kreator wdrażania) ograniczy twoje opcje do listy w Dozwolonych folderach. Wartością jest rozdzielana potokami („|”) lista katalogów.
DataDir jest domyślną ścieżką dla plików. Jeśli zamierzasz podzielić kostkę na wiele woluminów, musisz odpowiednio skonfigurować DozwoloneBrutowanieFolderów.
LogDir to miejsce, w którym serwer umieszcza różne pliki dziennika, w tym rejestrator lotu i dzienniki zapytań. Dziennik rejestratora lotów służy do rozwiązywania problemów, a dziennik zapytań OLAP służy do optymalizacji opartej na użyciu (więcej na ten temat później).
TempDir to lokalizacja plików tymczasowych, które SSAS tworzy podczas przetwarzania. Jeśli przetwarzasz duże woluminy danych i masz problemy z wydajnością, możesz skorzystać z przeniesienia tego na inny wolumin z danych.
BackupDir jest tym, co mówi na puszce.
Różne:
Kilka różnych parametrów może również być interesujące. Kilka zestawów, które możesz modyfikować to:
DefaultMaxDrillthroughRows: Ogranicza to rozmiar zestawów wierszy szczegółowych. Być może trzeba będzie to zmienić, aby pozwolić na więcej.
Wątki / Limity czasu: może być konieczne ich dostosowanie. Nigdy nie musiałem się tym przejmować.
To są podstawy. Może być konieczne dostosowanie innych z określonych powodów, ale możesz odrobić lekcje.
Przewodnik referencyjny właściwości serwera SSAS można znaleźć tutaj.
Operacje
Wdrażanie: Możesz skompilować projekt w BIDS i uzyskać zestaw plików, które można wdrożyć za pomocą kreatora wdrażania. Konieczne może być dostosowanie ścieżek plików dla partycji i kilku innych rzeczy.
Zaprogramowane i grupowe zadania administracyjne: Polecenia są wydawane do SSAS za pośrednictwem interfejsu API usługi internetowej o nazwie XML / A. Microsoft zapewnia interaktywne narzędzie do wydawania konektorów MDX i XML / A. Jeśli musisz osadzić MDX w komendzie XML / A, uważaj na potrzebę użycia znaków ucieczki XML, takich jak &
. To nie jest problem z edytorem MDX i narzędziem zapytań w SSMS.
Zadania offline można wykonywać za pomocą różnych zadań przetwarzania kostki SSIS, narzędzia wiersza polecenia o nazwie ascmd.exe
lub interfejsu API .Net o nazwie AMO. Możesz także uzyskać różne narzędzia PowerShell i tym podobne. ascmd.exe
pobiera plik XML / A i publikuje go na serwerze. Jeśli musisz programowo fregować plik, być może lepiej będzie pracować z małymi narzędziami .Net, niż próbować manipulować plikami XML ze skryptu .cmd.
Przewodnik operacyjny omawia to bardziej szczegółowo.
Bezpieczeństwo
Bezpieczeństwo w SSAS jest dość uproszczone. Ma rolę globalną „Serwer”, która ma uprawnienia administracyjne w całym systemie. Niestety potrzebujesz „Serwera” do tworzenia baz danych, więc jest całkiem prawdopodobne, że będziesz musiał przyznać go programistom na dowolnych programistycznych serwerach OLAP.
Inne zabezpieczenia można zastosować tylko do indywidualnych schematów kostki. Możesz przyznać uprawnienia do odczytu, przetwarzania, przeglądania szczegółowego, zapisu wstecznego i podobnych czynności na poszczególnych elementach rolom w ramach schematu. Role w schematach OLAP można definiować w ramach BIDS i wdrażać z kostką. Grupy AD lub użytkownicy mogą być przypisani do tych ról za pośrednictwem SSMS.
Przykład programowego zarządzania członkostwem w rolach można znaleźć tutaj.
Optymalizacja oparta na użyciu
Jako DBA możesz wziąć udział w tym, ale najpierw trochę więcej o fizycznym magazynowaniu. SSAS działa poprzez obliczanie i utrwalanie wstępnie zbudowanych agregatów wraz z danymi podstawowymi. Jeśli kwerenda może zostać spełniona przez trafienie w agregację, serwer OLAP użyje jej zamiast danych podstawowych, ponieważ agregacja będzie wymagała znacznie mniej operacji we / wy, a zatem szybsze będzie odzyskiwanie danych.
Musisz jednak ustalić, które agregaty mają zostać obliczone (tj. Dla jakich kombinacji atrybutów wymiarów wygenerować zestawienia). BIDS ma narzędzie, które zgadnie i wygeneruje dla Ciebie. Niektóre narzędzia, takie jak pomocnik BIDS , umożliwiają także ręczną edycję agregatów.
Optymalizacja oparta na użyciu polega na pobraniu dziennika rzeczywistych zapytań wysłanych na serwer, a następnie wykorzystaniu tego dziennika do opracowania zestawu agregatów, które byłyby optymalne dla tych zapytań. Jako DBA możesz skonfigurować rejestrowanie zapytań OLAP w celu przechwytywania tych danych, a następnie uruchomić optymalizację na kostce. Tekst dotyczący konfigurowania dziennika zapytań można znaleźć tutaj.
Narzędzie do tego jest nazywane „Kreatorem optymalizacji opartym na użyciu”. Żyje w SSMS i można go znaleźć, otwierając partycję w eksploratorze i wybierając „Optymalizację opartą na wykorzystaniu” z menu po kliknięciu prawym przyciskiem myszy.
Przewodnik po wydajności wprowadza się bardziej szczegółowo.
MDX
MDX wygląda trochę jak SQL, ale działa zupełnie inaczej. Traktat na temat „MDX dla programistów SQL” jest odrębnym tematem. Sugeruję przeczytanie niektórych samouczków i / lub zdobycie książki na ten temat. Dodatkowo, przyjaźni ludzie tutaj na dba.se mogą pomóc w razie pytań.
MDX nie ma żadnej koncepcji filtrowania wierszy. Język ma wiele ustawionych operacji, aby dowiedzieć się, co wyświetlać na różnych osiach zapytania 1 , a także „WYBIERZ”. Do with
definiowania miar i zestawów można używać instrukcji, które wyglądają trochę jak CTE.
Niektóre wprowadzające zasoby programistyczne MDX można znaleźć tu i tutaj (ten jest dość stary i bardzo długi). Jest też kilka dobrych książek na ten temat; to pytanie SO ma dość rozrzutu do zasobów SSAS.
1 Chociaż ma niepuste operatory, które ograniczają wyniki do kombinacji, które faktycznie zawierają dane. Większość zapytań MDX polega na określeniu, które wycinki mają być wyświetlane na osiach, a niepuste operatory będą konieczne, aby uniknąć zwracania przez kwerendę ilości pustych komórek na poziomie kombinatorycznym.
Niektóre odpowiedzi dotyczące administracji SSAS można znaleźć w tym obszernym białym dokumencie SQL Server 2008 R2 Analysis Services Operations Guide . Tak zaczyna się wprowadzenie:
Oczywiście jest to skierowane do DBA / adminów. Jeśli tworzysz również aplikacje przy użyciu SSAS, możesz również zapoznać się z oficjalnym dokumentem Analysis Services 2008 Performance Guide
źródło