OLAP

Поделись знанием:
(перенаправлено с «HOLAP»)
Перейти к: навигация, поиск

OLAP (англ. online analytical processing, аналитическая обработка в реальном времени) — технология обработки данных, заключающаяся в подготовке суммарной (агрегированной) информации на основе больших массивов данных, структурированных по многомерному принципу. Реализации технологии OLAP являются компонентами программных решений класса Business Intelligence[1].

Основоположник термина OLAP — Эдгар Кодд, предложил в 1993 году «12 правил аналитической обработки в реальном времени» (по аналогии с ранее сформулированными «12 правил для реляционных БД»).





Действие OLAP

Причина использования OLAP для обработки запросов — скорость. Реляционные БД хранят сущности в отдельных таблицах, которые обычно хорошо нормализованы. Эта структура удобна для операционных БД (системы OLTP), но сложные многотабличные запросы в ней выполняются относительно медленно.

OLAP-структура, созданная из рабочих данных, называется OLAP-куб. Куб создаётся из соединения таблиц с применением схемы звезды или схемы снежинки. В центре схемы звезды находится таблица фактов, которая содержит ключевые факты, по которым делаются запросы. Множественные таблицы с измерениями присоединены к таблице фактов. Эти таблицы показывают, как могут анализироваться агрегированные[en] реляционные данные. Количество возможных агрегирований определяется количеством способов, которыми первоначальные данные могут быть иерархически отображены.

Например, все клиенты могут быть сгруппированы по городам или регионам страны (Запад, Восток, Север и т. д.), таким образом, 50 городов, восемь регионов и две страны составят три уровня иерархии с 60-ю членами. Также клиенты могут быть объединены по отношению к продукции; если существуют 250 продуктов по 20-ти категориям, три группы продукции и три производственных подразделения, то количество агрегатов составит 16 560. При добавлении измерений в схему количество возможных вариантов быстро достигает десятков миллионов и более.

OLAP-куб содержит базовые данные и информацию об измерениях (агрегаты). Куб потенциально содержит всю информацию, которая может потребоваться для ответов на любые запросы. При огромном количестве агрегатов зачастую полный расчёт происходит только для некоторых измерений, для остальных же производится «по требованию».

Существуют три типа OLAP:[2]

  • многомерная OLAP (Multidimensional OLAP — MOLAP);
  • реляционная OLAP (Relational OLAP — ROLAP);
  • гибридная OLAP (Hybrid OLAP — HOLAP).

MOLAP — классическая форма OLAP, так что её часто называют просто OLAP. Она использует суммирующую БД, специальный вариант процессора пространственных БД и создаёт требуемую пространственную схему данных с сохранением как базовых данных, так и агрегатов.

ROLAP работает напрямую с реляционным хранилищем, факты и таблицы с измерениями хранятся в реляционных таблицах, и для хранения агрегатов создаются дополнительные реляционные таблицы.

HOLAP использует реляционные таблицы для хранения базовых данных и многомерные таблицы для агрегатов.

Особым случаем ROLAP является "ROLAP реального времени" (Real-time ROLAP — R-ROLAP). В отличие от ROLAP в R-ROLAP для хранения агрегатов не создаются дополнительные реляционные таблицы, а агрегаты рассчитываются в момент запроса. При этом многомерный запрос к OLAP-системе автоматически преобразуется в SQL-запрос к реляционным данным.

Каждый тип хранения имеет определённые преимущества, хотя есть разногласия в их оценке у разных производителей. MOLAP лучше всего подходит для небольших наборов данных, он быстро рассчитывает агрегаты и возвращает ответы, но при этом генерируются огромные объёмы данных. ROLAP оценивается как более масштабируемое решение, использующее к тому же наименьшее возможное пространство. При этом скорость обработки значительно снижается. HOLAP находится посреди этих двух подходов, он достаточно хорошо масштабируется и быстро обрабатывается. Архитектура R-ROLAP позволяет производить многомерный анализ OLTP-данных в режиме реального времени.

