Хранилища многомерных данных(Data Warehouse)
651.00K
Category: databasedatabase

Хранилища многомерных данных (Data Warehouse)

1. Хранилища многомерных данных(Data Warehouse)

Определение, сформулированное "отцом-основателем" хранилищ
данных Биллом Инмоном: "Хранилище данных - это предметноориентированное, привязанное ко времени и неизменяемое
собрание данных для поддержки процесса принятия управляющих
решений". Данные в хранилище попадают из оперативных систем
(OLTP-систем), которые предназначены для автоматизации бизнеспроцессов. Кроме того, хранилище может пополняться за счет
внешних источников, например статистических отчетов.
Под хранилищем можно понимать не обязательно гигантское
скопление данных - главное, чтобы оно было удобно для анализа.
Для маленьких хранилищ предназначается отдельный термин - Data
Marts (киоски данных).

2.

Структура хранилища данных
Оперативные данные собираются из различных источников, очищаются,
интегрируются и складываются в реляционное хранилище. При этом они уже
доступны для анализа при помощи различных средств построения отчетов. Затем
данные (полностью или частично) подготавливаются для OLAP-анализа. Они
могут быть загружены в специальную БД OLAP или оставлены в реляционном
хранилище. Важнейшим его элементом являются метаданные, т. е. информация о
структуре, размещении и трансформации данных. Благодаря им обеспечивается
эффективное взаимодействие различных компонентов хранилища

3.

Можно определить OLAP как совокупность средств
многомерного анализа данных, накопленных в хранилище.
Теоретически средства OLAP можно применять и непосредственно
к оперативным данным или их точным копиям (чтобы не мешать
оперативным пользователям).
OLAP - это Online Analytical Processing, т. е. оперативный анализ
данных. 12 определяющих принципов OLAP сформулировал в 1993
г. Е. Ф. Кодд - "изобретатель" реляционных БД. Позже его
определение было переработано в так называемый тест FASMI,
требующий, чтобы OLAP-приложение предоставляло возможности
быстрого анализа разделяемой многомерной информации .
OLAP = многомерное представление = Куб
OLAP предоставляет удобные быстродействующие средства
доступа, просмотра и анализа деловой информации. Пользователь
получает естественную, интуитивно понятную модель данных,
организуя их в виде многомерных кубов (Cubes).
Осями многомерной системы координат служат основные атрибуты
анализируемого бизнес-процесса.

4.

Тест FASMI
Fast (Быстрый) - анализ должен производиться одинаково быстро
по всем аспектам информации. Приемлемое время отклика - 5 с или
менее.
Analysis (Анализ) - должна быть возможность осуществлять
основные типы числового и статистического анализа,
предопределенного разработчиком приложения или произвольно
определяемого пользователем.
Shared (Разделяемой) - множество пользователей должно иметь
доступ к данным, при этом необходимо контролировать доступ к
конфиденциальной информации.
Multidimensional (Многомерной) - это основная, наиболее
существенная характеристика OLAP.
Information (Информации) - приложение должно иметь
возможность обращаться к любой нужной информации, независимо
от ее объема и места хранения.

5.

Например, для продаж это могут быть товар, регион, тип
покупателя. В качестве одного из измерений используется время. На
пересечениях осей - измерений (Dimensions) - находятся данные,
количественно характеризующие процесс - меры (Measures). Это
могут быть объемы продаж в штуках или в денежном выражении,
остатки на складе, издержки и т. п. Пользователь, анализирующий
информацию, может "разрезать" куб по разным направлениям,
получать сводные (например, по годам) или, наоборот, детальные
(по неделям) сведения и осуществлять прочие манипуляции,
которые ему придут в голову в процессе анализа

6.

