- •Раздел 6. Компьютерные технологии использования систем управления
- •1. История создания баз данных.
- •1.1. Нулевое поколение: менеджеры записей (4000 г. До н.Э. – 1900 г.)
- •1.2. Первое поколение: менеджеры записей (1900 г. – 1955 г.).
- •1.3. Второе поколение: программируемое оборудование обработки записей (1955 г. – 1970 г.)
- •1.3.1. Архитектура субд.
- •Отдельные
- •Администратор
- •Описание на языке конкретной субд
- •Описание хранимых данных
- •1.4. Третье поколение: оперативные сетевые базы данных (1965 г.–1980 г.)
- •1.4.1. Иерархические субд.
- •1.4.2. Сетевые базы данных.
- •1.5. Четвертое поколение: реляционные базы данных (1980 г. – 1995 г.).
- •1.5.1. Таблицы.
- •Office city region mgr target sales
- •1.5.2. Первичные ключи.
- •1.5.3. Отношения предок/потомок.
- •Office cyti region
- •Empl_num name age rep_office
- •1.5.4. Внешние ключи.
- •2. Язык aql как стандартный язык базы данных.
- •2.1. Язык sql.
- •2.2. Роль sql.
- •2.3. Достоинства sql.
- •2.3.1. Независимость от конкретных субд.
- •2.3.2. Переносимость с одной вычислительной системы на другие.
- •2.3.3. Стандарты языка sql.
- •2.3.4. Протокол odbc и компания Microsoft.
- •2.3.5. Реляционная основа.
- •2.3.6. Высокоуровневая структура, напоминающая английский язык.
- •2.3.7. Интерактивные запросы.
- •2.3.8. Программный доступ к базе данных.
- •2.3.9. Различные представления данных.
- •2.3.10. Полноценный язык для работы с базами данных.
- •2.3.11. Динамическое определение данных.
- •2.3.12. Архитектура клиент/сервер.
- •2.4. Пятое поколение: мультимедийные базы данных (1995 г. - …)
- •People Name Adress
- •People Name Adress Papers Picture Voice
- •2.5. Основные требования.
- •2.5.1. Расширяемость.
- •2.5.2. Производительность.
- •2.5.3. Сопровождение в оперативном режиме.
- •2.5.4. Устойчивость.
- •3. Технология хранения данных. Корпоративные базы данных.
- •3.1. Современные требования к корпоративным базам данных.
- •3.2. Потребность в анализе данных.
- •3.3. Хранилища данных.
- •3.4. Хранилища и киоски данных.
- •3.5. Анализ данных в корпоративных системах.
- •3.5.1. Olap - передовая технология анализа.
- •3.5.2. Многомерное представление.
- •3.5.3. Хранение данных olap.
- •3.5.4. Разновидности olap.
- •3.6. Размышления и предсказания.
3.5.2. Многомерное представление.
OLAP предоставляет организациям максимально удобные и быстрые средства доступа, просмотра и анализа деловой информации. Что наиболее важно - OLAP обеспечивает пользователя естественной, интуитивно понятной моделью данных, организуя их в виде многомерных кубов (Cubes). Осями (dimensions) многомерной системы координат служат основные атрибуты анализируемого бизнес-процесса. Например, для процесса продаж это может быть категория товара, регион, тип покупателя. Практически всегда в качестве одного из измерений используется время. Внутри куба находятся данные, количественно характеризующие процесс, - так называемые меры (Measures). Это могут быть объемы продаж в штуках или в денежном выражении, остатки на складе, издержки и т.п. Пользователь, анализирующий информацию, может "нарезать" куб по разным направлениям, получать сводные (например, по годам) или наоборот, детальные (по неделям) данные и осуществлять прочие операции, которые необходимы ему для анализа.
3.5.3. Хранение данных olap.
В первую очередь нужно сказать о том, что поскольку аналитик всегда оперирует некими суммарными (а не детальными) данными, в базах данных OLAP практически всегда хранятся наряду с детальными данными и так называемые агрегаты, то есть заранее вычисленные суммарные показатели. Примерами агрегатов может служить суммарный объем продаж за год или средний остаток товара на складе. Хранение заранее вычисленных агрегатов - это основной способ повышения скорости выполнения OLAP-запросов.
Однако построение агрегатов может привести к значительному увеличению объема базы данных. Рассмотрим небольшой пример - куб, хранящий данные об объемах продаж. В нем есть два измерения - период и регион. В каждом измерении присутствует два значения. Мы хотим построить все возможные агрегаты:
-
1999 год
2000 год
Сумма
Север
20
50
70
Юг
30
80
110
Сумма
50
130
180
В итоге мы имеем 4 значения исходных данных и 5 значений агрегатов, то есть объем данных увеличился в 2,25 раза. Степень увеличения объема зависит от количества измерений и количества уровней суммирования. В одном из недавно опубликованных стандартных тестов полный подсчет агрегатов для 10 Мбайт исходных данных потребовал 2,4 Гбайт дисковой памяти.
Другой проблемой хранения OLAP-данных является разреженность многомерных данных. Например, если в 1999 году продаж на Юге не было, то на пересечении соответствующих измерений куба не будет никакого значения. Если OLAP-сервер будет хранить в таком случае некое соответствующее значение, то при значительной разреженности данных количество пустых ячеек (требующих, тем не менее, места для хранения) может во много раз превысить количество заполненных и в результате общий объем неоправданно возрастет. Решения, предлагаемые для этого компанией Microsoft, приводятся ниже.
3.5.4. Разновидности olap.
Для хранения OLAP-данных могут использоваться:
- специальные многомерные СУБД (OLAP-серверы). В этом случае говорят о MOLAP (Multidimensional OLAP). При выполнении сложных запросов, анализирующих данные в различных измерениях, многомерные СУБД обеспечивают большую производительность, чем реляционные. При этом скорость выполнения запроса не зависит от того, по какому измерению производится "срез" многомерного куба;
- традиционные реляционные СУБД - ROLAP (Relational OLAP). Применение специальных структур данных - схемы "звезды" (star) и "снежинки" (snow-flake), а также хранение вычислительных агрегатов делают возможным многомерный анализ реляционных данных. Реляционные СУБД исторически более привычны, и в них сделаны значительные инвестиции, поэтому пока ROLAP более распространен.
Комбинированный вариант - HOLAP (Hybrid OLAP), совмещающий и тот, и другой вид СУБД. Одним из вариантов совмещения двух типов СУБД является хранение агрегатов в многомерной СУБД, а детальных данных (имеющих наибольший объем) - в реляционной.