Сложность в применении OLAP состоит в создании запросов, выборе базовых данных и разработке схемы, в результате чего большинство современных продуктов OLAP поставляются вместе с огромным количеством предварительно настроенных запросов. Другая проблема — в базовых данных. Они должны быть полными и непротиворечивыми.

Реализации OLAP

Исторически первой многомерной системой управления базами данных, по существу являющейся OLAP-реализацией, считается система Express, разработанная в 1970-м году компанией IRI (позднее права на продукт были приобретены корпорацией Oracle и превращён в OLAP-опцию для Oracle Database)</cite>[3]. Термин OLAP ввёл Эдгар Кодд в публикации в журнале Computerworld в 1993 году[4], в которой он предложил 12 принципов аналитической обработки, по аналогии с 12-ю правилами для реляционных баз данных, сформулированными им же десятилетием ранее, в качестве референтного продукта, удовлетворяющего предложенным принципам, Кодд указал систему Essbase компании Arbor (поглощённой в 1997 году компанией Hyperion, которую, в свою очередь, в 2007-м году купила Oracle). Примечательно, что впоследствии публикация была изъята из архивов Computerworld из-за возможного конфликта интересов, так как Кодд позднее оказывал консультационные услуги для Arbor[5].

С точки зрения реализации, делятся на «физическую OLAP» и «виртуальную» (реляционную, англ. Relational OLAP, ROLAP). «Физическая», в свою очередь, в зависимости от реализации подразделяется на многомерную (англ. Multidimensional OLAP, MOLAP) и гибридную — (англ. Hybrid OLAP, HOLAP).

В первом случае наличествует программа, выполняющая на этапе предварительной загрузки данных в OLAP предварительный расчёт агрегатов (вычислений по нескольким исходным значениям, например «итог за месяц»), которые затем сохраняются в специальную многомерную базу данных, обеспечивающую быстрое извлечение и экономичное хранение.

Гибридная реализация является комбинацией: сами данные хранятся в реляционной базе данных, а агрегаты — в многомерной.

В ROLAP-реализациях все данные хранятся и обрабатываются в реляционных системах управления базами данных, а агрегаты могут не существовать вообще или создаваться по первому запросу в СУБД или кэше аналитического программного обеспечения.

С точки зрения пользователя, все варианты выглядят похожими по возможностям. Наибольшее применение OLAP находит в продуктах для финансового планирования, хранилищах данных, решениях класса Business Intelligence.

Известные производители коммерческих OLAP-продуктов, согласно OLAP Report на 2007-й год: Microsoft, Hyperion, Cognos, Business Objects, MicroStrategy, SAP, Cartesis, Systems Union/MIS AG, Oracle, Applix.

Среди коммерческих продуктов можно выделить: Microsoft SQL Server Analysis Services, Hyperion Essbase, Cognos PowerPlay, BusinessObjects, MicroStrategy, SAP BW, Cartesis Magnitude, Oracle Express, OLAP Option, IBM Cognos TM1. Существует несколько open-source решений, включая Mondrian и Palo[6]

См. также

Напишите отзыв о статье "OLAP"