Двумерное представление куба можно получить, "разрезав" его
поперек одной или нескольких осей (измерений): мы фиксируем
значения всех измерений, кроме двух, - и получаем обычную
двумерную таблицу. В горизонтальной оси таблицы (заголовки
столбцов) представлено одно измерение, в вертикальной (заголовки
строк) - другое, а в ячейках таблицы - значения мер. При этом набор
мер фактически рассматривается как одно из измерений - мы либо
выбираем для показа одну меру (и тогда можем разместить в
заголовках строк и столбцов два измерения), либо показываем
несколько мер (и тогда одну из осей таблицы займут названия мер, а
другую - значения единственного "неразрезанного" измерения).
Для визуализации данных,
хранящихся в кубе, применяются, привычные двумерные, т. е. табличные,
представления, имеющие
сложные иерархические
заголовки строк и столб-

7.

Двумерный
срез куба для
нескольких мер
Двумерный срез куба с несколькими измерениями на одной оси

8.

Метки
Значения, "откладываемые" вдоль измерений, называются членами
или метками (members). Метки используются как для "разрезания"
куба, так и для ограничения (фильтрации) выбираемых данных когда в измерении, остающемся "неразрезанным", нас интересуют
не все значения, а их подмножество, например три города из
нескольких десятков. Значения меток отображаются в двумерном
представлении куба как заголовки строк и столбцов.
Иерархии и уровни
Метки могут объединяться в иерархии, состоящие из одного или
нескольких уровней (levels). Например, метки измерения "Магазин"
(Store) естественно объединяются в иерархию с уровнями:
All (Мир)
Country (Страна)
State (Штат)
City (Город)
Store (Магазин).

9.

Многомерность в OLAP-приложениях может быть разделена на три
уровня:
* Многомерное представление данных - средства конечного
пользователя, обеспечивающие многомерную визуализацию и
манипулирование данными; слой многомерного представления
абстрагирован от физической структуры данных и воспринимает
данные как многомерные.
* Многомерная обработка - средство (язык) формулирования
многомерных запросов (традиционный реляционный язык SQL
здесь оказывается непригодным) и процессор, умеющий обработать
и выполнить такой запрос.
* Многомерное хранение - средства физической организации
данных, обеспечивающие эффективное выполнение многомерных
запросов.

10.

Первые два уровня в обязательном порядке присутствуют во всех
OLAP-средствах. Третий уровень, хотя и является широко
распространенным, не обязателен, так как данные для
многомерного представления могут извлекаться и из обычных
реляционных структур; процессор многомерных запросов в этом
случае транслирует многомерные запросы в SQL-запросы, которые
выполняются реляционной СУБД.
Конкретные OLAP-продукты, как правило, представляют собой
либо средство многомерного представления данных, OLAP-клиент
(например, Pivot Tables в Excel 2000 фирмы Microsoft или ProClarity
фирмы Knosys), либо многомерную серверную СУБД, OLAP-сервер
(например, Oracle Express Server или Microsoft OLAP Services).
Слой многомерной обработки обычно бывает встроен в OLAPклиент и/или в OLAP-сервер, но может быть выделен в чистом виде,
как, например, компонент Pivot Table Service фирмы Microsoft.

11.

Средства OLAP-анализа могут извлекать данные и непосредственно
из реляционных систем.
Такой подход был более привлекательным в те времена, когда
OLAP-серверы отсутствовали в прайс-листах ведущих
производителей СУБД. Но сегодня и Oracle, и Informix, и Microsoft
предлагают полноценные OLAP-серверы, и даже те IT-менеджеры,
которые не любят разводить в своих сетях "зоопарк" из ПО разных
производителей, могут купить (точнее, обратиться с соответствующей просьбой к руководству компании) OLAP-сервер той же марки,
что и основной сервер баз данных.
OLAP-серверы, или серверы многомерных БД, могут хранить свои
многомерные данные по-разному
В любом хранилище данных - и в обычном, и в многомерном наряду с детальными данными, извлекаемыми из оперативных
систем, хранятся и суммарные показатели (агрегированные
показатели, агрегаты), такие, как суммы объемов продаж по
месяцам, по категориям товаров и т. п. Агрегаты хранятся в явном
виде с единственной целью - ускорить выполнение запросов.

