В данной статье мы ознакомились
В данной статье мы ознакомились с основами OLAP. Мы узнали следующее:
- Назначение хранилищ данных— предоставление пользователям информации для статистического анализа и принятия управленческих решений.
- Хранилища данных должны обеспечивать высокую скорость получения данных, возможность получения и сравнения так называемых срезов данных, а также непротиворечивость, полноту и достоверность данных.
- OLAP (On-Line Analytical Processing) является ключевым компонентом построения и применения хранилищ данных. Эта технология основана на построении многомерных наборов данных — OLAP-кубов, оси которого содержат параметры, а ячейки — зависящие от них агрегатные данные.
- Приложения с OLAP-функциональностью должны предоставлять пользователю результаты анализа за приемлемое время, осуществлять логический и статистический анализ, поддерживать многопользовательский доступ к данным, осуществлять многомерное концептуальное представление данных и иметь возможность обращаться к любой нужной информации.
В следующей статье данного цикла мы рассмотрим типичную структуру хранилищ данных, поговорим о том, что представляет собой клиентский и серверный OLAP, а также остановимся на некоторых технических аспектах многомерного хранения данных.
В данной статье мы рассмотрели типичную структуру реляционных хранилищ данных. Итак, теперь мы знаем, что:
- типичная структура хранилища данных существенно отличается от структуры обычной реляционной СУБД— как правило, она денормализована;
- основными составляющими структуры хранилищ данных являются таблица фактов (fact table) и таблицы измерений (dimension tables);
- таблица фактов является основной таблицей хранилища данных. Обычно она содержит сведения об объектах или событиях, совокупность которых будет в дальнейшем анализироваться; таблица фактов, как правило, содержит уникальный составной ключ, состоящий из первичных ключей таблиц измерений. При этом как ключевые, так и некоторые неключевые ее поля должны соответствовать будущим измерениям OLAP-куба. Помимо этого таблица фактов содержит одно или несколько числовых полей, на основании которых в дальнейшем вычисляются агрегатные данные; таблицы измерений содержат неизменяемые либо редко изменяемые данные — как правило, по одной записи для каждого члена нижнего уровня иерархии в измерении;
- таблицы измерений содержат как минимум одно описательное поле и, как правило, целочисленное ключевое поле для однозначной идентификации члена измерения;
- каждая таблица измерений должна находиться в отношении «один ко многим» с таблицей фактов;
- если каждое измерение содержится в одной таблице измерений, такая схема хранилища данных носит название «звезда». Если же хотя бы одно измерение содержится в нескольких связанных таблицах, такая схема хранилища данных носит название «снежинка».
- клиентские OLAP-средства представляют собой приложения, осуществляющие вычисление агрегатных данных (сумм, средних величин, максимальных или минимальных значений) и их отображение, при этом сами агрегатные данные содержатся в кэше внутри адресного пространства такого OLAP-средства;
- в серверных OLAP-средствах сохранение и изменение агрегатных данных, а также поддержка содержащего их хранилища осуществляются отдельным приложением или процессом, называемым OLAP-сервером;
- в случае применения серверных средств вычисление и хранение агрегатных данных происходят на сервере, что позволяет в общем случае снизить требования к ресурсам, потребляемым клиентским приложением, а также сетевой трафик и время выполнения запросов.
- наконец, мы рассмотрели различные технические аспекты многомерного хранения данных. Мы узнали, что в настоящее время применяются три способа хранения данных:
- MOLAP (Multidimensional OLAP) — и детальные, и агрегатные данные хранятся в многомерной базе данных. В этом случае многомерные данные полностью содержат исходные детальные данные;
- ROLAP (Relational OLAP) — детальные данные остаются в той же реляционной базе данных, где они находились изначально. Агрегатные же данные помещаются в специально созданные для их хранения служебные таблицы в той же самой базе данных;
- HOLAP (Hybrid OLAP) — детальные данные остаются в той же реляционной базе данных, где они и находились изначально, а агрегатные данные хранятся в многомерной базе данных.
В данной статье мы рассмотрели архитектуру аналитических служб Microsoft. Мы узнали, что:
- основным компонентом аналитических служб является Analysis Server, представляющий собой сервис операционной системы Windows NT/2000 и предназначенный для создания OLAP-кубов и предоставления доступа к ним из клиентских приложений;
- аналитические службы Microsoft поддерживают все известные технологии многомерного хранения данных— Multidimensional OLAP, Relational OLAP и Hybrid OLAP;
- аналитические службы поддерживают получение вычисляемых агрегатных данных, создание коллективных измерений и виртуальных кубов.
- для создания административных приложений следует применять Decision Support Objects (SQL DSO) — набор библиотек, в которых содержатся COM-объекты, позволяющие создавать и модифицировать многомерные базы данных и содержащиеся в них объекты, такие как кубы, коллективные измерения и т.д. SQL DSO можно использовать только для доступа к аналитическим службам Microsoft;
- приложения, предназначенные только для чтения OLAP-данных, для взаимодействия с аналитическими службами обязательно используют PivotTable Service — библиотеки, загружаемые в адресное пространство клиентского приложения и предназначенные для просмотра серверных OLAP-кубов, а также для создания, модификации и чтения локальных OLAP-кубов, созданных в клиентском приложении;
- для взаимодействия с PivotTable Service клиентское приложение может использовать OLE DB for OLAP — расширение универсального механизма доступа к данным OLE DB, позволяющее обращаться к многомерным данным, а также ADO MD — COM-серверы для доступа к многомерным данным, представляющие собой надстройку над OLE DB for OLAP и удобные для использования в клиентских приложениях. Спецификация OLE DB for OLAP является открытой.
- Analysis Manager, входящий в состав аналитических служб, предназначен для создания и модификации объектов многомерной базы данных и использует для этой цели библиотеки SQL DSO. С его помощью можно осуществлять и просмотр многомерных данных, для чего используется OLE DB for OLAP;
- нередко для просмотра OLAP-кубов применяются приложения Microsoft Office, в частности Microsoft Excel, а также ActiveX-компонент PivotTable List, входящий в состав Microsoft Office Web Components.