311 likes | 634 Views
Учебная дисциплина «Хранилища данных» Лекция 2 КОНЦЕПЦИИ ХРАНЕНИЯ ДАННЫХ. Учебные вопросы: 1 Концепция хранения в реляционных базах данных 2 Концепция организации хранилищ данных 3 Концепция организации многомерной модели данных. Литература.
E N D
Учебная дисциплина «Хранилища данных» Лекция 2КОНЦЕПЦИИ ХРАНЕНИЯ ДАННЫХ Учебные вопросы: 1 Концепция хранения в реляционных базах данных 2 Концепция организации хранилищ данных 3 Концепция организации многомерной модели данных
Литература 1. Малыхина М.П. Базы данных: основы, проектирование, использование. – Спб.: БХВ-Петербург, 2004. – 512 с. 2. Бергер А.Б. Microsoft SQL Server 2005 Analysis Services. OLAP и многомерный анализ данных / Бергер А.Б, Горбач И.В., Меломед Э.Л, Щербинин В.А., Степаненко В.П. / Под общ. Ред. А.Б. Бергера, И.В. Горбач. – СПб.: БХВ-Петербург, 2007. – 928 с. 3. Барсегян А.А. Методы и модели анализа данных: OLAP и DataMining / Барсегян А.А., Куприянов М.С., Степаненко В.В., Холод И.И. – СПб.: БХВ-Петербург, 2004. – 336 с.
Цель лекции Цель лекции – сформировать представление у студентов об основных концепциях организации реляционных баз данных, хранилищ и витрин данных, построении многомерных моделей в системах оперативного и интеллектуального анализа данных.
1 Концепция хранения в реляционных базах данных В настоящее время реляционные БД занимают доминирующее положение. С математической точки зрения реляционная БД представляет собой ограниченный набор конечных отношений различной арности на множестве элементарных данных. Над отношениями можно осуществлять различные алгебраические операции. Теоретическое обоснование реляционной модели, выполненное Э.Коддом, отличается использованием строгих принципов математики и точностью. Все данные в модели размещаются в таблицах [1]. Трехуровневая архитектура описания данных включает следующие уровни абстракции: внешний, внутренний и концептуальный (рисунок 1).
Рисунок 1 – Трехуровневая архитектура описания БД
Представление БД с точки зрения пользователя является внешним уровнемпредставления. Каждый пользователь выделяет в моделируемой предметной области интересующие его сущности, атрибуты и связи. Формируя своё представление о предметной области, выражает их в наиболее удобной для себя форме. При этом одни и те же данные у различных пользователей могут отображаться по-разному. Таким образом, каждый пользователь при работе имеет своё представление о БД ( ) и может использовать свой язык программирования запросов или специальный язык, поддерживаемый приложением. Концептуальный уровень обеспечивает представление данных в абстрактной форме. Описание БД на концептуальном уровне является результатом концептуального проектирования и включает логическое описание всех элементов данных и отношений между ними, логическую структуру БД.
На внутреннем уровне область хранения данных представляется как бесконечное линейное адресное пространство. Внутреннее представление описывает физическую реализацию БД и содержит: • распределение дискового пространства для хранения данных; • описание подробностей сохранения записей; • сведения о размещении записей; • сведения о сжатии данных и выбранных методах их шифрования. Осуществляется взаимодействие СУБД с методами доступа операционной системы на внутреннем уровне. Структура БД OLTP-систем в высокой степени нормализована и состоит из множества таблиц, связанных между собой посредством внешних ключей. Нормализованная структура обеспечивает высокую производительность при поиске и обработке единичных записей.
Рисунок 2 – Фрагмент логической структуры БДValuation Works
2 Концепция организации хранилищ данных Основой концепции хранилищ данных (ХД) является необходимость разделения наборов данных, предназначенных для транзакционной обработки, и наборов данных для анализа в системах поддержки принятия решений (СППР). Это разделение осуществляется интеграцией, согласованием и агрегацией разъединенных данных из OLTP-систем и внешних источниках данных в ХД. Автор концепции W.Inmonопределяет ХД как предметно-ориентированные, интегрированные, неизменчивые, поддерживающие хронологию средства хранения данных [2,3].
Концепция ХД обеспечивает единую модель представления данных предприятия, организации и реализацию интегрированного источника данных. В соответствие с этой реализацией в ХД собираются данные из транзакционных БД и других источников. В ХД поддерживается хронология данных: сохраняются данные о времени. Концептуально модель ХД можно представить в виде схемы на рисунке 3. Данные из различных источников помещаются в ХД, а их описания в репозиторий метаданных. Пользователь, используя средства визуализации, построения отчетов, статистической обработки и другие, анализирует данные в хранилище. Выбор средств работы пользователя с ХД теоретически не должен влиять на его структуру и функции поддержания в актуальном состоянии. Физическая реализация приведённой концептуальной схемы может быть самой разнообразной.
Рисунок 3 – Концептуальная модель хранилища данных
ВИРТУАЛЬНОЕ ХД эмулируют работу с данными в информационной системе, как с хранилищем данных. Виртуальное ХД можно организовать, создав ряд «представлений» (view) в БД или применив специальные средства доступа. Главными достоинствами такого подхода являются простота и малая стоимость реализации, единая платформа с источником информации, отсутствие сетевых соединений между источником информации и ХД. Существенный недостаток в том, что создается не ХД как таковое, а иллюзия его существования. Структура хранения и само хранение не претерпевают изменений, и остаются проблемы с производительностью системы, трансформацией данных, интеграцией данных с другими источниками, отсутствие истории и чистоты данных, зависимость от характеристик основной БД.
Известна ДВУХУРОВНЕВАЯ АРХИТЕКТУРА ХД, предполагающая построение витрин данных (Datamart) без создания центрального хранилища. При этом вся информация, поступающая из OLTP-систем, ограничена конкретной предметной областью. При построении витрин данных используются основные принципы построения ХД, которые можно рассматривать как ХД в миниатюре. Достоинства этого подхода состоит в простоте и малой стоимости реализации, высокой производительности за счет физического разделения регистрирующих и аналитических систем, поддержке истории данных и возможности добавления метаданных. Концепция витрин данных предложена Forrester Research в 1991 году [4]. Главная идея витрин данных – сохранение тематического подмножества заранее агрегированных данных. Размер тематического подмножества данных намного меньше множества данных ХД, что значительно снижает уровень требования к производительности компьютерной техники.
Построение ХД предприятия, как правило, выполняется в трехуровневой архитектуре. На первом уровне расположены разнообразные источники данных и справочные системы. Второй уровень ХД содержит центральное хранилище и, возможно, оперативный склад данных. В центральном хранилище консолидируется информация от всех источников с первого уровня. Оперативный склад данных не содержит исторических данных и выполняет две функции: хранения аналитической информации для оперативного управления и подготовки данных для последующей загрузки в центральное хранилище. Третий уровень ХД представляет собой набор предметно-ориентированных витрин данных, данные в которые загружаются из центрального хранилища данных. Таким образом, ХД представляет собой предметно-ориентированное, интегрированное, связанное со временем и неизменное во времени собрание данных. Предметная ориентацияколлекции данных означает, что данные отражают существенные аспекты деятельности организации. Интеграция данныхпредполагает собрание данных в целостную структуру, обеспечивающую анализ данных.
Основными составляющими структуры хранилищ данных являются таблица фактов (Facttable) и таблицы измерений (Dimensiontables). Таблица фактов. Таблица фактов является основной таблицей хранилища данных. Как правило, она содержит сведения об объектах или событиях, совокупность которых будет в дальнейшем анализироваться. Обычно выделяют четыре встречающихся типа фактов: • факты, связанные с транзакциями (Transactionfacts). Они основаны на отдельных событиях; • факты, связанные с «моментальными снимками» (Snapshotfacts). Основаны на состоянии объекта; • факты, связанные с элементами документа (Line-itemfacts). Основаны на том или ином документе; • факты, связанные с событиями или состоянием объекта (Eventorstatefacts), представляюobt возникновение события без подробностей.
Таблица фактов, которая может быть построена на основе БД Valuation Works, приведена на рисунке 4. В рассматриваемом примере измерениям будущего куба соответствуют первые шесть полей, а агрегатным данным — последние четыре. В таблице фактов нет никаких сведений о том, как группировать записи при вычислении агрегатных данных. В ней есть идентификаторы продуктов или клиентов. Эти сведения, в дальнейшем используемые для построения иерархий в измерениях куба, содержатся в таблицах измерений. Рисунок 4 – Пример таблицы фактов
Таблицы измерений содержат неизменяемые либо редко изменяемые данные. В подавляющем большинстве случаев эти данные представляют собой по одной записи для каждого члена нижнего уровня иерархии в измерении. Таблицы измерений также содержат как минимум одно описательное поле (обычно с именем члена измерения) и, как правило, целочисленное ключевое поле (обычно это суррогатный ключ) для однозначной идентификации члена измерения. Если будущее измерение, основанное на данной таблице измерений, содержит иерархию, то таблица измерений также может содержать поля, указывающие на «родителя» данного члена в этой иерархии. Таблица измерений может содержать и поля, указывающие на «прародителей», и иных «предков» в данной иерархии. Каждая таблица измерений должна находиться в отношении «один ко многим» с таблицей фактов (рисунок 5).
Рисунок 5 – Пример таблицы измерений Одно измерение куба может содержаться как в одной таблице, так и в нескольких связанных таблицах, соответствующих различным уровням иерархии в измерении (рисунок 6). Если каждое измерение содержится в одной таблице, такая схема хранилища данных носит название «звезда». Если же хотя бы одно измерение содержится в нескольких связанных таблицах, такая схема хранилища данных носит название «снежинка».
Рисунок 6 – Пример схемы «снежинка»
3 Концепция многомерной модели данных В службах SQL Server Analysis Services используется унифицированная многомерная модель данных (Unified Dimensional Model, UDM). Эта модель позволяет различным клиентским приложениям получить доступ к данным из реляционных и многомерных БД без применения различных моделей (рисунок 7). Роль унифицированной многомерной модели заключается в создании моста между пользователем и источниками данных [2, 3]. Модель UDM конструируется на одном или нескольких источниках данных. Пользователь запрашивает модель UDM при помощи различных клиентских средств, например MicrosoftExcel.
Преимущества унифицированной многомерной модели данных: • значительно обогащает пользовательскую модель; • обеспечивает высокую производительность запросов, поддерживая интерактивный анализ даже на очень больших объемах данных; • использует в модели бизнес-правила для поддержки более содержательного анализа данных; • поддерживает «закрытие цикла»: пользователям позволяется действовать с данными, которые они видят на экране монитора. • Многомерная модель данных определяет представление данных на трех уровнях: концептуальной модели; физической модели; прикладной модели.
Физическая модель основывается на концептуальной модели. Как и в случае реляционных БД, физическая модель определяет условия хранения данных на физических носителях: • место хранения: тип файлов с данными, носитель информации, размещение носителя; • способ хранения: в сжатом или несжатом виде, вид индексирования; • правила доступа к данным, организацию кеширования данных, способ занесения и извлечения данных из памяти.
Рисунок 8 – Структура записей и страниц
Для описания многомерного пространства используются следующие термины: измерение (dimension), описывающее элемент данных для анализа; • элемент (member): соответствует одной точке на измерении. • значение элемента (member value): уникальная характеристика элемента; • атрибут (attribute): полная коллекция элементов одного типа; • размер (size) или кардинальность (cardinality) измерения: количество элементов, которое содержит измерение.
Рисунок 9 – Трехмерное пространство данных
При описании многомерного пространства дополнительно используются следующие понятия: • кортеж (tuple), определяющий координату в многомерном модельном пространстве; • срез (slice), определяющий секцию многомерного модельного пространства, которая определяется кортежем.
Контрольные вопросы • Поясните сущность концепции хранения в реляционных базах данных. • Перечислите и охарактеризуйте уровни представления данных в реляционных базах данных. • Поясните сущность концепции организации хранилищ данных. • Приведите концептуальную модель организации хранилищ данных и поясните назначение её элементов. • Поясните сущность трехуровневой архитектуры построения ХД • Поясните сущность концепции организации многомерной модели данных. • Приведите многомерную модель данных и поясните назначение её элементов. • Поясните преимущества унифицированной многомерной модели данных.