12.

Поэтому при загрузке данных в многомерную БД вычисляются и
сохраняются все суммарные показатели или их часть
Но, как известно, за все надо платить. И за скорость обработки
запросов к суммарным данным приходится платить увеличением
объемов данных и времени на их загрузку. Причем увеличение
объема может стать буквально катастрофическим - в одном из
опубликованных стандартных тестов полный подсчет агрегатов для
10 Мб исходных данных потребовал 2,4 Гб, т. е. данные выросли в
240 раз! Степень "разбухания" данных при вычислении агрегатов
зависит от количества измерений куба и структуры этих измерений,
т. е. соотношения количества "отцов" и "детей" на разных уровнях
измерения.
Для решения проблемы хранения агрегатов применяются подчас
сложные схемы, позволяющие при вычислении далеко не всех
возможных агрегатов достигать значительного повышения
производительности выполнения запросов.

13.

Как детальные данные, так и агрегаты могут храниться либо в
реляционных, либо в многомерных структурах.
Многомерное хранение позволяет обращаться с данными как с
многомерным массивом, благодаря чему обеспечиваются одинаково
быстрые вычисления суммарных показателей и различные
многомерные преобразования по любому из измерений.
Некоторое время назад OLAP-продукты поддерживали либо
реляционное, либо многомерное хранение.
Сегодня, как правило, один и тот же продукт обеспечивает оба этих
вида хранения, а также третий вид - смешанный. Применяются
следующие термины:
* MOLAP (Multidimensional OLAP)
* ROLAP (Relational OLAP)
* HOLAP (Hybrid OLAP)

14.

* MOLAP (Multidimensional OLAP) - и детальные данные, и
агрегаты хранятся в многомерной БД. В этом случае получается
наибольшая избыточность, так как многомерные данные полностью
содержат реляционные.
* ROLAP (Relational OLAP) - детальные данные остаются там,
где они "жили" изначально - в реляционной БД; агрегаты хранятся в
той же БД в специально созданных служебных таблицах.
* HOLAP (Hybrid OLAP) - детальные данные остаются на месте
(в реляционной БД), а агрегаты хранятся в многомерной БД.
Каждый из этих способов имеет свои преимущества и недостатки и
должен применяться в зависимости от условий - объема данных,
мощности реляционной СУБД и т. д.
При хранении данных в многомерных структурах возникает
потенциальная проблема "разбухания" за счет хранения пустых
значений. Современные OLAP-продукты умеют справляться с этой
проблемой.

15.

Классическая многомерная модель сочетает в себе первичную
структуру хранения информации и механизм поиска.
В качестве первичных структур хранения информации используются ячейки многомерного пространства (при едином базисе измерений) или гиперкубы – области ячеек многомерного пространства
(при множественном базисе измерений). Второй (поликубический)
вариант получил наибольшее распространение в силу удобства
оперирования отдельными подмножествами многомерной базы
данных, в том числе, при обращении к энергонезависимому
носителю информации.
Механизм поиска основан на перемещении вдоль оси каждого
измерения на заранее рассчитанное (с помощью формата записи)
расстояние вплоть до координаты измерения, соответствующей
атрибуту элемента данных. В оперативной памяти компьютера для
каждого базиса измерений достаточно поддерживать представление
осей измерений в виде таблиц уникальных значений атрибутов,
упорядоченных по возрастанию или убыванию.

16.

