2010-07-08 2 views
1

Каким образом доступ к данным OLAP может быть быстрее, чем OLTP?Что такое OLAP?

+1

Первые пара абзацев на странице wiki http://en.wikipedia.org/wiki/Online_analytical_processing дают обзор. Пожалуйста, уточните вопрос, чтобы сказать, какие аспекты вы не понимаете. –

+0

Спасибо, pete за ссылку. – 2010-07-08 13:57:39

ответ

5

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

1

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

http://en.wikipedia.org/wiki/Online_analytical_processing

5

OLAP в основном предназначен для хранения данных только для чтения. Классический OLAP - это хранилище данных или Data Mart, и мы работаем либо с OLAP-кубом. Концептуально вы можете думать о кубе OLAP, как о большой сводной таблице Excel. Это структура со сторонами (размерами) и пересечениями данных (фактами), в которых нет НИКАКИХ ОБЪЕДИНЕНИЙ.

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

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

Эти агрегаты могут быть рассчитаны во время запроса или их можно предварительно агрегировать и сохранить при загрузке куба. Во время запроса кубы OLAP используют комбинацию накопленных и рассчитанных агрегатов. В отличие от OLTP-индексов, можно использовать агрегации PARTIAL.

В дополнение к этому большинство кубов OLAP имеют расширенное кэширование, установленное по умолчанию, и большинство из них также позволяют очень детально настраивать кеш (предварительная загрузка).

Еще одно соображение заключается в том, что относительно недавно BI (или OLAP) в памяти предлагает все больше и больше поставщиков. Очевидно, что если больше данных OLAP находится в памяти, тогда полученные запросы будут EVEN быстрее, чем традиционные OLAP. Чтобы увидеть пример куба в памяти, взгляните на мой slide deck о SQL Server 2012 BISM.

Смежные вопросы