2015 Теормин
Описание файла
Документ из архива "2015 Теормин", который расположен в категории "". Всё это находится в предмете "(смрхиод) современные методы распределенного хранения и обработки данных" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Онлайн просмотр документа "2015 Теормин"
Текст из документа "2015 Теормин"
СМРХИОД
Лекция 1
1. Проблема больших данных
Проблема больших данных вечна и призрачна. Всегда имелись важные данные, которые хотелось бы уметь эффективно хранить и обрабатывать, но объемы которых делали эту задачу непосильной для существующих систем управления данными. За то время, пока исследователи и разработчики умудряются справиться с вчерашними большими данными, появляются новые большие данные, с которыми совладать по-прежнему невозможно. Вечность и призрачность проблемы связана не только с постоянным ростом объема данных, но и с тем, что возникают потребности в хранении и обработке новых видов данных, для которых существующие системы плохо приспособлены (или не годятся вовсе).
Вечность и призрачность проблемы вряд ли позволяет рассчитывать на ее полное и окончательное решение. Это гарантирует постоянную занятость в будущем исследователей и разработчиков систем управления данными. Их деятельность напоминает попытки моряков доплыть до заманчивого миража, навеянного Фата-Морганой, но в данном случае сами эти попытки весьма увлекательны и полезны, поскольку худо-бедно поддерживают общее развитие человечества. Иногда удается найти решение частных, но чрезвычайно важных случаев проблемы больших данных. Речь идет о тех категориях данных, для управления которыми традиционно предназначены СУБД.
2. Транзакционные и аналитические базы данных. Определения и примеры.
Технология SQL-ориентированных («реляционных») СУБД) позволяет эффективно управлять транзакционными и аналитическими базами данных.
Транзакционные базы данных предназначены для поддержки оперативных транзакционных приложений. В транзакционных базах данных, главным образом, содержатся оперативные данные, отражающие текущее состояние бизнеса или другой области деятельности, быстро и часто обновляемые и поддерживающие разные аспекты этой деятельности.
Аналитические базы данных содержат исторические данные, относящиеся к деятельности конкретного предприятия, некоторой области бизнеса или некоторому научному направлению. Эти данные поступают в базу данных из разных источников, одним из которых являются соответствующие транзакционные базы данных
3. Транзакционные и аналитические базы данных. Проблемы и общие принципы их решения.
Проблеме больших данных подвержены обе эти категории баз данных.
Объемы транзакционных баз данных возрастают из-за развития оперативных потребностей пользователей, бизнеса или науки, например, транзакционные базы данных Internet-магазинов значительно увеличиваются в объеме при внедрении технологии персонализации услуг.
Объемы аналитических баз данных увеличиваются, прежде всего, из-за своей природы: данные в них всегда только накапливаются и никогда не уничтожаются. Другой серьезной причиной роста объема аналитических баз данных является потребность бизнес-аналитиков в привлечении новых источников данных (например, данных, черпаемых из открытых Internet-источников).
Для транзакционных баз данных частный случай проблемы больших данных можно сформулировать следующим образом:
Нужно обеспечить технологию относительно недорогого масштабирования СУБД и транзакционных приложений, позволяющую поддерживать требуемую скорость обработки транзакций
-
при росте объема данных и
-
увеличении числа одновременно выполняемых транзакций
Для аналитических баз данных частный случай проблемы звучит примерно так:
Требуется обеспечить технологию относительно недорогого масштабирования СУБД и аналитических приложений, позволяющую аналитикам
-
расширять возможности СУБД по части выполнения аналитических запросов и
-
обеспечивать эффективную оперативную аналитическую обработку данных при росте их объема
В основе обоих решений лежат следующие общие принципы:
-
перенос вычислений как можно ближе к данным;
-
использование архитектуры без совместно используемых ресурсов (sharing nothing);
-
эффективное разделение данных по узлам вычислительной системы с возможностью их репликации в нескольких узлах
Первый принцип означает, что сама СУБД и приложения баз данных организуются таким образом, чтобы минимизировались пересылки данных по сети, связывающей узлы соответствующей вычислительной системы. Важность этого принципа возрастает при росте объема данных.
Следствием первого принципа является потребность в переносе приложений баз данных (частями или полностью) на сторону сервера.
Второй принцип обеспечивает возможность реального распараллеливания работы СУБД и приложений, поскольку при отсутствии общих ресурсов между узлами вычислительной системы (фактически, при использовании кластерной архитектуры) уменьшается вероятность конфликтов между частями системы и приложений, выполняемыми в разных узлах сети
Третий принцип обеспечивает
-
эффективную параллельную обработку транзакций или
-
эффективную поддержку оперативной аналитической обработки данных
4. Универсальные СУБД
Не нашёл в лекциях. Видимо, СУБД, построенные с использованием трёх принципов выше, что позволяет им эффективно работать в обоих случаях.
5. Вертикальное и горизонтальное масштабирование. Достоинства и недостатки.
Тоже не нашёл в лекциях (был один слайд в шестой), но более-менее очевидно.
Вертикальное масштабирование – повышение ресурсов системы за счёт увеличения вычислительной мощности оборудования (меняем компьютер на более мощный). Достоинства – можно взять те же простые алгоритмы, и они будут выполняться быстрее. Недостатки – чтобы масштабировать дальше, нужно менять всю систему, и это очень дорого (чем дальше, тем дороже), а иногда и вообще технически невозможно.
Горизонтальное масштабирование – повышение ресурсов системы за счёт увеличения количества вычислителей в системе (берём десять дешёвых компьютеров, делаем кластер). Достоинства – дёшево (берём дешёвые компы в огромных количествах), хорошо масштабируется (всегда можно подсоединить ещё несколько). Недостатки – решение задачи должно быть параллельным, иначе чуда не будет. Это порождает возню с алгоритмами (раньше всё писали через MPI, и это была жуть).
Лекция 2
6. Хранилища данных. Основные характеристики.
Data warehouse
Хранилище данных – это «предметно-ориентированная информационная база данных, специально разработанная и предназначенная для подготовки отчётов и бизнес-анализа с целью поддержки принятия решений в организации»
Основные характеристики:
-
Проблемно-предметная ориентация
-
Интегрированность
-
Некорректируемость
-
Зависимость от времени
Как считали «отцы-основатели», хранилище данных – стратегический актив компании, определяющий ее успех и конкурентноспособность. Гигантские объемы – всегда на грани текущих возможностей технологии, нескончаемый проект.
7. Хранилища данных. Схема формирования реального «физического» хранилища данных.
Такие хранилища данных сохраняют данные трех разных категорий
-
детальные данные - конкретный магазин в конкретный момент времени продал конкретный товар за конкретную цену.
-
агрегированные данные - конкретный магазин в заданный интервал времени продал конкретный товар на соответствующую сумму или в Москве в конкретный момент времени во всех магазинах был продан конкретный товар на соответствующую сумму.
-
метаданные - описывают, в частности, откуда и каким образом получены данные в хранилище данных, откуда и каким образом следует пополнять хранилище данных
8. Хранилища данных. Виртуальные хранилища данных.
Данные из OLTP-системы не копируются в единое хранилище
Они извлекаются, преобразуются и интегрируются непосредственно при выполнении аналитических запросов в режиме реального времени. Фактически такие запросы напрямую передаются к OLTP-системе. Достоинства очевидны. Основной недостаток – отсутствие исторических данных. Тем не менее, подход популярен.
9. OLAP. Основные понятия.
OLAP – это технология обработки данных, заключающаяся в подготовке суммарной (агрегированной) информации на основе больших массивов данных, структурированных по многомерному принципу
Измерение – последовательность значений одного из анализируемых параметров (для параметра "время" это - последовательность дней, месяцев, кварталов, лет)
10. OLAP. Понятие гиперкуба.
Для анализа зависимостей между разными параметрами используется возможность представления данных в виде гиперкуба.
Оси куба представляют собой измерения, содержащие параметры, которые относятся к анализируемой предметной области (например, названия товаров и названия месяцев года)
На пересечении осей измерений располагаются данные, количественно характеризующие анализируемые факты – меры (например, объемы продаж, выраженные в единицах продукции).
11. OLAP. Примеры операций над многомерными кубами (срез, вращение, обобщение, детализация).
Срез: подмножество куба, соответствующее единственному значению одного или нескольких элементов измерений, не входящих в это подмножество
Вращение – изменение расположения измерений, представленных в отчете или на отображаемой странице (например, операция вращения может заключаться в перестановке местами строк и столбцов таблицы).
Обобщение (roll-up) и детализация (drill-down) - операции, которые определяют переход вверх по направлению от детального представления данных к агрегированному и наоборот соответственно.
Направление детализации (обобщения) может быть задано как по иерархии отдельных измерений, так и по прочим отношениям, установленным в рамках измерений или между измерениями.
12. OLAP. 12 признаков OLAP-данных, сформулированных Коддом.
-
Многомерная концепция данных - OLAP оперирует данными CUBE, которые являются многомерными массивами, число измерений OLAP-кубов не ограничено
-
Прозрачность - OLAP-системы должны опираться на открытые системы, поддерживающие гетерогенные источники данных
-
Доступность - OLAP-системы должны представлять пользователю единую логическую схему данных
-
Постоянная скорость выполнения запросов. - Производительность не должна падать при росте числа измерений
-
Клиент/сервер архитектура - Системы должны базироваться на открытых интерфейсах и иметь модульную структуру
-
Различное число измерений - Системы не должны ограничиваться трехмерной моделью представления данных. Измерения должны быть эквивалентны по применению любых функций
-
Динамическое представление разреженных матриц - Под разреженной матрицей понимается такая матрица, не каждая ячейка которой содержит данные. OLAP-системы должны содержать средства хранении и обработки разреженных матриц больших объемов
-
Многопользовательская поддержка - OLAP-системы должны поддерживать многопользовательский режим
-
Неограниченные многомерные операции - Все измерения считаются равными, и многомерные операции не должны накладывать ограничения на отношения между ячейками
-
Интуитивно понятные инструменты манипулирования данными - Для формулировки многомерных запросов пользователи не должны работать со усложненными меню
-
Гибкая настройка конечных отчетов - Пользователи должны иметь возможность видеть только то, что им необходимо, причем все изменения данных должны немедленно отображаться в отчетах
-
Отсутствие ограничений – Не должны иметься какие-либо ограничения на количество измерений и уровней агрегации данных
13. OLAP. Три типа OLAP – многомерная, реляционная, гибридная. Основные их характеристики.
Существуют три типа OLAP
-
многомерная OLAP (Multidimensional OLAP — MOLAP);
-
реляционная OLAP (Relational OLAP — ROLAP);
-
гибридная OLAP (Hybrid OLAP — HOLAP)
MOLAP — классическая форма OLAP, так что её часто называют просто OLAP
используется многомерная БД, специальный вариант СУБД, сохраняются как базовые данные, так и агрегаты
ROLAP работает напрямую с реляционным хранилищем
факты и таблицы с измерениями хранятся в реляционных таблицах, и для хранения агрегатов создаются дополнительные реляционные таблицы.
В HOLAP используются таблицы для хранения базовых данных и многомерные таблицы для агрегатов
Лекция 3.
14. MDX. Основные понятия.
SQL (Standard Query Language) – язык запросов для извлечения данных из SQL-ориентированных («реляционных») баз данных
MDX (MultiDimensional eXpressions) – язык запросов для извлечения данных из многомерных баз данных (многомерных кубов). При использовании в качестве выражений MDX позволяет определять многомерные объекты и данные для вычисления значений, а также управлять ими. В качестве языка запросов используется для извлечения данных из баз данных (изначально Microsoft Analysis Services)
Многомерный куб
-
Измерение (dimension)
-
Размерность (measure) – количественная сущность, которая используется для анализа
-
В понимании MDX
-
объект Measures (размерности) представляет собой специальное измерение, которое является набором размерностей
-
каждая размерность представляет собой часть категории, называющейся размерной группой (measure group)
-
размерные группы являются наборами связанных размерностей, и каждая размерность может быть частью только одной размерной группы
-
чаще всего используется по одной размерной группе для каждой таблицы фактов в хранилище данных
-
по умолчанию служба анализа генерирует размерную группу для каждой таблицы фактов
-
15. MDX. Работа с измерениями и иерархиями измерений.
Пример: раздел куба Adventure Works, использующий три иерархии:
-
Calendar
-
Product Line
-
Country
Иерархия Calendar измерения Date содержит пять уровней:
-
Calendar Year (Календарный год)
-
Calendar Semester (Календарный семестр)
-
Calendar Quarter (Календарный квартал)
-
Month (Месяц)
-
Date (Дата)
Иерархии Product Line и Country являются иерархиями атрибута и имеют два уровня: All (Все) и Country (Страна)
Элементы на каждом уровне вместе формируют набор членов иерархии
Можете запрашивать данные для членов определенного уровня