На пересечении осей измерений находится ячейка многомерного
пространства, содержащая элемент данных или указатель на
элемент данных, расположенный на энергонезависимом носителе
информации.
Единственный недостаток классической многомерной модели
данных – "взрывной" рост ячеек многомерного пространства при
увеличении числа измерений и количества координат в составе
измерений. Объем многомерного пространства при этом возрастает
по экспоненте. Количество ячеек, заполненных NULL-значениями,
на порядки превышает количество ячеек, заполненных реальными
данными. С целью сжатия многомерного пространства используется
прием, реализованный в навигационной модели данных – адресные
указатели, связывающие в том или ином порядке ячейки со
значимыми данными. Сжатое многомерное пространство, в свою
очередь, требует замены механизма поиска, основанного на
однократных перемещениях вдоль осей измерений, на механизм
поиска, основанный на иерархических структурах.

17.

В этом виде многомерная модель может быть отнесена к группе
навигационных моделей данных. Так же как иерархическую и
сетевую, многомерную модель целесообразно дополнить
механизмом ссылок в виде внешних ключей, связывающих данные,
расположенные в разных гиперкубах. Полученную модель данных
можно определить как интегрированную модель, вобравшую
лучшие качества иерархической (механизм поиска), сетевой
(произвольный доступ) и реляционной (логическое разделение
первичных структур хранения информации) моделей данных.
Использование интегрированной модели позволит отказаться от
двойного представления информации, реализованного в гибридных
многомерно-реляционных базах данных, предлагаемых ведущими
производителями данного класса программного обеспечения. Это
дополнительно увеличит скорость доступа к данным.

18.

Интегрированная модель данных имеет широкие перспективы
развития в направлении многоверсионной архитектуры, замены
процедуры, опережающей записи в журнал транзакций, на
специальные алгоритмы контроля полноты и достоверности
контроля без обращения к энергонезависимому носителю
информации, управления отдельными экземплярами атрибутов
данных и т.д.
В заключение необходимо подчеркнуть важность сохранения
преемственности в использовании всего комплекса знаний и
практического опыта, накопленных в области управления базами
данных, в первую очередь достижений в контроле транзакций,
поддержке версий данных, развитого языка программирования,
совершенных механизмах репликации и масштабирования.
Интегрированная модель, безусловно, должна быть оснащена всеми
современными средствами управления базами данных.

19.

Типы сетей Fibre Channel, iSCSI, iSER, SRP, FCoE, FCIP и iFCP,
HyperSCSI, FICON, ATA over Ethernet
•Сеть хранения данных, или Storage Area Network — это система,
состоящая из собственно устройств хранения данных — дисковых,
или RAID — массивов, ленточных библиотек и прочего, среды
передачи данных и подключенных к ней серверов. Обычно
используется достаточно крупными компаниями, имеющими
развитую IT инфраструктуру, для надежного хранения данных и
скоростного доступа к ним.
Упрощенно, СХД — это система, позволяющая раздавать серверам
надежные быстрые диски изменяемой емкости с разных устройств
хранения данных. SAN характеризуются предоставлением
так называемых сетевых блочных устройств (обычно посредством
протоколов Fibre Channel, iSCSI или AoE), в то время как сетевые
хранилища данных (англ. Network Attached Storage, NAS) нацелены
на предоставление доступа к хранящимся на их файловой системе
данным при помощи сетевой файловой системы (такой как NFS,
SMB/CIFS, или Apple Filing Protocol).

20.