Примечания

  1. [www.gartner.com/technology/it-glossary/ IT Term Definitions] (англ.). Gartner (2011). Проверено 12 июня 2011. [www.webcitation.org/65AkPdIv3 Архивировано из первоисточника 3 февраля 2012].
  2. Krzysztof J. Cios, Data Mining: A Knowledge Discovery Approach, Springer 2007, ISBN 978-0-387-33333-5 — Page 123 «4.2 OLAP Server Architectures»
  3. Pendse, Nigel. [olapreport.com/origins.htm The origins of today’s OLAP products] (англ.). OLAP Report (20 July 2002). — «1992. Essbase launched. First well-marketed OLAP product, which went on to become the market leading OLAP server by 1997.»  Проверено 3 января 2011. [dssresources.com/papers/features/pendse10062002.html Архивировано из первоисточника 6 октября 2002].
  4. Codd, Edgar F. Providing OLAP to User-Analysts: An IT Mandate // Computerworld. — Т. 27, № 30. — ISSN [www.sigla.ru/table.jsp?f=8&t=3&v0=0010-4841&f=1003&t=1&v1=&f=4&t=2&v2=&f=21&t=3&v3=&f=1016&t=3&v4=&f=1016&t=3&v5=&bf=4&b=&d=0&ys=&ye=&lng=&ft=&mt=&dt=&vol=&pt=&iss=&ps=&pe=&tr=&tro=&cc=UNION&i=1&v=tagged&s=0&ss=0&st=0&i18n=ru&rlf=&psz=20&bs=20&ce=hJfuypee8JzzufeGmImYYIpZKRJeeOeeWGJIZRrRRrdmtdeee88NJJJJpeeefTJ3peKJJ3UWWPtzzzzzzzzzzzzzzzzzbzzvzzpy5zzjzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzztzzzzzzzbzzzzzzzzzzzzzzzzzzzzzzzzzzzvzzzzzzyeyTjkDnyHzTuueKZePz9decyzzLzzzL*.c8.NzrGJJvufeeeeeJheeyzjeeeeJh*peeeeKJJJJJJJJJJmjHvOJJJJJJJJJfeeeieeeeSJJJJJSJJJ3TeIJJJJ3..E.UEAcyhxD.eeeeeuzzzLJJJJ5.e8JJJheeeeeeeeeeeeyeeK3JJJJJJJJ*s7defeeeeeeeeeeeeeeeeeeeeeeeeeSJJJJJJJJZIJJzzz1..6LJJJJJJtJJZ4....EK*&debug=false 0010-4841]. [www.minet.uni-jena.de/dbis/lehre/ss2005/sem_dwh/lit/Cod93.pdf Архивировано] из первоисточника 11 ноября 1998.
  5. Whitehorn, Mark [www.theregister.co.uk/2007/01/26/olap_speed/ OLAP and the need for SPEED. In another dimension] (англ.). Developer. The Register (26 January 2007). — «After the paper was published it gained some notoriety because Codd had undertaken consulting work for Arbour Software (now Hyperion). This was unfortunate because the paper actively discussed one of Arbour’s products, Essbase. In the end, Computerworld took the unusual step of retracting the article; nevertheless this paper clearly marks the start of the term’s use»  Проверено 11 октября 2011. [www.webcitation.org/65AkQLroI Архивировано из первоисточника 3 февраля 2012].
  6. Krzysztof J. Cios, Data Mining: A Knowledge Discovery Approach, Springer 2007, ISBN 978-0-387-33333-5 — Page 127 «4.5 Example Commercial OLAP Tools»

Ссылки

  • [citforum.ru/consulting/BI/xolap_classification/ Классификация OLAP-систем вида xOLAP], А. Н. Андреев
  • [www.olapreport.com OLAP Report] Информация об OLAP продуктах

Отрывок, характеризующий OLAP

