SSAS - многомерная модель данных: немного о кубах Евгений Полоничко PASS Chapter Leader, лидер SQL Server User Group Donetsk О себе Евгений Полоничко - PASS Chapter Leader, лидер SQL Server User Group Donetsk 6 лет работы с MSSQL. В основном занимаюсь BI проектами(SSAS, SSIS, PowerBI, Cognos, Informatica PowerCenter, Pentaho, Tableau) Сейчас работаю в качестве DWH/BI архитектора План доклада Что такое SSAS? SSAS по шматочкам Что там внутри? Компоненты SSAS Измерения Куб Показатели Связи Рассчитываемые показатели И немного по мелочи Оптимизация кубов Analysis Services Engine Типы оптимизации Процессинг куба Выполнение запросов Оптимизация железа Ссылки на блоги Что такое SSAS? SSAS(Sql Server Analysis Services) - набор служб в SQL Server, связанных с бизнес-анализом и хранением данных. Эти службы включают в себя службы интеграции (Integration Services) и службы анализа (Analysis Services). Analysis Services, в свою очередь, включают в себя набор средств для работы с OLAP и интеллектуальным анализом данных. Что такое SSAS? Что такое SSAS? SSAS по шматочкам 1. Data source – источник данных 2. Data source views – это абстракция реаляционной модели 3. Cubes - собственно сам куб 4. Dimension - измерения 5. Mining Structures - дата майниг 6. Roles – роли пользователей 7. Assemblies – сборки куба 8. Miscellaneous - разное SSAS по шматочкам Измерения Regular Parent child Special dimension SSAS по шматочкам Куб 1. 2. 3. 4. 5. 6. 7. 8. 9. Cube structure - структура куба Dimension usage – связи Calculations – вычисления KPI – цели, показатели Actions - действия Partitions – партиции Aggreagation – агрегаты Perspecives – перспективы Translations - переводы Оптимизация кубов Оптимизация Процессинга Запросов Оптимизация кубов Оптимизация процессинга Оптимизация на уровне сервера Сервер Партиции Агрегаты Настройка параметров куба Оптимизация куба Сервер 1. Сеть – 32767 2. Провайдер 3. Диски SSD Оптимизация куба Azure 1. 2. 3. 4. Сеть – 32767 Провайдер Stripped or one blob Geo replication Оптимизация процессинга Партиции Партиция - это контейнер для части данных группы мер. Скорость процессинга Разбивка данных на период Скорость выполнения mdx запросов Оптимизация куба Агрегаты – ускоряют запросы, но замедляют процессинг 20% – 30% Оптимизация куба 1 Parallel processing 2 ThreadPool\Process\MaxThreads and ThreadPool\Process\MinThreads 3 ThreadPool\Query\MinThreads and ThreadPool\Query\MaxThreads 4 OLAP\Process\BufferMemoryLimit 5 OLAP\Process\AggregationMemoryLimitMin and OLAP\Process\AggregationMemoryLimitMax Оптимизация структуры куба Dimension design 1. Include only those columns in dimension which are required by the business 2. Define attribute relationships or cascading attribute relationships 3. Specify the appropriate attribute relationship type 4. Turn Off the Attribute Hierarchy and Use Member Properties 5. Appropriately set KeyColumns property 6. Setting AttributeHierarchyOptimizedState property to Not Optimized 7. Creating user defined hierarchies 8. AttributeHierarchyVisible property of an attribute Оптимизация структуры куба Fact design IgnoreUnrelatedDimensions Distinct count Вопросы Вопросы?