Движущей силой для развития сетей хранения данных стал
взрывной рост объема деловой информации, требующей
высокоскоростного доступа к дисковым устройствам на блочном
уровне. Ранее на предприятии возникали «острова» высокопроизводительных дисковых массивов SCSI. Каждый такой массив был
выделен для конкретного приложения и виден ему как некоторое
количество «виртуальных жестких дисков» (LUN'ов).
Сеть хранения данных позволяет объединить эти «острова»
средствами высокоскоростной сети. Также без использования
технологий SCSI транспорта невозможно организовать отказоустойчивые кластеры, в которых один сервер подключается к двум и
более дисковым массивам, находящимся на большом расстоянии
друг от друга на случай стихийных бедствий. Сети хранения
помогают повысить эффективность использования ресурсов систем
хранения, поскольку дают возможность выделить любой ресурс
любому узлу сети. Устройства резервного копирования также
подключаются к СХД (SAN). В данный момент существуют как
промышленные ленточные библиотеки (на несколько тысяч лент) от

21.

Сети хранения данных позволяют подключить к одному хосту
несколько приводов таких библиотек, обеспечив таким образом
хранилище данных для резервного копирования от сотен терабайт
до нескольких петабайт.
1.Однокоммутаторная структура (англ. single-switch fabric)
состоит из одного коммутатора Fibre Channel, сервера и системы
хранения данных. Обычно эта топология является базовой для всех
стандартных решений — другие топологии создаются
объединением однокоммутаторных ячеек
2.Каскадная структура (англ. cascaded fabric) — набор ячеек,
коммутаторы которых соединены в дерево с помощью
межкоммутаторных соединений (англ. Inter-Switch link, ISL). Во
время инициализации сети коммутаторы выбирают «верхушку
дерева» (англ. principal switch, главный коммутатор) и присваивают
ISL’ам статус «upstream» (вверх) или «downstream» (вниз) в
зависимости от того, ведет этот линк в сторону главного свитча или
на периферию.

22.

23.

3.Решетка (англ. meshed fabric) — набор ячеек, коммутатор каждой
из которых соединен со всеми другими. При отказе одного (а в ряде
сочетаний — и более) ISL соединения связность сети не
нарушается. Недостаток — большая избыточность соединений.
4.Кольцо (англ. ring fabric) — практически повторяет схему
топологии решётка. Среди преимуществ — использование
меньшего количества ISL соединений.

24.

Интерфейс Fibre Channel – это технология межсистемного
взаимодействия, которая объединяет в себе возможности
высокоскоростного ввода-вывода и сетевого обмена данными, т.е.
– каналов передачи данных и сетей..
К каналам передачи данных между компьютерной системой и
периферийным устройством относятся интерфейсы SCSI (Small
Computer System Interface) и HIPPI (High- Performance Parallel
Interface), которые реализуются средствами аппаратного
обеспечения.
В отличие от каналов, сети в основном реализуются средствами
программного уровня.
Один из подходов в объединении систем хранения данных и сетей
заключается в том, что сеть становится ключевым элементом, к
которому добавляются новые возможности с одновременной
компенсацией недостатков подобного подхода. Речь идет о
технологии хранения данных на базе протокола IP

25.

Другой подход состоит в использовании центрального хранилища
данных (канальная система) и расширения существующих
технологических функций. На базе этого метода создавалась
технология Fibre Channel. Одно из основных преимуществ Fibre
Channel по сравнению с IP Storage заключается в разработке
продуктов Fibre Channel уже в течение 10 лет, в то время как
решения для IP Storage появились сравнительно недавно.
Так как Fibre Channel основана на структуре каналов, стоит
рассмотреть недостатки другой известной технологии – SCSI.
Максимальная скорость передачи данных – до 320 Мбайт/с, чего
явно недостаточно для хранилищ данных большого объема.
Адаптер поддерживает только 16 устройств.
Преимущество, которое одновременно является и недостатком, –
обратная совместимость. Стандарт SCSI развивался много лет, и
производители устройств смогли обеспечить обратную
совместимость для нескольких поколений устройств.

26.

Но администратор должен следить, чтобы к шине не подключались
устройства предыдущих поколений, поскольку шина автоматически
перейдет в режим, поддерживающий работу самого старого
устройства.
Поддерживается длина кабелей, составляющая несколько десятков
метров. Этого недостаточно для создания обычных, а тем более
географически распределенных кластеров.
Существуют и другие альтернативы SCSI, например SSA (Serial
Storage Architecture), которые еще находятся в рамках архитектуры
Intel или вообще представляют собой открытый стандарт.
English     Русский Rules