Высокий малый, не замечая исчезновения своего врага целовальника, размахивая оголенной рукой, не переставал говорить, обращая тем на себя общее внимание. На него то преимущественно жался народ, предполагая от него получить разрешение занимавших всех вопросов.
– Он покажи порядок, закон покажи, на то начальство поставлено! Так ли я говорю, православные? – говорил высокий малый, чуть заметно улыбаясь.
– Он думает, и начальства нет? Разве без начальства можно? А то грабить то мало ли их.
– Что пустое говорить! – отзывалось в толпе. – Как же, так и бросят Москву то! Тебе на смех сказали, а ты и поверил. Мало ли войсков наших идет. Так его и пустили! На то начальство. Вон послушай, что народ то бает, – говорили, указывая на высокого малого.
У стены Китай города другая небольшая кучка людей окружала человека в фризовой шинели, держащего в руках бумагу.
– Указ, указ читают! Указ читают! – послышалось в толпе, и народ хлынул к чтецу.
Человек в фризовой шинели читал афишку от 31 го августа. Когда толпа окружила его, он как бы смутился, но на требование высокого малого, протеснившегося до него, он с легким дрожанием в голосе начал читать афишку сначала.
«Я завтра рано еду к светлейшему князю, – читал он (светлеющему! – торжественно, улыбаясь ртом и хмуря брови, повторил высокий малый), – чтобы с ним переговорить, действовать и помогать войскам истреблять злодеев; станем и мы из них дух… – продолжал чтец и остановился („Видал?“ – победоносно прокричал малый. – Он тебе всю дистанцию развяжет…»)… – искоренять и этих гостей к черту отправлять; я приеду назад к обеду, и примемся за дело, сделаем, доделаем и злодеев отделаем».
Последние слова были прочтены чтецом в совершенном молчании. Высокий малый грустно опустил голову. Очевидно было, что никто не понял этих последних слов. В особенности слова: «я приеду завтра к обеду», видимо, даже огорчили и чтеца и слушателей. Понимание народа было настроено на высокий лад, а это было слишком просто и ненужно понятно; это было то самое, что каждый из них мог бы сказать и что поэтому не мог говорить указ, исходящий от высшей власти.
Все стояли в унылом молчании. Высокий малый водил губами и пошатывался.
– У него спросить бы!.. Это сам и есть?.. Как же, успросил!.. А то что ж… Он укажет… – вдруг послышалось в задних рядах толпы, и общее внимание обратилось на выезжавшие на площадь дрожки полицеймейстера, сопутствуемого двумя конными драгунами.
Полицеймейстер, ездивший в это утро по приказанию графа сжигать барки и, по случаю этого поручения, выручивший большую сумму денег, находившуюся у него в эту минуту в кармане, увидав двинувшуюся к нему толпу людей, приказал кучеру остановиться.
– Что за народ? – крикнул он на людей, разрозненно и робко приближавшихся к дрожкам. – Что за народ? Я вас спрашиваю? – повторил полицеймейстер, не получавший ответа.
– Они, ваше благородие, – сказал приказный во фризовой шинели, – они, ваше высокородие, по объявлению сиятельнейшего графа, не щадя живота, желали послужить, а не то чтобы бунт какой, как сказано от сиятельнейшего графа…
– Граф не уехал, он здесь, и об вас распоряжение будет, – сказал полицеймейстер. – Пошел! – сказал он кучеру. Толпа остановилась, скучиваясь около тех, которые слышали то, что сказало начальство, и глядя на отъезжающие дрожки.
Полицеймейстер в это время испуганно оглянулся, что то сказал кучеру, и лошади его поехали быстрее.
– Обман, ребята! Веди к самому! – крикнул голос высокого малого. – Не пущай, ребята! Пущай отчет подаст! Держи! – закричали голоса, и народ бегом бросился за дрожками.
Толпа за полицеймейстером с шумным говором направилась на Лубянку.
– Что ж, господа да купцы повыехали, а мы за то и пропадаем? Что ж, мы собаки, что ль! – слышалось чаще в толпе.


Вечером 1 го сентября, после своего свидания с Кутузовым, граф Растопчин, огорченный и оскорбленный тем, что его не пригласили на военный совет, что Кутузов не обращал никакого внимания на его предложение принять участие в защите столицы, и удивленный новым открывшимся ему в лагере взглядом, при котором вопрос о спокойствии столицы и о патриотическом ее настроении оказывался не только второстепенным, но совершенно ненужным и ничтожным, – огорченный, оскорбленный и удивленный всем этим, граф Растопчин вернулся в Москву. Поужинав, граф, не раздеваясь, прилег на канапе и в первом часу был разбужен курьером, который привез ему письмо от Кутузова. В письме говорилось, что так как войска отступают на Рязанскую дорогу за Москву, то не угодно ли графу выслать полицейских чиновников, для проведения войск через город. Известие это не было новостью для Растопчина. Не только со вчерашнего свиданья с Кутузовым на Поклонной горе, но и с самого Бородинского сражения, когда все приезжавшие в Москву генералы в один голос говорили, что нельзя дать еще сражения, и когда с разрешения графа каждую ночь уже вывозили казенное имущество и жители до половины повыехали, – граф Растопчин знал, что Москва будет оставлена; но тем не менее известие это, сообщенное в форме простой записки с приказанием от Кутузова и полученное ночью, во время первого сна, удивило и раздражило графа.
Впоследствии, объясняя свою деятельность за это время, граф Растопчин в своих записках несколько раз писал, что у него тогда было две важные цели: De maintenir la tranquillite a Moscou et d'en faire partir les habitants. [Сохранить спокойствие в Москве и выпроводить из нее жителей.] Если допустить эту двоякую цель, всякое действие Растопчина оказывается безукоризненным. Для чего не вывезена московская святыня, оружие, патроны, порох, запасы хлеба, для чего тысячи жителей обмануты тем, что Москву не сдадут, и разорены? – Для того, чтобы соблюсти спокойствие в столице, отвечает объяснение графа Растопчина. Для чего вывозились кипы ненужных бумаг из присутственных мест и шар Леппиха и другие предметы? – Для того, чтобы оставить город пустым, отвечает объяснение графа Растопчина. Стоит только допустить, что что нибудь угрожало народному спокойствию, и всякое действие становится оправданным.
Все ужасы террора основывались только на заботе о народном спокойствии.
На чем же основывался страх графа Растопчина о народном спокойствии в Москве в 1812 году? Какая причина была предполагать в городе склонность к возмущению? Жители уезжали, войска, отступая, наполняли Москву. Почему должен был вследствие этого бунтовать народ?
Не только в Москве, но во всей России при вступлении неприятеля не произошло ничего похожего на возмущение. 1 го, 2 го сентября более десяти тысяч людей оставалось в Москве, и, кроме толпы, собравшейся на дворе главнокомандующего и привлеченной им самим, – ничего не было. Очевидно, что еще менее надо было ожидать волнения в народе, ежели бы после Бородинского сражения, когда оставление Москвы стало очевидно, или, по крайней мере, вероятно, – ежели бы тогда вместо того, чтобы волновать народ раздачей оружия и афишами, Растопчин принял меры к вывозу всей святыни, пороху, зарядов и денег и прямо объявил бы народу, что город оставляется.
Растопчин, пылкий, сангвинический человек, всегда вращавшийся в высших кругах администрации, хотя в с патриотическим чувством, не имел ни малейшего понятия о том народе, которым он думал управлять. С самого начала вступления неприятеля в Смоленск Растопчин в воображении своем составил для себя роль руководителя народного чувства – сердца России. Ему не только казалось (как это кажется каждому администратору), что он управлял внешними действиями жителей Москвы, но ему казалось, что он руководил их настроением посредством своих воззваний и афиш, писанных тем ёрническим языком, который в своей среде презирает народ и которого он не понимает, когда слышит его сверху. Красивая роль руководителя народного чувства так понравилась Растопчину, он так сжился с нею, что необходимость выйти из этой роли, необходимость оставления Москвы без всякого героического эффекта застала его врасплох, и он вдруг потерял из под ног почву, на которой стоял, в решительно не знал, что ему делать. Он хотя и знал, но не верил всею душою до последней минуты в оставление Москвы и ничего не делал с этой целью. Жители выезжали против его желания. Ежели вывозили присутственные места, то только по требованию чиновников, с которыми неохотно соглашался граф. Сам же он был занят только тою ролью, которую он для себя сделал. Как это часто бывает с людьми, одаренными пылким воображением, он знал уже давно, что Москву оставят, но знал только по рассуждению, но всей душой не верил в это, не перенесся воображением в это новое положение.